Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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,
    )