# theFitter.getWorkSpace().var('fMU').setConstant(True) # theFitter.getWorkSpace().var('fSU').setConstant(True) # theFitter.getWorkSpace().var('nDiboson').setConstant() #theFitter.getWorkSpace().var('nTTbar').setConstant() # theFitter.getWorkSpace().var('nSingleTop').setConstant() # theFitter.getWorkSpace().var('nZjets').setConstant() #theFitter.getWorkSpace().var('nWjets').setConstant() theFitter.getWorkSpace().var('nQCD').setConstant() if (opts.Nj == 3): theFitter.getWorkSpace().var('nTTbar').setConstant() if (opts.mH <= 300) and (opts.Nj == 2): theFitter.getWorkSpace().var('nTTbar').setConstant() theFitter.loadData() theFitter.resetYields() if fitterPars.includeMuons: theFitter.getWorkSpace().var('nQCD').setConstant() fr = theFitter.fit() tries = 1 ndf = Long(fr.floatParsFinal().getSize()-5) while (fr.covQual() < 2) and (tries < 3): print "Fit didn't converge well. Will try again." # theFitter.getWorkSpace().var('nDiboson').setConstant() theFitter.getWorkSpace().var('nTTbar').setConstant() # theFitter.getWorkSpace().var('nSingleTop').setConstant() theFitter.getWorkSpace().var('nQCD').setConstant() # theFitter.getWorkSpace().var('nZjets').setConstant()
parser.add_option("--NP", action="store_true", dest="NP", default=False, help="put NP on the plot") parser.add_option("--Err", dest="Err", default=-1.0, type="float", help="error band level") (opts, args) = parser.parse_args() import pyroot_logon config = __import__(opts.modeConfig) from ROOT import TFile, Double, Long, gROOT, TCanvas ## gROOT.ProcessLine('.L RooWjjFitterParams.h+'); gROOT.ProcessLine(".L EffTableReader.cc+") gROOT.ProcessLine(".L EffTableLoader.cc+") gROOT.ProcessLine(".L RooWjjFitterUtils.cc+") gROOT.ProcessLine(".L RooWjjMjjFitter.cc+") from ROOT import RooWjjMjjFitter, RooFit, RooMsgService, RooArgList, RooArgSet from math import sqrt RooMsgService.instance().setGlobalKillBelow(RooFit.WARNING) fitterPars = config.theConfig(opts.Nj, opts.mcdir, opts.startingFile, opts.toydataFile) theFitter = RooWjjMjjFitter(fitterPars) theFitter.makeFitter(False) theFitter.loadData() theFitter.loadParameters(opts.startingFile) (frames, cans) = plot2BodyDist(theFitter, fitterPars, 0, 3, opts.Err, opts.NP)
help='error band level') (opts, args) = parser.parse_args() import pyroot_logon config = __import__(opts.modeConfig) from ROOT import TFile, Double, Long, gROOT, TCanvas ## gROOT.ProcessLine('.L RooWjjFitterParams.h+'); gROOT.ProcessLine('.L EffTableReader.cc+') gROOT.ProcessLine('.L EffTableLoader.cc+') gROOT.ProcessLine('.L RooWjjFitterUtils.cc+') gROOT.ProcessLine('.L RooWjjMjjFitter.cc+') from ROOT import RooWjjMjjFitter, RooFit, \ RooMsgService, RooArgList, RooArgSet from math import sqrt RooMsgService.instance().setGlobalKillBelow(RooFit.WARNING) fitterPars = config.theConfig(opts.Nj, opts.mcdir, opts.startingFile, opts.toydataFile ) theFitter = RooWjjMjjFitter(fitterPars) theFitter.makeFitter(False) theFitter.loadData() theFitter.loadParameters(opts.startingFile) (frames, cans) = plot2BodyDist(theFitter, fitterPars, 0, 3, opts.Err, opts.NP)