Beispiel #1
0
convs = [
    TTGJets
]  # X+G # MISSING: WGToLNuG_amcatnlo_ext,WGToLNuG_amcatnlo_ext2,ZGTo2LG_ext,TGJets,TGJets_ext
v_jets = [
    WJetsToLNu_LO, DYJetsToLL_M10to50_LO, DYJetsToLL_M50_LO,
    DYJetsToLL_M50_LO_ext, WWTo2L2Nu
]  # V+jets
tt_1l = [TTSemi_pow, TTJets]  # TT 1l # MISSING: Madgraph
tt_2l = [TTLep_pow]  # TT 2l # MISSING: Madgraph
boson = [WZTo3LNu_fxfx]  # multi-boson # MISSING: WZTo3LNu_pow, TriBosons

samples_slow = sig_ttv + ttv_lo + rares + convs + boson + tt_2l
samples_fast = single_t + v_jets + tt_1l

cropToLumi(rares, 500)
configureSplittingFromTime(samples_fast, 50, 3)
configureSplittingFromTime(samples_slow, 100, 3)

selectedComponents = samples_slow + samples_fast

if scaleProdToLumi > 0:  # select only a subset of a sample, corresponding to a given luminosity (assuming ~30k events per MiniAOD file, which is ok for central production)
    target_lumi = scaleProdToLumi  # in inverse picobarns
    for c in selectedComponents:
        if not c.isMC: continue
        nfiles = int(min(ceil(target_lumi * c.xSection / 30e3), len(c.files)))
        #if nfiles < 50: nfiles = min(4*nfiles, len(c.files))
        print "For component %s, will want %d/%d files; AAA %s" % (
            c.name, nfiles, len(c.files), "eoscms" not in c.files[0])
        c.files = c.files[:nfiles]
        c.splitFactor = len(c.files)
        c.fineSplitFactor = 1
        comp.triggers = trigs[:]
        comp.vetoTriggers = vetoTriggers[:]
        dataSamples.append(comp)
    vetoTriggers += trigs[:]

selectedComponents = mcSamples + dataSamples
if getHeppyOption('selectComponents'):
    if getHeppyOption('selectComponents')=='MC':
        selectedComponents = mcSamples
    elif getHeppyOption('selectComponents')=='DATA':
        selectedComponents = dataSamples
    else:
        selectedComponents = byCompName(selectedComponents, getHeppyOption('selectComponents').split(","))
autoAAA(selectedComponents, quiet=not(getHeppyOption("verboseAAA",False)))
if year==2018:
    configureSplittingFromTime(mcSamples,150 if preprocessor else 10,8)
    configureSplittingFromTime(dataSamples,50 if preprocessor else 5,8)
else: # rerunning deepFlavor can take up to twice the time
    configureSplittingFromTime(mcSamples,250 if preprocessor else 10,8) # warning: some samples take up to 400 ms per event
    configureSplittingFromTime(dataSamples,80 if preprocessor else 5,8)
    configureSplittingFromTime(byCompName(dataSamples,['Single']),50 if preprocessor else 5,8)
selectedComponents, _ = mergeExtensions(selectedComponents)

# create and set preprocessor if requested
if preprocessor:
    from CMGTools.Production.nanoAODPreprocessor import nanoAODPreprocessor
    preproc_cfg = {2016: ("mc94X2016","data94X2016"),
                   2017: ("mc94Xv2","data94Xv2"),
                   2018: ("mc102X","data102X_ABC","data102X_D")}
    preproc_cmsswArea = "/afs/cern.ch/user/p/peruzzi/work/cmgtools_tth/CMSSW_10_2_15"
    preproc_mc = nanoAODPreprocessor(cfg='%s/src/PhysicsTools/NanoAOD/test/%s_NANO.py'%(preproc_cmsswArea,preproc_cfg[year][0]),cmsswArea=preproc_cmsswArea,keepOutput=True)
                    ] + WJetsToLNuHT
