示例#1
0
normG.GetYaxis().SetTitle("(N+dN)/N")
normG.Draw("ALP")
print "Check the Errors Look Sensible -> plot saved to %s/normErrors_%s" % (
    os.path.dirname(options.tfileName), os.path.basename(options.tfileName))
can.SaveAs(("%s/normErrors_%s.pdf" % (os.path.dirname(
    options.tfileName), os.path.basename(options.tfileName))).replace(
        '.root', ''))

if not options.includeVBF: nBind_vbf = 0
if not options.includeVH: nBind_vh = 0

# can make a special "global toy" set of datacards
toymaker = 0
if options.throwGlobalToy:
    if not options.throwAsimov:
        toymaker = CombinedToyMaker(options.inputmassfacws)
    else:
        toymaker = CombinedToyMaker(
            "")  # Dont need mass-fact workspace for asimov cards
    if not options.inputpdfworkspace:
        toymaker.createPdfs(options.treefilename, options.outputpdfworkspace,
                            options.expSig)
    else:
        toymaker.loadPdfs(options.inputpdfworkspace, options.expSig)

    if not options.throwAsimov:
        toymaker.plotData(cardOutDir, 160, 200)
        toymaker.genData(cardOutDir + "/" + options.outputmassfactoy,
                         options.expSig)
        toymaker.plotToy(cardOutDir, 160, 95, options.expSig)
        toymaker.saveToyWorkspace(cardOutDir + "/testToyWS.root")
  err=scalingErrors[i] 
  normG.SetPoint(i,genMasses[i],err)
normG.SetMarkerStyle(20)
normG.GetXaxis().SetTitle("mH")
normG.GetYaxis().SetTitle("(N+dN)/N")
normG.Draw("ALP")
print "Check the Errors Look Sensible -> plot saved to ./%s/normErrors_%s"%(os.path.dirname(options.tfileName),os.path.basename(options.tfileName))
can.SaveAs(("./%s/normErrors_%s.pdf"%(os.path.dirname(options.tfileName),os.path.basename(options.tfileName))).replace('.root',''))

if not options.includeVBF: nBind_vbf=0
if not options.includeVH:  nBind_vh=0

# can make a special "global toy" set of datacards
toymaker=0
if options.throwGlobalToy:
  	if not options.throwAsimov: toymaker = CombinedToyMaker(options.inputmassfacws)
  	else: toymaker = CombinedToyMaker("")	# Dont need mass-fact workspace for asimov cards
	if not options.inputpdfworkspace: 
		toymaker.createPdfs(options.treefilename,options.outputpdfworkspace,options.expSig)
	else:
		toymaker.loadPdfs(options.inputpdfworkspace,options.expSig)
	
	
	if not options.throwAsimov:
		toymaker.plotData(cardOutDir,160,200)
		toymaker.genData(cardOutDir+"/"+options.outputmassfactoy,options.expSig)
		toymaker.plotToy(cardOutDir,160,95,options.expSig)
		toymaker.saveToyWorkspace(cardOutDir+"/testToyWS.root")
	ROOT.gROOT.ProcessLine(".L python/tmvaLoader.C+")
	from ROOT import tmvaLoader
	g_tmva = tmvaLoader(options.tmvaweightsfolder+"/TMVAClassification_BDT%sMIT.weights.xml"%options.bdtType,options.bdtType)
示例#3
0
normG.GetXaxis().SetTitle("mH")
normG.GetYaxis().SetTitle("(N+dN)/N")
normG.Draw("ALP")
print "Check the Errors Look Sensible -> plot saved to normErrors_%s"%(options.tfileName)
can.SaveAs("normErrors_%s.pdf"%options.tfileName)


