8 from WMCore.Configuration
import Configuration
9 from CRABClient.UserUtilities
import getUsernameFromSiteDB
22 print (R+
"You need to provide the CMSSW python config and the samples file in this order"+W)
29 CAMPAIGN =
'Moriond17/80x_moriond17_data03Feb2017_v1' 35 psetname, pset_ext = os.path.splitext(PSET)
36 samplename, sample_ext = os.path.splitext(SAMPLE)
38 if not ( os.path.isfile(PSET)
and pset_ext ==
'.py' ):
39 print (R+
"The given python config does not exist or it is not a python file"+W)
42 if not ( os.path.isfile(SAMPLE)
and sample_ext ==
'.txt' ):
43 print (R+
"The given sample list file does not exist or it is not a txt file"+W)
48 PROCESS = samplename.split(
'/')[-1]
49 MYPATH =
'/store/user/%s/' % (getUsernameFromSiteDB())
50 BASEOUTDIR = MYPATH+
'Analysis/Ntuples/' + TYPE +
'/' + CAMPAIGN
52 dataset_list =
'samples/mc/' + PROCESS +
'.txt' 53 f_datasets = open(dataset_list,
'r') 54 datasets = f_datasets.readlines() 56 import FWCore.ParameterSet.Config
as cms
58 pset = PSET.split(
'.')[0]
59 process = __import__(pset).process
63 if __name__ ==
'__main__':
65 from CRABAPI.RawCommand
import crabCommand
66 from CRABClient.ClientExceptions
import ClientException
67 from httplib
import HTTPException
69 from Analysis.Ntuplizer.crabConfig
import crabConfig
73 config.General.workArea +=
'_' + PROCESS
76 config.Data.splitting =
'FileBased' 77 config.Data.unitsPerJob = UNITS_PER_JOB
78 config.Data.totalUnits = -1
79 config.Data.outLFNDirBase = BASEOUTDIR +
'/' 86 for dataset
in datasets:
87 dataset=dataset.replace(
" ",
"")
89 if len(dataset.split(
',')) > 1:
90 cross_section = dataset.split(
',')[1].split(
'\n')[0]
91 dataset = dataset.split(
',')[0]
93 dataset = dataset.split(
'\n')[0]
95 dataset_name = dataset.split(
'/')[1]
96 dataset_cond = dataset.split(
'/')[2]
97 dataset_tier = dataset.split(
'/')[3]
102 config.Data.inputDataset = dataset
103 config.Data.outputDatasetTag = dataset_cond
105 config.General.requestName = dataset_name
111 process.MssmHbb.CrossSection = cms.double(cross_section)
112 psettmp = pset+
'_tmp.py' 113 f = open(psettmp,
'w')
114 f.write(process.dumpPython())
117 config.JobType.psetName = psettmp
119 outtext =
"Submitting dataset " + dataset +
"..." 120 print (O+str(outtext)+W)
121 crabCommand(
'submit', config = config)
122 print (O+
"--------------------------------"+W)