samples_rareBkg = [
    WZTo3LNu_fxfx, WWToLNuQQ, WZTo1L1Nu2Q, ZZTo4L, WWW_4F, WZZ, WWZ_4F, ZZZ,
    T_tch, TBar_tch, T_sch_lep, WWTo2L2Nu_DPS_hpp, TTWToLNu_fxfx,
    TTZToLLNuNu_amc, TTZToLLNuNu_m1to10, TTGJets, TGJets_lep
]  #WZTo3LNu, WZTo1L3Nu, , ZZTo2L2Q, WpWpJJ,  WGToLNuG_amcatnlo_ext, ZGTo2LG_ext, WZTo2L2Q,WGToLNuG, #still missing

samples_mainBkg = [
    DYJetsToLL_M5to50_LO
]  #DYJetsToLL_M50_LO,DYJetsToLL_M50_LO_ext,DYJetsToLL_M10to50_LO]

cropToLumi([
    WWW_4F, WZZ, WWZ_4F, ZZZ, WWToLNuQQ, WZTo1L1Nu2Q, TTWToLNu_fxfx,
    TTZToLLNuNu_amc, TTZToLLNuNu_m1to10
], 200)
configureSplittingFromTime(samples_fakesBkg, 50, 3)
configureSplittingFromTime(samples_mainBkg, 50, 3)
configureSplittingFromTime(samples_rareBkg, 100, 3)

selectedComponents = WJetsToLNuHT  #samples_mainBkg#samples_fakesBkg#samples_rareBkg + samples_mainBkg + samples_mainBkgVV
#selectedComponents = WJetsToLNuHT

if scaleProdToLumi > 0:  # select only a subset of a sample, corresponding to a given luminosity (assuming ~30k events per MiniAOD file, which is ok for central production)
    target_lumi = scaleProdToLumi  # in inverse picobarns
    for c in selectedComponents:
        if not c.isMC: continue
        nfiles = int(min(ceil(target_lumi * c.xSection / 30e3), len(c.files)))
        #if nfiles < 50: nfiles = min(4*nfiles, len(c.files))
        print "For component %s, will want %d/%d files; AAA %s" % (
            c.name, nfiles, len(c.files), "eoscms" not in c.files[0])
        c.files = c.files[:nfiles]
Beispiel #4
0
triggerFlagsAna.triggerBits ={
    "HT900":triggers_pfht900
}


#-------- HOW TO RUN
test = 1
if test==1:
    # test a single component, using a single thread.
    selectedComponents = [ZprimeToTT_M_2000_20]
#    for c in selectedComponents:
#        c.files = c.files[:1]
#        c.splitFactor = 1

elif test==2:
    # test a single component, using a single thread.
    selectedComponents = [TTJets]
    for c in selectedComponents:
        c.files = c.files[:1]
        c.splitFactor = 1
else:
    # full scale production
    # split samples in a smarter way
    from CMGTools.RootTools.samples.configTools import configureSplittingFromTime, printSummary
    configureSplittingFromTime(selectedComponents, 40, 3)  # means 40 ms per event, job to last 3h
    # print summary of components to process
    printSummary(selectedComponents)

selectedComponents=autoAAA(selectedComponents)
config=autoConfig(selectedComponents,sequence)
Beispiel #5
0
    #    selectedComponents = [BulkGravToWWToWlepWhad_narrow_2000]
    #    selectedComponents = [TTJets]
    selectedComponents = [TTSemi_pow]
    #    selectedComponents = [BulkGravToZZToZhadZinv_narrow_1400]
    for c in selectedComponents:
        c.files = c.files[:1]
        #        c.files = ['file:/tmp/bachtis/file.root']
        c.splitFactor = 1

elif test == 2:
    # test a single component, using a single thread.
    selectedComponents = [TTJets]
elif test == 3:
    selectedComponents = [selectedComponents[0]]
    for c in selectedComponents:
        c.files = c.files[:1]
        c.splitFactor = 1
else:
    # full scale production
    # split samples in a smarter way
    from CMGTools.RootTools.samples.configTools import configureSplittingFromTime, printSummary
    configureSplittingFromTime(selectedComponents, 16,
                               6)  # means 70 ms per event, job to last 12h
    # print summary of components to process
    printSummary(selectedComponents)

selectedComponents = runOnFNAL(
    selectedComponents,
    "$CMSSW_BASE/src/CMGTools/VVResonances/data/JSON2017.txt")
