From b5138121186c88729a1634cae36d01caeb9a3417 Mon Sep 17 00:00:00 2001 From: livia Date: Fri, 15 Jun 2018 14:05:49 +0200 Subject: [PATCH] updating crab script --- scripts/crab/tnpCrabSubmitMiniAOD.py | 56 +++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/scripts/crab/tnpCrabSubmitMiniAOD.py b/scripts/crab/tnpCrabSubmitMiniAOD.py index 59040b59a3116..d175e4cbfb79e 100644 --- a/scripts/crab/tnpCrabSubmitMiniAOD.py +++ b/scripts/crab/tnpCrabSubmitMiniAOD.py @@ -1,14 +1,34 @@ from CRABClient.UserUtilities import config, getUsernameFromSiteDB import sys + +# this will use CRAB client API +from CRABAPI.RawCommand import crabCommand + +# talk to DBS to get list of files in this dataset +from dbs.apis.dbsClient import DbsApi +dbs = DbsApi('https://cmsweb.cern.ch/dbs/prod/global/DBSReader') + +dataset = '/DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8/RunIISpring18MiniAOD-100X_upgrade2018_realistic_v10-v2/MINIAODSIM' +fileDictList=dbs.listFiles(dataset=dataset) + +print ("dataset %s has %d files" % (dataset, len(fileDictList))) + +# DBS client returns a list of dictionaries, but we want a list of Logical File Names +lfnList = [ dic['logical_file_name'] for dic in fileDictList ] + +# this now standard CRAB configuration + +from WMCore.Configuration import Configuration + config = config() -submitVersion ="2018Data_V1" +submitVersion ="2018Data_1" doEleTree = 'doEleID=True' doPhoTree = 'doPhoID=True' #doHLTTree = 'doTrigger=False' #calibEn = 'useCalibEn=False' -mainOutputDir = '/store/group/phys_egamma/soffi/TnP/ntuples_05122018/%s' % submitVersion +mainOutputDir = '/store/group/phys_egamma/soffi/TnP/ntuples_06152018/%s' % submitVersion config.General.transferLogs = False @@ -27,7 +47,7 @@ config.Site.storageSite = 'T2_CH_CERN' - + if __name__ == '__main__': from CRABAPI.RawCommand import crabCommand @@ -48,23 +68,39 @@ def submit(config): ##### submit MC + +# config.Data.splitting = 'FileBased' +# config.Data.unitsPerJob = 10 +# config.Data.inputDataset = '/DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8/RunIISpring18MiniAOD-100X_upgrade2018_realistic_v10-v2/MINIAODSIM' + config.Data.outLFNDirBase = '%s/%s/' % (mainOutputDir,'mc') - config.Data.splitting = 'FileBased' - config.Data.unitsPerJob = 4 config.JobType.pyCfgParams = ['isMC=True',doEleTree,doPhoTree,'GT=100X_upgrade2018_realistic_v10'] - + config.Data.userInputFiles = lfnList + config.Data.splitting = 'FileBased' config.General.requestName = 'DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8' - config.Data.inputDataset = '/DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8/RunIISpring18MiniAOD-100X_upgrade2018_realistic_v10-v2/MINIAODSIM' + config.Data.unitsPerJob = 1 submit(config) ##### now submit DATA config.Data.outLFNDirBase = '%s/%s/' % (mainOutputDir,'data') config.Data.splitting = 'LumiBased' - config.Data.lumiMask = '/afs/cern.ch/user/s/soffi/public/json_DCSONLY.txt' + config.Data.lumiMask = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions18/13TeV/PromptReco/Cert_314472-317391_13TeV_PromptReco_Collisions18_JSON.txt' config.Data.unitsPerJob = 100 config.JobType.pyCfgParams = ['isMC=False',doEleTree,doPhoTree,'GT=101X_dataRun2_Prompt_v9'] - config.General.requestName = 'Prompt2018_RunA' + config.General.requestName = 'Prompt2018_RunA_v1' config.Data.inputDataset = '/EGamma/Run2018A-PromptReco-v1/MINIAOD' - submit(config) +# submit(config) + + config.General.requestName = 'Prompt2018_RunA_v2' + config.Data.inputDataset = '/EGamma/Run2018A-PromptReco-v2/MINIAOD' +# submit(config) + + config.General.requestName = 'Prompt2018_RunA_v3' + config.Data.inputDataset = '/EGamma/Run2018A-PromptReco-v3/MINIAOD' +# submit(config) + + config.General.requestName = 'Prompt2018_RunB_v1' + config.Data.inputDataset = '/EGamma/Run2018B-PromptReco-v1/MINIAOD' +# submit(config)