# can make a special "global toy" set of datacards
toymaker=0
if options.throwGlobalToy:
  if not options.inputpdfworkspace: 
    backgrounddiphotonmvafile=ROOT.TFile(options.diphotonmvahistfilename)
    signaldiphotonmvafile=ROOT.TFile(options.signalfilename)
  #toymaker = BdtToyMaker(options.tfileName,"data_pow_model_150.0")
  #toymaker.fitData()
  toymaker = CombinedToyMaker(options.inputmassfacws)

  if options.inputpdfworkspace:
    if not os.path.isfile(options.inputpdfworkspace): 
	sys.exit("No file named %s, generate it first (remove option)"%options.inputpdfworkspace)
    toymaker.loadKeysPdf(options.inputpdfworkspace)
    #if options.expSig>0: toymaker.loadKeysPdf(backgroundpdfws,1)
    #else: toymaker.loadKeysPdf(backgroundpdfws,0)
  else: 
    backgrounddiphotonmvahist=backgrounddiphotonmvafile.Get(options.diphotonmvahisttreename)
    print 'Creating keys pdf from ', backgrounddiphotonmvahist.GetName(), ' with ', backgrounddiphotonmvahist.GetEntries(), ' entries '
    toymaker.createKeysPdf(backgrounddiphotonmvahist)	
    #if options.expSig>0: 
    #  signaldiphotonmvahist=signaldiphotonmvafile.Get(options.signaltreename)
    #  print 'Creating keys pdf from ', signaldiphotonmvahist.GetName(), ' with ', signaldiphotonmvahist.GetEntries(), ' entries '
    #  toymaker.createSigHistPdf(signaldiphotonmvahist)
示例#4
0
#treefilename
#randomizeBackground
#datatreename="dataTree"
#signatreename="sigTree"

import ROOT
from CombinedToyMaker import CombinedToyMaker

inputmassfac = "/vols/cms02/h2g/latest_workspace/CMS-HGG_massfacmva-13-04-2012.root"
inputfullmva = "/vols/cms02/h2g/latest_workspace/CMS-HGG_jan16reload_fullmva.root_interpolated.root"
inputtrees = "/vols/cms02/h2g/latest_workspace/Tree_CMS-HGG_jan16reload_treesV2.root"
outputPdfWs = "combToyWS.root"
outputmassfacws = "massfactoy.root"

expSig = 0.

toymaker = CombinedToyMaker(inputmassfac)
#toymaker.createPdfs(inputtrees,outputPdfWs,expSig)
toymaker.loadPdfs(outputPdfWs, expSig)
toymaker.plotData("./", 160, 200)

toymaker.genData(outputmassfacws, expSig)
toymaker.plotToy("./", 160, 95, expSig)

flist = toymaker.returnWindowToyData(125, 0.02)

outTest = open("outTest.txt", 'w')
print 'elements in list: ', len(flist)
for el in flist:
    outTest.write("%1.4f    %+0.5f \n" % (el[0], el[1]))
示例#5
0
#randomizeBackground
#datatreename="dataTree"
#signatreename="sigTree"


import ROOT
from CombinedToyMaker import CombinedToyMaker

inputmassfac = "/vols/cms02/h2g/latest_workspace/CMS-HGG_massfacmva-13-04-2012.root"
inputfullmva = "/vols/cms02/h2g/latest_workspace/CMS-HGG_jan16reload_fullmva.root_interpolated.root"
inputtrees     = "/vols/cms02/h2g/latest_workspace/Tree_CMS-HGG_jan16reload_treesV2.root"
outputPdfWs    = "combToyWS.root"
outputmassfacws = "massfactoy.root"

expSig=0.

toymaker = CombinedToyMaker(inputmassfac)
#toymaker.createPdfs(inputtrees,outputPdfWs,expSig) 
toymaker.loadPdfs(outputPdfWs,expSig)
toymaker.plotData("./",160,200)

toymaker.genData(outputmassfacws,expSig)
toymaker.plotToy("./",160,95,expSig)

flist = toymaker.returnWindowToyData(125,0.02)

outTest = open("outTest.txt",'w')
print 'elements in list: ', len(flist)
for el in flist:
  outTest.write("%1.4f    %+0.5f \n"%(el[0],el[1]))