single_t = Ts # single top + tW # MISSING: THQ,THW 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] # 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)
filter = cms.bool(False), ) process.skimNLeps = cms.EDFilter("PATLeptonCountFilter", electronSource = cms.InputTag("selectEl"), muonSource = cms.InputTag("selectMu"), tauSource = cms.InputTag(""), countElectrons = cms.bool(True), countMuons = cms.bool(True), countTaus = cms.bool(False), minNumber = cms.uint32(2), maxNumber = cms.uint32(999), ) process.nanoAOD_step.insert(0, cms.Sequence(process.selectEl + process.selectMu + process.skimNLeps)) """) cropToLumi(byCompName(selectedComponents,["T_","TBar_"]),100.) # print summary of components to process if getHeppyOption("justSummary"): printSummary(selectedComponents) sys.exit(0) from CMGTools.TTHAnalysis.tools.nanoAOD.susySOS_modules import * from PhysicsTools.NanoAODTools.postprocessing.framework.postprocessor import PostProcessor modules = susySOS_sequence_step1 cut = susySOS_skim_cut # Switch to Tag and Probe skimming/sequence if getHeppyOption("TnP"): collection = getHeppyOption("TnPCollection", "None")
cut = cms.string("pt > %g && miniPFIsolation.chargedHadronIso < 0.45*pt && abs(dB('PV3D')) < 8*edB('PV3D')"), filter = cms.bool(True), ) process.nanoAOD_step.insert(0, process.skim1Mu) """ % (7.5 if "DoubleMuon" in comp.dataset else 4.5)) elif 'QCD_Pt' in comp.dataset or "EGamma" in comp.dataset or "SingleElectron" in comp.dataset or "DoubleEG" in comp.dataset: comp.preprocessor = comp.preprocessor.clone(cfgHasFilter = True, inlineCustomize = """ process.skim1El = cms.EDFilter("PATElectronRefSelector", src = cms.InputTag("slimmedElectrons"), cut = cms.string("pt > 6 && miniPFIsolation.chargedHadronIso < 0.45*pt && abs(dB('PV3D')) < 8*edB('PV3D')"), filter = cms.bool(True), ) process.nanoAOD_step.insert(0, process.skim1El) """) if analysis == "main": cropToLumi(byCompName(selectedComponents,["^(?!.*(TTH|TTW|TTZ)).*"]),1000.) cropToLumi(byCompName(selectedComponents,["T_","TBar_"]),100.) cropToLumi(byCompName(selectedComponents,["DYJetsToLL"]),2.) if analysis == "frqcd": cropToLumi(selectedComponents, 1.0) cropToLumi(byCompName(selectedComponents,["QCD"]), 0.3) cropToLumi(byCompName(selectedComponents,["QCD_Pt\d+to\d+$"]), 0.1) configureSplittingFromTime(selectedComponents, 20, 3, maxFiles=8) configureSplittingFromTime(byCompName(selectedComponents, ["EGamma","Single.*Run2017.*","SingleMuon_Run2018.*"]), 10, 4, maxFiles=12) configureSplittingFromTime(byCompName(selectedComponents, ["WJ","TT","DY","QCD_Mu15"]), 60, 3, maxFiles=6) configureSplittingFromTime(byCompName(selectedComponents, [r"QCD_Pt\d+to\d+$","QCD.*EME"]), 60, 3, maxFiles=6) # print summary of components to process if getHeppyOption("justSummary"): printSummary(selectedComponents)
] #TTJets_DiLepton not yet finished samples_mainBkgVV = [WWTo2L2Nu, ZZTo2L2Nu] #[VVTo2L2Nu, VVTo2L2Nu_ext] samples_fakesBkg = [TTJets_SingleLeptonFromT, TTJets_SingleLeptonFromTbar ] + 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" % (
filter = cms.bool(True), ) process.nanoAOD_step.insert(0, process.skim1Mu) """ % (7.5 if "DoubleMuon" in comp.dataset else 4.5)) elif 'QCD_Pt' in comp.dataset: comp.preprocessor._cfgHasFilter = True comp.preprocessor._inlineCustomize = (""" process.skim1El = cms.EDFilter("PATElectronRefSelector", src = cms.InputTag("slimmedElectrons"), cut = cms.string("pt > 6 && miniPFIsolation.chargedHadronIso < 0.45*pt && abs(dB('PV3D')) < 8*edB('PV3D')"), filter = cms.bool(True), ) process.nanoAOD_step.insert(0, process.skim1El) """) if analysis == "frqcd": cropToLumi(selectedComponents, 1.0) cropToLumi(byCompName(selectedComponents, ["QCD"]), 0.3) cropToLumi(byCompName(selectedComponents, ["QCD_Pt\d+to\d+$"]), 0.1) configureSplittingFromTime(selectedComponents, 10, 3, maxFiles=8) configureSplittingFromTime( byCompName(selectedComponents, ["EGamma", "Single.*Run2017.*", "SingleMuon_Run2018.*"]), 10, 4, maxFiles=12) configureSplittingFromTime(byCompName(selectedComponents, ["WJ", "TT", "DY"]), 60, 3, maxFiles=6) configureSplittingFromTime(byCompName(selectedComponents,