def run_minuit(ObjectName,Case,fitNum): Object = cfp.Object(ObjectName) Object.InitiateCase(Case) if Object.fitMethod.lower() != 'minuit': raise NameError("Fit method initiated %s is not Minuit" % Object.fitMethod) Object.InitiateFitNum(fitNum) x = cfp.chainPrep(Object) tmcmc.runminuit.RunMinuit(Object.FuncName,x.ObservedData,\ x.ModelParams,x.NuisanceData,x.BoundParams,1e0,Object.OutFitFile)
def run_explore(ObjectName,Case,param,nsteps): Object = cfp.Object(ObjectName) Object.InitiateCase(Case) if Object.fitMethod.lower() != 'mcmc': raise NameError("given fit method (%s) is not MCMC" % Object.fitMethod) x = cfp.chainPrep(Object) x.setForExplore(param) OutFile = Object.casePath+Object.name+'.'+Object.fitID+'.'+param+'.expmcmc' tmcmc.mcmc.mcmc_mh_adapt(nsteps,x.FuncName,\ x.ObservedData,\ x.ModelParams,\ x.NuisanceData,\ x.BoundParams,\ False,True,\ OutFile,True)
def run_post_mcmc(ObjectName,Case,fitNum,Stage): Object = cfp.Object(ObjectName) Object.InitiateCase(Case) Object.InitiateFitNum(fitNum) Object.InitiateData() x = cfp.chainPrep(Object) # cropping if Stage == 0 or Stage == 1: print 'Cropping MCMC' tmcmc.iopostmcmc.cropMCMC(Object.OutFitFile,Object.CroppedFileName,0.05,1e5) # auto-correlation & statistics if Stage == 0 or Stage == 2: print 'Autocorrelation Stats' lowtol = 0.01 jmax = 5000 makePlotsFlag = True res = 1 tmcmc.postmcmc.autocorMCMC(Object.CroppedFileName,lowtol,jmax,\ Object.AutoCorStatsFile,makePlotsFlag,silent=False,\ ftag=Object.AutoCorFigRoot,resolution=res,dynamic=True) # print trace figures if Stage == 0 or Stage == 3: print 'Trace Plots' tmcmc.postmcmc.plotChain(Object.CroppedFileName, ftag=Object.TracePlotRoot) #covariance statistics if Stage == 0 or Stage == 4: print 'Covariance Stats' tmcmc.postmcmc.covcorStats(Object.CroppedFileName,Object.CovCorStatsRoot) # get lowest chisq if Stage == 0 or Stage == 5: print 'Lowest Chisq and Errors' tmcmc.iomcmc.WriteLowestChisq(Object.CroppedFileName,Object.ModelParams,\ Object.LowestChiSQFile,True) tmcmc.iopostmcmc.printErrors(Object.CroppedFileName,Object.LowestChiSQFile,\ Object.ParErrorFile)
def run_mcmc(ObjectName, Case, fitNum, nsteps): Object = cfp.Object(ObjectName) Object.InitiateCase(Case) Object.InitiateFitNum(fitNum) Object.InitiateData() x = cfp.chainPrep(Object) OutFile = Object.OutFitFile tmcmc.mcmc.mcmc_mh_adapt( nsteps, Object.FuncName, Object.ObservedData, x.ModelParams, x.NuisanceData, Object.BoundParams, False, False, OutFile, True, )