qcdTreeMiter = Miter() eventCountMiter = Miter() for dataset in qcd_datasets: treeNode,produceTree = genTree( g=g,input = nullInput, nodeName = "tree-%s" % dataset[1], edgeName = "generateTree-%s" % dataset[1], crabCfg = "/uscms_data/d2/meloam/s8workflow/crab_mc.cfg", cmsswCfg = "/uscms_data/d2/meloam/s8workflow/cmssw_mc.py", dataset = dataset[0], overridepath = dataset[0], overridefiles= "s8_trees.txt") #qcdTreeNodes[ dataset[1] ] = treeNode qcdTreeMiter.add( treeNode, dataset = dataset[1] ) for dataset in ttbar_datasets: treeNode,produceTree = genTree( g=g,input = nullInput, nodeName = "tree-%s" % dataset[1], edgeName = "generateTree-%s" % dataset[1], crabCfg = "/uscms_data/d2/meloam/s8workflow/crab_mc.cfg", cmsswCfg = "/uscms_data/d2/meloam/s8workflow/cmssw_mc.py", dataset = dataset[0], overridepath = dataset[0], overridefiles= "s8_trees.txt") #qcdTreeNodes[ dataset[1] ] = treeNode ttbarTreeMiter.add( treeNode, dataset = dataset[1] )
dijet10QCDMiter = Miter() for dataset in exports["qcd"].iterMany(): for bin in jet_bins: for opoint in operating_points: step_postfix = "-%s-%s-%s-djet10mc" % (dataset[1]["dataset"], bin[0], opoint) currNode = run_monitor_input_helper( g, jet_pt=bin[1], tag=opoint, fileKey=dataset[1]["dataset"], trigger_name="HLT_BTagMu_DiJet10U", step_postfix=step_postfix, muon_pt="6..", input_files=dataset[0], ) dijet10QCDMiter.add(currNode, bin=bin[0], dataset=dataset[1]["dataset"], opoint=opoint) singleMonitorMiter = Miter() rootQCDMiter = Miter() # merge the dijet10 QCD into one guy for currmerge in dijet10QCDMiter.iterGrouped("bin", "opoint"): step_postfix = "-%s-%s" % (currmerge.vals[0][1]["bin"], currmerge.vals[0][1]["opoint"]) mergeNode = merge_with_root_qcd_helper( g, "root-qcd" + step_postfix, step_postfix, inputNodes=currmerge.getValues(), triggerName="hltjet10u", lumiMiter=exports["luminosityMiter"], ) rootQCDMiter.add(mergeNode, bin=currmerge.vals[0][1]["bin"], opoint=currmerge.vals[0][1]["opoint"]) singleMonitorMiter.add(
] trigger_map = { 'hltdijet20' : [ "HLT_BTagMu_DiJet20_Mu5", "hltdijet20", "147196", "148818","HLT_BTagMu_DiJet20_Mu5", 'RUN2011B' ], 'hltdijet40' : [ "HLT_BTagMu_DiJet40_Mu5", "hltdijet40", "147196", "149294","HLT_BTagMu_DiJet40_Mu5" , 'RUN2011B' ], 'hltdijet70' : [ "HLT_BTagMu_DiJet70_Mu5", "hltdijet70", "148819", "149294","HLT_BTagMu_DiJet70_Mu5" , 'RUN2011B' ], 'hltdijet110': [ "HLT_BTagMu_DiJet110_Mu5","hltdijet110","146428", "147116","HLT_BTagMu_DiJet110_Mu5" , 'RUN2011B' ] } dataTriggerMiter = Miter() dataTriggerMiter.add( trigger_map['hltdijet20'], bin="30..40" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="40..50" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="50..60" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="50..60" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="60..70" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="60..70" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="70..80" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="70..80" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="80..90" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="80..90" ) dataTriggerMiter.add( trigger_map['hltdijet70'], bin="80..90" )
#qcdTreeNodes = {} #eventCountNodes = {} qcdTreeMiter = Miter() eventCountMiter = Miter() for dataset in qcd_datasets: treeNode,produceTree = genTree( g=g,input = nullInput, nodeName = "tree-%s" % dataset[1], edgeName = "generateTree-%s" % dataset[1], crabCfg = "/uscms_data/d2/meloam/s8workflow/crab_mc.cfg", cmsswCfg = "/uscms_data/d2/meloam/s8workflow/cmssw_mc.py", dataset = dataset[0] ) #qcdTreeNodes[ dataset[1] ] = treeNode qcdTreeMiter.add( treeNode, dataset = dataset[1] ) # # we've generated the trees, add a step to extract the luminosities # eventNode = Node( name = "eventCounts-%s" % (dataset[1]) ) # will return the crab workdir crabWorkDir = BindCrabWorkDir( produceTree ) # will return the following command line substituted in with the late-bound values commandLine = BindSubstitutes( "crab -report -continue %s | grep 'Total Events read: ' | awk '{print $4;}' > events.txt" ,[ crabWorkDir ] ) getEvents = LocalScriptEdge.LocalScriptEdge( name = "getEvent-%s" % dataset[1], command = commandLine, output = "events.txt", noEmptyFiles=True)
jet_bins_mc = [ [ "20to" , "20..", "15", "210"] ] jet_bins_data = [ [ "20to50" , "20..50","15","55" ], [ "50to80" , "50..80","45","85" ], [ "80to120", "80..120","75","125" ], [ "120to" , "120..","115","210" ], ] dataTriggerMiter = Miter() dataTriggerMiter.add( trigger_map['hltdijet20'], bin="20..50" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="50..80" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="50..80" ) dataTriggerMiter.add( trigger_map['hltdijet20'], bin="80..120" ) dataTriggerMiter.add( trigger_map['hltdijet40'], bin="80..120" ) dataTriggerMiter.add( trigger_map['hltdijet70'], bin="80..120" ) dataTriggerMiter.add( trigger_map['hltdijet110'], bin="120.." ) singleDataMonitorNode = Node( "singleDataMonitor" ) g.addNode( singleDataMonitorNode ) singleDataMonitor = Miter() def addSingleMonitor( node, **kwargs ): global singlaDataMonitorNode, singleDataMonitor, g
qcdTreeMiter = Miter() eventCountMiter = Miter() for dataset in qcd_datasets: treeNode, produceTree = genTree( g=g, input=nullInput, nodeName="tree-%s" % dataset[1], edgeName="generateTree-%s" % dataset[1], crabCfg="/uscms_data/d2/meloam/s8workflow/crab_mc.cfg", cmsswCfg="/uscms_data/d2/meloam/s8workflow/cmssw_mc.py", dataset=dataset[0], ) # qcdTreeNodes[ dataset[1] ] = treeNode qcdTreeMiter.add(treeNode, dataset=dataset[1]) # # we've generated the trees, add a step to extract the luminosities # eventNode = Node(name="eventCounts-%s" % (dataset[1])) # will return the crab workdir crabWorkDir = BindCrabWorkDir(produceTree) # will return the following command line substituted in with the late-bound values commandLine = BindSubstitutes( "crab -report -continue %s | grep 'Total Events read: ' | awk '{print $4;}' > events.txt", [crabWorkDir] ) getEvents = LocalScriptEdge.LocalScriptEdge( name="getEvent-%s" % dataset[1], command=commandLine, output="events.txt", noEmptyFiles=True ) g.addNode(eventNode)
# Run s8_monitor_input over QCD without skipping events # dijet10QCDMiter = Miter() for dataset in exports['qcd'].iterMany(): for bin in jet_bins: for opoint in operating_points: step_postfix = "-%s-%s-%s-djet10mc" % (dataset[1]['dataset'],bin[0],opoint) currNode = run_monitor_input_helper( g, jet_pt = bin[1], tag = opoint, fileKey = dataset[1]['dataset'], trigger_name = "HLT_BTagMu_DiJet10U", step_postfix = step_postfix, muon_pt = "6..", input_files = dataset[0] ) dijet10QCDMiter.add( currNode, bin = bin[0], dataset=dataset[1]['dataset'], opoint=opoint ) singleMonitorMiter = Miter() rootQCDMiter = Miter() # merge the dijet10 QCD into one guy for currmerge in dijet10QCDMiter.iterGrouped( 'bin', 'opoint' ): step_postfix = "-%s-%s" % ( currmerge.vals[0][1]['bin'], currmerge.vals[0][1]['opoint'] ) mergeNode = merge_with_root_qcd_helper( g, "root-qcd" + step_postfix, step_postfix, inputNodes = currmerge.getValues(), triggerName = "hltjet10u", lumiMiter = exports['luminosityMiter'] ) rootQCDMiter.add( mergeNode, bin = currmerge.vals[0][1]['bin'], opoint = currmerge.vals[0][1]['opoint'] ) singleMonitorMiter.add( mergeNode,\ trigger = 'hltdijet10u',
trigger_map = { 'hltdijet20u' : [ "HLT_BTagMu_DiJet20U*","hltdijet20u", "147196", "148818","HLT_BTagMu_DiJet20U", 'RUN2010B' ], 'hltdijet20u-fullrange' : [ "HLT_BTagMu_DiJet20U*","hltdijet20u-fullrange", "147196", "149294","HLT_BTagMu_DiJet20U" , 'RUN2010B' ], 'hltdijet30u' : [ "HLT_BTagMu_DiJet30U*","hltdijet30u", "148819", "149294","HLT_BTagMu_DiJet30U" , 'RUN2010B' ], 'hltjet10u' : [ "HLT_BTagMu_Jet10U" ,"hltjet10u" , "141961", "142039","HLT_BTagMu_Jet10U" , 'RUN2010A' ], 'hltjet20u' : [ "HLT_BTagMu_Jet20U" ,"hltjet20u" , "146428", "147116","HLT_BTagMu_Jet20U" , 'RUN2010B' ] } dataTriggerMiter = Miter() dataTriggerMiter.add( trigger_map['hltjet10u'], bin = "40..60" ) dataTriggerMiter.add( trigger_map['hltjet20u'], bin = "40..60" ) dataTriggerMiter.add( trigger_map['hltjet10u'], bin = "60..80" ) dataTriggerMiter.add( trigger_map['hltjet20u'], bin = "60..80" ) dataTriggerMiter.add( trigger_map['hltdijet20u-fullrange'], bin = "60..80" ) dataTriggerMiter.add( trigger_map['hltdijet20u'], bin = "60..80" ) dataTriggerMiter.add( trigger_map['hltjet10u'], bin = "80.." ) dataTriggerMiter.add( trigger_map['hltjet20u'], bin = "80.." ) dataTriggerMiter.add( trigger_map['hltdijet20u'], bin = "80.." ) dataTriggerMiter.add( trigger_map['hltdijet30u'], bin = "80.." ) #dataTriggerMiter.add( trigger_map['hltjet10u'], bin = "140.." )
if simple_mode: operating_points = ["SSVHEM", "TCHEM"] pass jet_bins_mc = [["20to", "20..", "15", "210"]] jet_bins_data = [ ["20to50", "20..50", "15", "55"], ["50to80", "50..80", "45", "85"], ["80to120", "80..120", "75", "125"], ["120to", "120..", "115", "210"], ] dataTriggerMiter = Miter() dataTriggerMiter.add(trigger_map["hltdijet20"], bin="20..50") dataTriggerMiter.add(trigger_map["hltdijet20"], bin="50..80") dataTriggerMiter.add(trigger_map["hltdijet40"], bin="50..80") dataTriggerMiter.add(trigger_map["hltdijet20"], bin="80..120") dataTriggerMiter.add(trigger_map["hltdijet40"], bin="80..120") dataTriggerMiter.add(trigger_map["hltdijet70"], bin="80..120") dataTriggerMiter.add(trigger_map["hltdijet110"], bin="120..") singleDataMonitorNode = Node("singleDataMonitor") g.addNode(singleDataMonitorNode) singleDataMonitor = Miter()
g.addGraph( treeGraph ) # # Merge triggers for the B range # dataForWeights = {} haddedDataMiterBRange = Miter() dataForPlots = Miter() for opoint in operating_points: for bin in jet_bins: currNode = hadd_helper( g, "-%s-%s-data-brange" % (bin[0],opoint), skiplessDataMiter.getValues( bin=bin[0], opoint = opoint, dataset = 'RUN2010B' ) ) haddedDataMiterBRange.add( currNode, opoint = opoint, bin = bin[0] ) print "the opoint is %s" % opoint singleMonitorMiter.add( currNode,\ bin = bin[0], opoint = opoint, njetpt = True, njeteta = True, privert = True, type = "hadd_data" ) dataForWeights[ bin[0] ] = currNode if opoint == "TCHEM": dataForPlots.add( currNode, bin = bin[0] ) # # Merge Bins #