config = autoConfig(selectedComponents, sequence)
Beispiel #6
0
        selectedComponents = mcSamples
    elif getHeppyOption('selectComponents') == 'DATA':
        selectedComponents = dataSamples
    elif getHeppyOption('selectComponents') == 'HWHSIGNAL':
        mcSamples = hwhSamples
        selectedComponents = hwhSamples
    else:
        selectedComponents = byCompName(
            selectedComponents,
            getHeppyOption('selectComponents').split(","))
autoAAA(selectedComponents,
        quiet=not (getHeppyOption("verboseAAA", False)),
        redirectorAAA="xrootd-cms.infn.it")
if year == 2018:
    configureSplittingFromTime(
        byCompName(mcSamples, ['^(?!(TTJets_Single|T_|TBar_)).*']),
        150 if preprocessor else 10, 12)
    configureSplittingFromTime(
        byCompName(mcSamples, ['^(TTJets_Single|T_|TBar_).*']),
        70 if preprocessor else 10, 12)
    configureSplittingFromTime(dataSamples, 50 if preprocessor else 5, 12)
else:  # rerunning deepFlavor can take up to twice the time, some samples take up to 400 ms per event
    configureSplittingFromTime(
        byCompName(mcSamples, ['^(?!(TTJets_Single|T_|TBar_)).*']),
        300 if preprocessor else 10, 12)
    configureSplittingFromTime(
        byCompName(mcSamples, ['^(TTJets_Single|T_|TBar_).*']),
        150 if preprocessor else 10, 12)
    configureSplittingFromTime(dataSamples, 100 if preprocessor else 5, 12)
    configureSplittingFromTime(byCompName(dataSamples, ['Single']),
                               50 if preprocessor else 5, 12)
Beispiel #7
0
dataSamples = []
vetoTriggers = []
for pd, triggers in DatasetsAndTriggers:
    for comp in byCompName(allData, [pd]):
        comp.triggers = triggers[:]
        comp.vetoTriggers = vetoTriggers[:]
        dataSamples.append(comp)
    vetoTriggers += triggers[:]

selectedComponents = mcSamples + dataSamples
if getHeppyOption('selectComponents'):
    selectedComponents = byCompName(
        selectedComponents,
        getHeppyOption('selectComponents').split(","))
autoAAA(selectedComponents, quiet=not (getHeppyOption("verboseAAA", False)))
configureSplittingFromTime(mcSamples, 250 if preprocessor else 10, 10)
configureSplittingFromTime(dataSamples, 80 if preprocessor else 10, 10)
selectedComponents, _ = mergeExtensions(selectedComponents)

