# command = "dbs search --query='find file where dataset=%s' | tail -n +5 > input.txt" % dataset[0], # output="input.txt", # noEmptyFiles=True) # g.addNode( fileList ) # g.addEdge( nullInput, fileList, datasetSearch ) # # # # Generate trees from QCD and a child node with event counts # #qcdTreeNodes = {} #eventCountNodes = {} ttbarTreeMiter = Miter() 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
] trigger_list_linked = { "RUN2010B": [ ["HLT_BTagMu_DiJet20U*", "hltdijet20u", "147196", "148818", "HLT_BTagMu_DiJet20U"], # [ "HLT_BTagMu_DiJet30U*","hltdijet30u", "148819", "149294","HLT_BTagMu_DiJet30U" ], ["HLT_BTagMu_Jet20U", "hltjet20u", "146428", "147116", "HLT_BTagMu_Jet20U"], ], "RUN2010A": [["HLT_BTagMu_Jet10U", "hltjet10u", "141961", "142039", "HLT_BTagMu_Jet10U"]], } data_datasets = [["/BTau/Run2010B-Dec22ReReco_v1/AOD", "RUN2010B"], ["/BTau/Run2010A-Dec22ReReco_v1/AOD", "RUN2010A"]] # # 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)
from ScriptGraph.Graph.LocalScriptEdge import LocalScriptEdge from ScriptGraph.Helpers.BindFunction import BindFunction from ScriptGraph.Helpers.BindSubstitutes import BindSubstitutes from ScriptGraph.Helpers.BindPreviousOutput import BindPreviousOutput from ScriptGraph.Graph.NullEdge import NullEdge sys.path.append( os.path.dirname( os.path.abspath( __file__ ) )) import genTree415 as genTree from s8.MonitorInput import run_monitor_input_helper from s8.RootQCD import merge_with_root_qcd_helper from s8.Hadd import hadd_helper from ScriptGraph.Helpers.Miter import Miter g = Graph.Graph() singleMonitorMiter = Miter() baseWorkDir = "/uscms_data/d2/meloam/input415x2" g.setWorkDir( baseWorkDir ) treeGraph = genTree.getGraph() exports = genTree.getDatasets() g.addGraph( treeGraph ) operating_points = ["TCHEM", "TCHEL", "TCHET", "TCHPT", "TCHPM", "TCHPL", "SSVT", "SSVM", "SSVL", "SSVHET", "SSVHEM", "SSVHPT" ] #operating_points = [ "TCHEL", "SSVHEM","TCHEM","SSVHPT" ] operating_points = ["SSVHEM",]#"TCHEM", "TCHEL","TCHPT"]
command = "dbs search --query='find file where dataset=%s' | tail -n +5 > input.txt" % dataset[0], output="input.txt", noEmptyFiles=True) g.addNode( fileList ) g.addEdge( nullInput, fileList, datasetSearch ) # # Generate trees from QCD and a child node with event counts # #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
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()
"60to80": ["HLT_BTagMu_DiJet20U"], "80to140": ["HLT_BTagMu_DiJet20U"], "140to": [], } operating_points = ["TCHEM", "TCHEL", "TCHPT", "TCHPM", "TCHPL", "SSVT", "SSVM", "SSVL", "SSVHET", "SSVHEM", "SSVHPT"] operating_points = operating_points[0:1] jet_bins = [["40to60", "40..60"], ["60to80", "60..80"], ["80to140", "80..140"], ["140to", "140.."]] # # Global lists # singleMonitorMiter = Miter() comparisonMonitorMiter = Miter() # # Helpers # monitorInputLinkMiter = Miter() def run_monitor_input_helper( g, step_postfix, input_files=None, # can be a node from event generation muon_pt=None, jet_pt=None, trigger_name=None, log=None,
,["140to", "140..","135","225"] ] trigger_list_linked = { 'RUN2010B' : [ [ "HLT_BTagMu_DiJet20U*","hltdijet20u", "147196", "148818","HLT_BTagMu_DiJet20U" ], # "HLT_BTagMu_DiJet30U*","hltdijet30u", "148819", "149294","HLT_BTagMu_DiJet30U" ], [ "HLT_BTagMu_Jet20U" ,"hltjet20u" , "146428", "147116","HLT_BTagMu_Jet20U" ] ], 'RUN2010A' : [ [ "HLT_BTagMu_Jet10U" ,"hltjet10u" , "141961", "142039","HLT_BTagMu_Jet10U" ] ] } data_datasets = [ ['/BTau/Run2010B-Dec22ReReco_v1/AOD', 'RUN2010B'], ['/BTau/Run2010A-Dec22ReReco_v1/AOD', 'RUN2010A'] ] # # 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()
from ScriptGraph.Graph.LocalScriptEdge import LocalScriptEdge from ScriptGraph.Helpers.BindFunction import BindFunction from ScriptGraph.Helpers.BindSubstitutes import BindSubstitutes from ScriptGraph.Helpers.BindPreviousOutput import BindPreviousOutput from ScriptGraph.Graph.NullEdge import NullEdge sys.path.append( os.path.dirname( os.path.abspath( __file__ ) )) import genTree from s8.MonitorInput import run_monitor_input_helper from s8.RootQCD import merge_with_root_qcd_helper from s8.Hadd import hadd_helper from ScriptGraph.Helpers.Miter import Miter g = Graph.Graph() singleMonitorMiter = Miter() baseWorkDir = "/uscms_data/d2/meloam/input39x2" g.setWorkDir( baseWorkDir ) treeGraph = genTree.getGraph() exports = genTree.getDatasets() g.addGraph( treeGraph ) operating_points = ["TCHEM", "TCHEL", "TCHET", "TCHPT", "TCHPM", "TCHPL", "SSVT", "SSVM", "SSVL", "SSVHET", "SSVHEM", "SSVHPT" ] #operating_points = [ "TCHEL" ]
"CSVT", ] 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()
from ScriptGraph.Graph.LocalScriptEdge import LocalScriptEdge from ScriptGraph.Helpers.BindFunction import BindFunction from ScriptGraph.Helpers.BindSubstitutes import BindSubstitutes from ScriptGraph.Helpers.BindPreviousOutput import BindPreviousOutput from ScriptGraph.Graph.NullEdge import NullEdge sys.path.append( os.path.dirname( os.path.abspath( __file__ ) )) import 39x from s8.MonitorInput import run_monitor_input_helper from s8.RootQCD import merge_with_root_qcd_helper from s8.Hadd import hadd_helper from ScriptGraph.Helpers.Miter import Miter g = Graph.Graph() singleMonitorMiter = Miter() baseWorkDir = "/uscms_data/d2/meloam/input39x2" g.setWorkDir( baseWorkDir ) treeGraph = genTree.getGraph() exports = genTree.getDatasets() g.addGraph( treeGraph ) # # Merge triggers for the B range # dataForWeights = {} haddedDataMiterBRange = Miter() dataForPlots = Miter() for opoint in operating_points: for bin in jet_bins: