diff --git a/CMGTools/RootTools/python/samples/samples_13TeV_DATA2015.py b/CMGTools/RootTools/python/samples/samples_13TeV_DATA2015.py index 7541ce5d548b9..ee7a26e3c9653 100644 --- a/CMGTools/RootTools/python/samples/samples_13TeV_DATA2015.py +++ b/CMGTools/RootTools/python/samples/samples_13TeV_DATA2015.py @@ -11,7 +11,8 @@ dataDir = "$CMSSW_BASE/src/CMGTools/TTHAnalysis/data" # use environmental variable, useful for instance to run on CRAB #json=dataDir+'/json/Cert_246908-248005_13TeV_PromptReco_Collisions15_ZeroTesla_JSON.txt' #lumi: delivered= 4.430 (/nb) recorded= 4.013 (/nb) -json=dataDir+'/json/DCSONLY_Run2015B.json' +json=dataDir+'/json/json_DCSONLY_Run2015B.txt' +#json=dataDir+'/json/Cert_246908-251252_13TeV_PromptReco_Collisions15_JSON.txt' # golden json 5.6/pb #jetHT_0T = cfg.DataComponent( # name = 'jetHT_0T', diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py index 37c4ee2be8a6e..f17fc82e7f4f0 100644 --- a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py @@ -14,7 +14,7 @@ os.system("tar czf cmgdataset.tar.gz --directory $HOME .cmgdataset") os.system("tar czf cafpython.tar.gz --directory /afs/cern.ch/cms/caf/ python") config.JobType.inputFiles = ['FrameworkJobReport.xml','heppy_config.py','heppy_crab_script.py','cmgdataset.tar.gz', 'python.tar.gz', 'cafpython.tar.gz'] -config.JobType.outputFiles = ['output.log.tgz'] # mt2.root is automatically send because of the pset file +config.JobType.outputFiles = ['RLTInfo.root', 'output.log.tgz'] # mt2.root is automatically send because of the pset file config.section_("Data") config.Data.inputDBS = 'global' @@ -24,7 +24,7 @@ config.section_("Site") #config.Site.whitelist = ["T2_CH_CSCS"] -config.Site.whitelist = ["T2_CH_CSCS"] #, "T2_IT_Legnaro", "T2_UK_London_IC", "T2_UK_SGrid_Bristol", "T2_DE_DESY", "T2_ES_CIEMAT", "T2_IT_Rome", "T2_AT_Vienna","T2_DE_RWTH","T2_FR_GRIF_IRFU", "T2_HU_Budapest", "T2_FR_IPHC", "T2_BE_IIHE", "T2_IT_Pisa", "T2_ES_IFCA", "T2_UK_London_Brunel", "T2_US_Purdue", "T2_UA_KIPT", "T2_US_MIT", "T2_US_Wisconsin", "T2_US_UCSD", "T2_US_Vanderbilt", "T2_US_Caltech"] +config.Site.whitelist = ["T2_CH_CSCS", "T2_IT_Legnaro", "T2_UK_London_IC", "T2_UK_SGrid_Bristol", "T2_DE_DESY", "T2_ES_CIEMAT", "T2_IT_Rome", "T2_AT_Vienna","T2_DE_RWTH","T2_FR_GRIF_IRFU", "T2_HU_Budapest", "T2_FR_IPHC", "T2_BE_IIHE", "T2_IT_Pisa", "T2_ES_IFCA", "T2_UK_London_Brunel", "T2_US_Purdue", "T2_UA_KIPT", "T2_US_MIT", "T2_US_Wisconsin", "T2_US_UCSD", "T2_US_Vanderbilt", "T2_US_Caltech"] config.Site.storageSite = "T3_CH_PSI" #config.Data.ignoreLocality = True diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py index 27928ebb3521b..86514cbecd390 100644 --- a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py @@ -14,6 +14,8 @@ cmg_version = os.environ["CMG_VERSION"] debug = os.environ["DEBUG"] == 'True' useAAA = os.environ["USEAAA"] == 'True' +if "JSON" in os.environ: + JSON = os.environ["JSON"] if debug: NJOBS = 4 @@ -45,3 +47,10 @@ pass else: config.JobType.scriptArgs += ["nevents="+str(NEVENTS)] + +try: + JSON +except NameError: + pass +else: + config.JobType.scriptArgs += ["json="+JSON] diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py index c70fa468737eb..4b6ca52741e74 100644 --- a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py @@ -13,6 +13,13 @@ nevents = None # this means run all events nprint = 0 # quiet printout, change if you want to print the first nprint events useAAA = True # use xrootd by default +json = None + +def XrootdRedirector(): + americas = ["CO", "MX","US"] + oldcontinent = ["AT", "BE", "CH", "DE", "EE", "ES", "FR", "GR", "HU", "IT", "RU", "UK"] + region = os.environ["GLIDEIN_CMSSite"].split("_")[1] if "GLIDEIN_CMSSite" in os.environ else "" + return "xrootd-cms.infn.it/" if region in oldcontinent else "cmsxrootd.fnal.gov/" if region in americas else "cms-xrd-global.cern.ch/" # arguments of scriptExe print "ARGV:",sys.argv @@ -31,6 +38,9 @@ elif arg.split("=")[0] == "useAAA": useAAA = not (arg.split("=")[1] == 'False') # 'True' by default if useAAA: print "chosen to run via xrootd" + elif arg.split("=")[0] == "json": + json = arg.split("=")[1] + print "run on json:", json print "dataset:", dataset print "job", job , " out of", total @@ -47,10 +57,12 @@ selectedComponents = [] for comp in config.components: if comp.name == dataset: + if comp.isData and json != None: + comp.json = json # this selects the files and events and changes the name to _ChunkX according to fineSplitFactor and splitFactor newComp = split([comp])[job-1] # first job number is 1 if useAAA: - newComp.files = [x.replace("root://eoscms.cern.ch//eos/cms","root://cms-xrd-global.cern.ch/") for x in newComp.files] + newComp.files = [x.replace("root://eoscms.cern.ch//eos/cms","root://" + XrootdRedirector()) for x in newComp.files] selectedComponents.append(newComp) # check selectedComponents @@ -80,6 +92,7 @@ # assign the right name os.rename("Output/mt2.root", "mt2.root") +os.rename("Output/RLTInfo.root", "RLTInfo.root") # print in crab log file the content of the job log files, so one can see it from 'crab getlog' print "-"*25 diff --git a/CMGTools/TTHAnalysis/cfg/crab/launchall.py b/CMGTools/TTHAnalysis/cfg/crab/launchall.py index d73f3d27a8b3b..5f602730981e2 100755 --- a/CMGTools/TTHAnalysis/cfg/crab/launchall.py +++ b/CMGTools/TTHAnalysis/cfg/crab/launchall.py @@ -3,11 +3,21 @@ # datasets to run as defined from run_susyMT2.cfg # number of jobs to run per dataset decided based on splitFactor and fineSplitFactor from cfg file # in principle one only needs to modify the following two lines: -production_label = "prod74Xdata_noJSON" -cmg_version = 'MT2_CMGTools-from-CMSSW_7_4_3' +production_label = "prod747data_test" +cmg_version = 'MT2_CMGTools-from-CMSSW_7_4_7' + +debug = True +useAAA = True + +JSON = "$CMSSW_BASE/src/CMGTools/TTHAnalysis/data/json/json_DCSONLY_Run2015B.txt" +#JSON = "$CMSSW_BASE/src/CMGTools/TTHAnalysis/data/json/Cert_246908-251252_13TeV_PromptReco_Collisions15_JSON.txt" + +#recreate cached datasets for data that keep evolving (remove) +os.system("rm ~/.cmgdataset/CMS*PromptReco*") + +# update most recent DCS-only json +os.system("cp -f /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions15/13TeV/DCSOnly/json_DCSONLY_Run2015B.txt ../../data/json/") -debug = False -useAAA = False handle = open("heppy_config.py", 'r') cfo = imp.load_source("heppy_config", "heppy_config.py", handle) @@ -28,6 +38,8 @@ NJOBS = len(split([comp])) os.environ["NJOBS"] = str(NJOBS) os.environ["DATASET"] = str(comp.name) + if comp.isData and 'JSON' in vars(): + os.environ["JSON"] = JSON os.system("crab submit -c heppy_crab_config_env.py") os.system("rm -f python.tar.gz") diff --git a/CMGTools/TTHAnalysis/data/json/Cert_246908-251252_13TeV_PromptReco_Collisions15_JSON.txt b/CMGTools/TTHAnalysis/data/json/Cert_246908-251252_13TeV_PromptReco_Collisions15_JSON.txt new file mode 100644 index 0000000000000..9314c637f63a4 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/json/Cert_246908-251252_13TeV_PromptReco_Collisions15_JSON.txt @@ -0,0 +1 @@ +{"251244": [[85, 86], [88, 93], [96, 121], [123, 156], [158, 428], [430, 442]], "251251": [[1, 31], [33, 97], [99, 167]], "251252": [[1, 283], [285, 505], [507, 554]]} \ No newline at end of file diff --git a/CMGTools/TTHAnalysis/data/json/json_DCSONLY_Run2015B.txt b/CMGTools/TTHAnalysis/data/json/json_DCSONLY_Run2015B.txt new file mode 100644 index 0000000000000..0f656e34ea7d9 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/json/json_DCSONLY_Run2015B.txt @@ -0,0 +1,496 @@ +{ + "251027": [ + [ + 1, + 60 + ], + [ + 61, + 61 + ], + [ + 62, + 125 + ] + ], + "251028": [ + [ + 1, + 18 + ], + [ + 19, + 21 + ], + [ + 141, + 141 + ] + ], + "251143": [ + [ + 1, + 16 + ], + [ + 17, + 19 + ], + [ + 173, + 173 + ] + ], + "251147": [ + [ + 1, + 6 + ], + [ + 7, + 9 + ], + [ + 35, + 35 + ] + ], + "251149": [ + [ + 1, + 24 + ], + [ + 29, + 29 + ] + ], + "251150": [ + [ + 1, + 24 + ], + [ + 28, + 28 + ] + ], + "251153": [ + [ + 1, + 26 + ], + [ + 27, + 27 + ], + [ + 28, + 28 + ] + ], + "251155": [ + [ + 1, + 20 + ], + [ + 21, + 23 + ], + [ + 29, + 29 + ] + ], + "251156": [ + [ + 1, + 23 + ], + [ + 31, + 31 + ] + ], + "251160": [ + [ + 1, + 8 + ], + [ + 36, + 36 + ] + ], + "251161": [ + [ + 1, + 29 + ] + ], + "251162": [ + [ + 1, + 48 + ] + ], + "251163": [ + [ + 1, + 4 + ], + [ + 57, + 57 + ] + ], + "251164": [ + [ + 1, + 50 + ] + ], + "251167": [ + [ + 1, + 8 + ], + [ + 81, + 81 + ] + ], + "251168": [ + [ + 1, + 214 + ], + [ + 215, + 215 + ], + [ + 216, + 243 + ], + [ + 244, + 244 + ], + [ + 245, + 256 + ], + [ + 257, + 259 + ], + [ + 260, + 287 + ], + [ + 294, + 341 + ] + ], + "251244": [ + [ + 85, + 93 + ], + [ + 96, + 121 + ], + [ + 122, + 122 + ], + [ + 123, + 156 + ], + [ + 158, + 446 + ] + ], + "251250": [ + [ + 1, + 102 + ], + [ + 103, + 105 + ], + [ + 106, + 160 + ] + ], + "251251": [ + [ + 1, + 97 + ], + [ + 98, + 98 + ], + [ + 99, + 175 + ] + ], + "251252": [ + [ + 1, + 554 + ] + ], + "251521": [ + [ + 39, + 55 + ] + ], + "251522": [ + [ + 1, + 10 + ], + [ + 57, + 57 + ] + ], + "251523": [ + [ + 1, + 8 + ], + [ + 19, + 19 + ] + ], + "251559": [ + [ + 46, + 47 + ], + [ + 48, + 48 + ], + [ + 49, + 52 + ], + [ + 55, + 64 + ], + [ + 67, + 72 + ] + ], + "251560": [ + [ + 1, + 5 + ], + [ + 7, + 10 + ], + [ + 84, + 84 + ] + ], + "251561": [ + [ + 1, + 125 + ] + ], + "251562": [ + [ + 1, + 439 + ], + [ + 440, + 442 + ], + [ + 443, + 691 + ] + ], + "251636": [ + [ + 1, + 3 + ], + [ + 45, + 45 + ] + ], + "251637": [ + [ + 1, + 6 + ] + ], + "251638": [ + [ + 1, + 99 + ] + ], + "251640": [ + [ + 1, + 7 + ], + [ + 123, + 123 + ] + ], + "251643": [ + [ + 1, + 606 + ] + ], + "251717": [ + [ + 14, + 21 + ] + ], + "251718": [ + [ + 1, + 14 + ], + [ + 15, + 26 + ], + [ + 27, + 45 + ], + [ + 46, + 79 + ], + [ + 80, + 80 + ], + [ + 81, + 87 + ], + [ + 88, + 107 + ], + [ + 108, + 129 + ], + [ + 130, + 138 + ], + [ + 139, + 149 + ], + [ + 150, + 210 + ], + [ + 211, + 222 + ], + [ + 223, + 272 + ], + [ + 273, + 283 + ], + [ + 284, + 288 + ] + ], + "251721": [ + [ + 1, + 20 + ], + [ + 21, + 26 + ], + [ + 27, + 28 + ], + [ + 304, + 304 + ] + ], + "251864": [ + [ + 1, + 2 + ], + [ + 3, + 16 + ], + [ + 17, + 17 + ], + [ + 199, + 199 + ] + ], + "251883": [ + [ + 56, + 60 + ], + [ + 62, + 144 + ], + [ + 145, + 155 + ], + [ + 156, + 437 + ] + ] +} \ No newline at end of file