# create and set preprocessor if requested
if getHeppyOption("nanoPreProcessor"):
    from CMGTools.Production.nanoAODPreprocessor import nanoAODPreprocessor
    preproc_cfg = {
        2016: ("mc94X2016", "data94X2016"),
        2017: ("mc94Xv2", "data94Xv2"),
        2018: ("mc102X", "data102X_ABC", "data102X_D")
    }
    preproc_cmsswArea = "/afs/cern.ch/user/v/vtavolar/work/SusySOSSW_2_clean/nanoAOD/CMSSW_10_2_15"  #MODIFY ACCORDINGLY
    preproc_mc = nanoAODPreprocessor(
        cfg='%s/src/PhysicsTools/NanoAOD/test/%s_NANO.py' %
        (preproc_cmsswArea, preproc_cfg[year][0]),
vetoTriggers = []
for pd, trigs in DatasetsAndTriggers:
    if not trigs: continue
    for comp in byCompName(allData, [pd]):
        comp.triggers = trigs[:]
        comp.vetoTriggers = vetoTriggers[:]
        dataSamples.append(comp)
    vetoTriggers += trigs[:]

selectedComponents = mcSamples + dataSamples
if getHeppyOption('selectComponents'):
    selectedComponents = byCompName(
        selectedComponents,
        getHeppyOption('selectComponents').split(","))
autoAAA(selectedComponents, quiet=not (getHeppyOption("verboseAAA", False)))
configureSplittingFromTime(selectedComponents, 100 if preprocessor else 10, 4)
selectedComponents, _ = mergeExtensions(selectedComponents)

# create and set preprocessor if requested
if preprocessor:
    from CMGTools.Production.nanoAODPreprocessor import nanoAODPreprocessor
    preproc_cfg = {
        2016: ("mc94X2016", "data94X2016"),
        2017: ("mc94Xv2", "data94Xv2"),
        2018: ("mc102X", "data102X_ABC", "data102X_D")
    }
    preproc_cmsswArea = "/afs/cern.ch/user/p/peruzzi/work/cmgtools_tth/CMSSW_10_2_14"
    preproc_mc = nanoAODPreprocessor(
        cfg='%s/src/PhysicsTools/NanoAOD/test/%s_NANO.py' %
        (preproc_cmsswArea, preproc_cfg[year][0]),
        cmsswArea=preproc_cmsswArea,
Beispiel #9
0
dataSamples = []
vetoTriggers = []
for pd, triggers in DatasetsAndTriggers:
    for comp in byCompName(allData, [pd]):
        comp.triggers = triggers[:]
        comp.vetoTriggers = vetoTriggers[:]
        dataSamples.append(comp)
    vetoTriggers += triggers[:]

selectedComponents = mcSamples + dataSamples
if getHeppyOption('selectComponents'):
    selectedComponents = byCompName(
        selectedComponents,
        getHeppyOption('selectComponents').split(","))
autoAAA(selectedComponents, quiet=not (getHeppyOption("verboseAAA", False)))
configureSplittingFromTime(selectedComponents, 100 if preprocessor else 10, 4)
selectedComponents, _ = mergeExtensions(selectedComponents)

# create and set preprocessor if requested
if preprocessor:
    from CMGTools.Production.nanoAODPreprocessor import nanoAODPreprocessor
    preproc_cfg = {
        2016: ("mc94X2016", "data94X2016"),
        2017: ("mc94Xv2", "data94Xv2"),
        2018: ("mc102X", "data102X_ABC", "data102X_D")
    }
    preproc_cmsswArea = "/afs/cern.ch/user/p/peruzzi/work/cmgtools_tth/CMSSW_10_2_14"
    preproc_mc = nanoAODPreprocessor(
        cfg='%s/src/PhysicsTools/NanoAOD/test/%s_NANO.py' %
        (preproc_cmsswArea, preproc_cfg[year][0]),
        cmsswArea=preproc_cmsswArea,
Beispiel #10
0
isMC = not (runData or runDataJetHT or runDataIsoLep)

if runTTJets or runWJets or runZInv or runOtherMC1 or runOtherMC2:
    selectedComponents = mcSamples
elif runFastSim or runPMSSM:
    selectedComponents = signalSamples
elif runData or runDataJetHT or runDataIsoLep:
    selectedComponents = dataSamples
else:
    selectedComponents = byCompName(
        selectedComponents,
        getHeppyOption('selectComponents').split(","))

#autoAAA(selectedComponents, quiet=not(getHeppyOption("verboseAAA",False)), redirectorAAA="xrootd-cms.infn.it")

configureSplittingFromTime(mcSamples, 150 if preprocessor else 2, 2)
#configureSplittingFromTime(mcSamples,  150 if preprocessor else 8 ,2)
configureSplittingFromTime(dataSamples, 100 if preprocessor else 1, 4)
#configureSplittingFromTime(dataSamples,100 if preprocessor else 2 ,2)

selectedComponents, _ = mergeExtensions(selectedComponents)

# create and set preprocessor if requested
#if preprocessor:
#    from CMGTools.Production.nanoAODPreprocessor import nanoAODPreprocessor
#    preproc_cfg = {2016: ("mc94X2016","data94X2016"),
#                   2017: ("mc94Xv2","data94Xv2"),
#                   2018: ("mc102X","data102X_ABC","data102X_D")}
#preproc_cmsswArea = "/afs/cern.ch/user/p/peruzzi/work/cmgtools_tth/CMSSW_10_2_16_UL"
#    preproc_cmsswArea = "/afs/cern.ch/user/d/dchasque/working/test"
#    preproc_mc = nanoAODPreprocessor(cfg='%s/src/PhysicsTools/NanoAOD/test/%s_NANO.py'%(preproc_cmsswArea,preproc_cfg[year][0]),cmsswArea=preproc_cmsswArea,keepOutput=True)