samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 6, 'subsamples': { 'lowZ': 'LowZ', 'highZ': 'HighZ' } } CombineBaseW(samples, 'DY', ['DYJetsToLL_M-10to50-LO', 'DYJetsToLL_M-10to50-LO_ext1']) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw*(LHE_HT < 70)') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', 'DY_LO_pTllrw*(LHE_HT < 100)') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', 'DY_LO_pTllrw*(LHE_HT < 100)') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-70to100', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-100to200', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-200to400', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-400to600', 'DY_LO_pTllrw') #addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-400to600_ext2', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-600to800', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-800to1200', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-1200to2500', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-2500toInf', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-4to50_HT-100to200', 'DY_LO_pTllrw')
useDYtt = False ptllDYW_NLO = '(((0.623108 + 0.0722934*gen_ptll - 0.00364918*gen_ptll*gen_ptll + 6.97227e-05*gen_ptll*gen_ptll*gen_ptll - 4.52903e-07*gen_ptll*gen_ptll*gen_ptll*gen_ptll)*(gen_ptll<45)*(gen_ptll>0) + 1*(gen_ptll>=45))*(abs(gen_mll-90)<3) + (abs(gen_mll-90)>3))' ptllDYW_LO = '((0.632927+0.0456956*gen_ptll-0.00154485*gen_ptll*gen_ptll+2.64397e-05*gen_ptll*gen_ptll*gen_ptll-2.19374e-07*gen_ptll*gen_ptll*gen_ptll*gen_ptll+6.99751e-10*gen_ptll*gen_ptll*gen_ptll*gen_ptll*gen_ptll)*(gen_ptll>0)*(gen_ptll<100)+(1.41713-0.00165342*gen_ptll)*(gen_ptll>=100)*(gen_ptll<300)+1*(gen_ptll>=300))' if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50_fix') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight, 'FilesPerJob': 5, } addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50_fix', ptllDYW_NLO) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', ptllDYW_LO) ## Remove OF from inclusive sample (is it needed?) #cutSF = '(abs(Lepton_pdgId[0]*Lepton_pdgId[1]) == 11*11)||(Lepton_pdgId[0]*Lepton_pdgId[1]) == 13*13)' #addSampleWeight(samples,'DY','DYJetsToLL_M-50',cutSF) else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight, 'FilesPerJob': 8, }
def CombineBaseW(samples, proc, samplelist): newbaseW = getBaseWnAOD(mcDirectory, mcProduction, samplelist) for s in samplelist: addSampleWeight(samples, proc, s, newbaseW+'/baseW')
} ########################################### ############ Reducible Bkg ############## ########################################### ######## Vg ######## files = nanoGetSampleFiles(mcDirectory, 'WGJJ') + \ nanoGetSampleFiles(mcDirectory, 'Zg') samples['Vg'] = { 'name': files, 'weight': mcCommonWeightNoMatch + '*!(Gen_ZGstar_mass > 0)', 'FilesPerJob': 10 } addSampleWeight( samples, 'Vg', 'Zg', '(Sum$(GenPart_pdgId == 22 && TMath::Odd(GenPart_statusFlags) && GenPart_pt < 20.) == 0)' ) ######## VgS ######## files = nanoGetSampleFiles(mcDirectory, 'Wg_MADGRAPHMLM') + \ nanoGetSampleFiles(mcDirectory, 'Zg') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['VgS'] = { 'name': files, 'weight': mcCommonWeight + ' * (gstarLow * 0.94 + gstarHigh * 1.14)', 'FilesPerJob': 15, 'subsamples': { 'L': 'gstarLow', 'H': 'gstarHigh'
'weight' : mcCommonWeight, 'FilesPerJob' : 5, } samples['top'] = { 'name' : nanoGetSampleFiles(mcDirectory,'TTToSemiLeptonic') + nanoGetSampleFiles(mcDirectory,'TTTo2L2Nu') + nanoGetSampleFiles(mcDirectory,'ST_t-channel_top') + nanoGetSampleFiles(mcDirectory,'ST_t-channel_antitop') + nanoGetSampleFiles(mcDirectory,'ST_tW_antitop') + nanoGetSampleFiles(mcDirectory,'ST_tW_top') , 'weight' : mcCommonWeight, 'FilesPerJob' : 2, } addSampleWeight(samples,'top','TTToSemiLeptonic','Top_pTrw') addSampleWeight(samples,'top','TTTo2L2Nu','Top_pTrw') # MISSING: WWToLNuQQ samples['VV'] = { 'name' : nanoGetSampleFiles(mcDirectory,'WZ') + nanoGetSampleFiles(mcDirectory,'ZZTo2L2Q') + nanoGetSampleFiles(mcDirectory,'WW-LO') , 'weight' : mcCommonWeight, 'FilesPerJob' : 2, } #Was commented out samples['QCD'] = { 'name' : nanoGetSampleFiles(mcDirectory,'QCD_Pt-15to20_MuEnrichedPt5') +nanoGetSampleFiles(mcDirectory,'QCD_Pt-20to30_MuEnrichedPt5')
'!Trigger_ElMu && !Trigger_dblMu && !Trigger_sngMu && (Trigger_sngEl || Trigger_dblEl)', } ########################################### ############ Reducible Bkg ############## ########################################### ######## Vg ######## files = nanoGetSampleFiles(mcDirectory, 'WGJJ') + \ nanoGetSampleFiles(mcDirectory, 'Zg') samples['Vg'] = { 'name': files, 'weight': mcCommonWeightNoMatch + '*!(Gen_ZGstar_mass > 0)', 'FilesPerJob': 10 } addSampleWeight(samples, 'Vg', 'Zg', '0.448') ######## VgS ######## files = nanoGetSampleFiles(mcDirectory, 'Wg_MADGRAPHMLM') + \ nanoGetSampleFiles(mcDirectory, 'Zg') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['VgS'] = { 'name': files, 'weight': mcCommonWeight + ' * (gstarLow * 0.94 + gstarHigh * 1.14)', 'FilesPerJob': 15, 'subsamples': { 'L': 'gstarLow', 'H': 'gstarHigh' } }
###### DY ####### useDYtt = False if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50_fix') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 5, } addSampleWeight(samples,'DY','DYJetsToTT_MuEle_M-50_fix','DY_NLO_pTllrw') addSampleWeight(samples,'DY','DYJetsToLL_M-10to50-LO','DY_LO_pTllrw') ## Remove OF from inclusive sample (is it needed?) #cutSF = '(abs(Lepton_pdgId[0]*Lepton_pdgId[1]) == 11*11)||(Lepton_pdgId[0]*Lepton_pdgId[1]) == 13*13)' #addSampleWeight(samples,'DY','DYJetsToLL_M-50',cutSF) else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*(Sum$(GenPart_pdgId == 22 && TMath::Odd(GenPart_statusFlags) && GenPart_pt > 20.) == 0)*ttHMVA_SF_flip_2l[0]', 'FilesPerJob': 5, }
nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO')+ \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 10, } DYbaseW = getBaseWnAOD( mcDirectory, mcProduction, ['DYJetsToLL_M-10to50-LO', 'DYJetsToLL_M-10to50-LO_ext1']) addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', 'DY_LO_pTllrw*' + DYbaseW + '/baseW') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', 'DY_LO_pTllrw*' + DYbaseW + '/baseW') ###### Top ####### files = nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu') + \ nanoGetSampleFiles(mcDirectory, 'ST_s-channel_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_top') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_antitop_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_top_ext1') samples['top'] = {
files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt400To600') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt600ToInf') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt100To250_ext1') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt250To400_ext1') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt400To600_ext1') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_Wpt600ToInf_ext1') files += nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_ext2') samples['Wjets_NLOmerge'] = { 'name': files, #'weight' : mcCommonWeight +'*EWKnloW[0]', # ewk nlo correction https://arxiv.org/pdf/1705.04664v2.pdf #'weight' : mcCommonWeight + '*ewknloW', 'weight': mcCommonWeight, 'FilesPerJob': 4, } addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt100To250', newbW100w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt100To250_ext1', newbW100w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt250To400', newbW250w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt250To400_ext1', newbW250w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt400To600', newbW400w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt400To600_ext1', newbW400w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt600ToInf', newbW600w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt600ToInf_ext1', newbW600w) addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_ext2', '(LHE_Vpt < 120)') addSampleWeight(samples, 'Wjets_NLOmerge', 'WJetsToLNu_Wpt100To250',
if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_ext2') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + embed_tautauveto + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 6, } addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', 'DY_LO_pTllrw') ###### Top ####### files = nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu') + \ nanoGetSampleFiles(mcDirectory, 'ST_s-channel_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_top') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_antitop_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_top_ext1') samples['top'] = { 'name': files, 'weight': mcCommonWeight + embed_tautauveto,
nanoGetSampleFiles(mcDirectory, 'ST_t-channel_top') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_top') + \ nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu') #nanoGetSampleFiles(mcDirectory, 'TTToSemiLeptonic') + \ #nanoGetSampleFiles(mcDirectory, 'TTWjets') + \ #nanoGetSampleFiles(mcDirectory, 'TTZjets') + \ samples['top'] = { 'name': files, 'weight': XSWeight + '*' + SFweight + '*' + GenLepMatch + '*' + METFilter_MC, 'FilesPerJob': 1, } addSampleWeight(samples, 'top', 'TTTo2L2Nu', Top_pTrw) ######WJets##### files = nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT100_200') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT100_200') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT200_400') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT400_600') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT600_800') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT800_1200') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT1200_2500') + \ nanoGetSampleFiles(mcDirectory, 'WJetsToLNu_HT2500_inf') samples['WJets'] = { 'name': files, 'weight':
'*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0))', 'FilesPerJob': 4, } CombineBaseW(mcDirectory, samples, 'DY', ['DYJetsToLL_M-10to50', 'DYJetsToLL_M-10to50_ext1']) CombineBaseW( mcDirectory, samples, 'DY', ['DYJetsToLL_M-5to50_HT-200to400', 'DYJetsToLL_M-5to50_HT-200to400_ext1']) CombineBaseW( mcDirectory, samples, 'DY', ['DYJetsToLL_M-5to50_HT-400to600', 'DYJetsToLL_M-5to50_HT-400to600_ext1']) CombineBaseW( mcDirectory, samples, 'DY', ['DYJetsToLL_M-5to50_HT-600toinf', 'DYJetsToLL_M-5to50_HT-600toinf_ext1']) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50_ext1', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-70to100', '(gen_mll<10)*DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-100to200', '(gen_mll<10)*DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-200to400', '(gen_mll<10)*DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-400to600', '(gen_mll<10)*DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-600toinf', '(gen_mll<10)*DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-5to50_HT-200to400_ext1', '(gen_mll<10)*DY_LO_pTllrw')
ptllDYW_NLO = '(0.876979+gen_ptll*(4.11598e-03)-(2.35520e-05)*gen_ptll*gen_ptll)*(1.10211 * (0.958512 - 0.131835*TMath::Erf((gen_ptll-14.1972)/10.1525)))*(gen_ptll<140)+0.891188*(gen_ptll>=140)' ptllDYW_LO = '(8.61313e-01+gen_ptll*4.46807e-03-1.52324e-05*gen_ptll*gen_ptll)*(1.08683 * (0.95 - 0.0657370*TMath::Erf((gen_ptll-11.)/5.51582)))*(gen_ptll<140)+1.141996*(gen_ptll>=140)' files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_ext2') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*(Sum$(GenPart_pdgId == 22 && TMath::Odd(GenPart_statusFlags) && GenPart_pt > 20.) == 0)', 'FilesPerJob': 3, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } #addSampleWeight(samples,'DY','DYJetsToLL_M-50_ext2',ptllDYW_NLO) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw') files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50_ext1') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-5to50_HT-70to100') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-5to50_HT-100to200') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-5to50_HT-200to400') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-5to50_HT-400to600') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-5to50_HT-600toinf') samples['DYlow'] = { 'name': files, 'weight': mcCommonWeight + '*(Sum$(GenPart_pdgId == 22 && TMath::Odd(GenPart_statusFlags) && GenPart_pt > 20.) == 0)', 'FilesPerJob': 3, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'],
nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Nu_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo4L_ext1') + \ nanoGetSampleFiles(mcDirectory, 'WZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZGToLLG') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['Dyveto'] = { 'name': files, 'weight': '(1-embed_tautauveto)', 'FilesPerJob': 1, # There's some error about not finding sample-specific variables like "nllW" when mixing different samples into a single job; so split them all up instead } addSampleWeight( samples, 'Dyveto', 'TTTo2L2Nu', mcCommonWeight + '*(isTTbar * (TMath::Sqrt(TMath::Exp(0.0615 - 0.0005 * topGenPt) * TMath::Exp(0.0615 - 0.0005 * antitopGenPt))) + isSingleTop)' ) addSampleWeight(samples, 'Dyveto', 'ST_tW_antitop_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'ST_tW_top_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'WWTo2L2Nu', mcCommonWeight + '*nllW') addSampleWeight( samples, 'Dyveto', 'WpWmJJ_EWK', mcCommonWeight + '*(Sum$(abs(GenPart_pdgId)==6 || GenPart_pdgId==25)==0)') addSampleWeight(samples, 'Dyveto', 'GluGluToWWToTNTN', mcCommonWeight + '*1.53/1.4') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Nu_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo4L_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'WZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(
files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-200to400') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-400to600') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-600toInf') photon_filter = '( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>10 && abs(PhotonGen_eta)<2.6) > 0 && Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )' samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*' + photon_filter, 'FilesPerJob': 6, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } # baseW fixing addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50', getCachedBaseW(['DYJetsToLL_M-50', 'DYJetsToLL_M-50_ext2'])) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', getCachedBaseW(['DYJetsToLL_M-50', 'DYJetsToLL_M-50_ext2'])) # Last M50 HT bin is missing addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50', '(LHE_HT < 70)') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', '(LHE_HT < 70)') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', '(LHE_HT < 100)') # ll pT corr addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-70to100', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_HT-100to200', 'DY_LO_pTllrw * 1.000') #HT stitching correction
nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Nu_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo4L_ext1') + \ nanoGetSampleFiles(mcDirectory, 'WZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'Zg') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['Dyveto'] = { 'name': files, 'weight': '(1-embed_tautauveto)', 'FilesPerJob': 1, # There's some error about not finding sample-specific variables like "nllW" when mixing different samples into a single job; so split them all up instead } addSampleWeight( samples, 'Dyveto', 'TTTo2L2Nu', mcCommonWeight + '* (isTTbar * (TMath::Sqrt(TMath::Exp(-1.43717e-02 - 1.18358e-04*topGenPt - 1.70651e-07*topGenPt*topGenPt + 4.47969/(topGenPt+28.7)) * TMath::Exp(-1.43717e-02 - 1.18358e-04*antitopGenPt - 1.70651e-07*antitopGenPt*antitopGenPt + 4.47969/(antitopGenPt+28.7)))) + isSingleTop)' ) addSampleWeight(samples, 'Dyveto', 'ST_tW_antitop_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'ST_tW_top_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'WWTo2L2Nu', mcCommonWeight + '*nllW') addSampleWeight( samples, 'Dyveto', 'WpWmJJ_EWK', mcCommonWeight + '*(Sum$(abs(GenPart_pdgId)==6 || GenPart_pdgId==25)==0)') addSampleWeight(samples, 'Dyveto', 'GluGluToWWToTNTN', mcCommonWeight + '*1.53/1.4') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Nu_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo4L_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'WZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(
###### DY ####### ptllDYW_NLO = '(0.87*(gen_ptll<10)+(0.379119+0.099744*gen_ptll-0.00487351*gen_ptll**2+9.19509e-05*gen_ptll**3-6.0212e-07*gen_ptll**4)*(gen_ptll>=10 && gen_ptll<45)+(9.12137e-01+1.11957e-04*gen_ptll-3.15325e-06*gen_ptll**2-4.29708e-09*gen_ptll**3+3.35791e-11*gen_ptll**4)*(gen_ptll>=45 && gen_ptll<200) + 1*(gen_ptll>200))' ptllDYW_LO = '((0.632927+0.0456956*gen_ptll-0.00154485*gen_ptll*gen_ptll+2.64397e-05*gen_ptll*gen_ptll*gen_ptll-2.19374e-07*gen_ptll*gen_ptll*gen_ptll*gen_ptll+6.99751e-10*gen_ptll*gen_ptll*gen_ptll*gen_ptll*gen_ptll)*(gen_ptll>0)*(gen_ptll<100)+(1.41713-0.00165342*gen_ptll)*(gen_ptll>=100)*(gen_ptll<300)+1*(gen_ptll>=300))' files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_ext') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 6, } addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext', ptllDYW_NLO) addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', ptllDYW_LO) ###### Top ####### files = nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu') + \ nanoGetSampleFiles(mcDirectory, 'ST_s-channel_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_top') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_antitop_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_top_ext1') samples['top'] = { 'name': files, 'weight': mcCommonWeight, 'FilesPerJob': 1,
# ptllDYW_LO = '((0.632927+0.0456956*gen_ptll-0.00154485*gen_ptll*gen_ptll+2.64397e-05*gen_ptll*gen_ptll*gen_ptll-2.19374e-07*gen_ptll*gen_ptll*gen_ptll*gen_ptll+6.99751e-10*gen_ptll*gen_ptll*gen_ptll*gen_ptll*gen_ptll)*(gen_ptll>0)*(gen_ptll<100)+(1.41713-0.00165342*gen_ptll)*(gen_ptll>=100)*(gen_ptll<300)+1*(gen_ptll>=300))' if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + "*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )", 'FilesPerJob': 5, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO_ext1', 'DY_LO_pTllrw') else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + "*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )", 'FilesPerJob': 8, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'],
########################################### samples['ZZ'] = { 'name': getSampleFilesNano(directoryMC, 'ZZTo4L') + getSampleFilesNano(directoryMC, 'ZZTo4L_ext1'), 'weight': XSweight + '*' + SFweight + '*' + GenLepMatch3l + '*' + METFilter_MC, 'suppressNegativeNuisances': ['all'], 'FilesPerJob': 3, } ZZbaseW = getBaseWnAOD(directoryMC, 'Fall2017_102X_nAODv4_Full2017v5', ['ZZTo4L', 'ZZTo4L_ext1']) addSampleWeight(samples, 'ZZ', 'ZZTo4L', ZZbaseW + '/baseW') addSampleWeight(samples, 'ZZ', 'ZZTo4L_ext1', ZZbaseW + '/baseW') samples['WZ'] = { 'name': getSampleFilesNano(directoryMC, 'WZTo3LNu_mllmin01'), 'weight': '(( Alt$(CleanJet_pt[1],0) < 30 )*' + wz1jSF + '+( Alt$(CleanJet_pt[1],0) >= 30 )*' + wz2jSF + ')*' + XSweight + '*' + SFweight + '*' + GenLepMatch3l + '*' + METFilter_MC, 'suppressNegativeNuisances': ['all'], 'FilesPerJob': 1, } samples['VVV'] = {
'EGamma' : '!Trigger_ElMu && !Trigger_dblMu && !Trigger_sngMu && (Trigger_sngEl || Trigger_dblEl)' , } ########################################### ############# BACKGROUNDS ############### ########################################### samples['ZZ'] = { 'name': getSampleFilesNano(directoryMC,'ZZTo4L_ext1') +getSampleFilesNano(directoryMC,'ZZTo4L_ext2'), 'weight' : XSweight+'*'+SFweight+'*'+GenLepMatch3l+'*'+METFilter_MC, 'suppressNegativeNuisances' :['all'], 'FilesPerJob' : 3, } ZZbaseW = getBaseWnAOD(directoryMC,'Autumn18_102X_nAODv5_Full2018v5',['ZZTo4L_ext1','ZZTo4L_ext2']) addSampleWeight(samples,'ZZ','ZZTo4L_ext1',ZZbaseW+'/baseW') addSampleWeight(samples,'ZZ','ZZTo4L_ext2',ZZbaseW+'/baseW') samples['WZ'] = { 'name' : getSampleFilesNano(directoryMC,'WZTo3LNu_mllmin01'), 'weight' : '(( Alt$(CleanJet_pt[1],0) < 30 )*'+wz1jSF+'+( Alt$(CleanJet_pt[1],0) >= 30 )*'+wz2jSF+')*'+XSweight+'*'+SFweight+'*'+GenLepMatch3l+'*'+METFilter_MC , 'suppressNegativeNuisances' :['all'], 'FilesPerJob' : 1, } samples['VVV'] = { 'name': getSampleFilesNano(directoryMC,'WZZ') +getSampleFilesNano(directoryMC,'ZZZ') +getSampleFilesNano(directoryMC,'WWZ') +getSampleFilesNano(directoryMC,'WWW'), 'weight' : XSweight+'*'+SFweight+'*'+GenLepMatch3l+'*'+METFilter_MC, 'suppressNegativeNuisances' :['all'], 'FilesPerJob' : 5,
ptllDYW_LO = '(8.61313e-01+gen_ptll*4.46807e-03-1.52324e-05*gen_ptll*gen_ptll)*(1.08683 * (0.95 - 0.0657370*TMath::Erf((gen_ptll-11.)/5.51582)))*(gen_ptll<140)+1.141996*(gen_ptll>=140)' if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 4, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50', ptllDYW_NLO, False, 'nanoLatino_') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50', ptllDYW_NLO, False, 'nanoLatino_') else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 4, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'],
print(mcDirectoryRecoil) if useDYtt: files = nanoGetSampleFiles(mcDirectoryRecoil, 'DYJetsToTT_MuEle_M-50') + \ nanoGetSampleFiles(mcDirectoryRecoil, 'DYJetsToLL_M-10to50') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 4, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } addSampleWeight(samples, 'DY', 'DYJetsToTT_MuEle_M-50', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50', 'DY_NLO_pTllrw') else: files = nanoGetSampleFiles(mcDirectoryRecoil, 'DYJetsToLL_M-50_ext2') + \ nanoGetSampleFiles(mcDirectoryRecoil, 'DYJetsToLL_M-10to50') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0 &&\ Sum$(LeptonGen_isPrompt==1 && LeptonGen_pt>15)>=2) )', 'FilesPerJob': 4, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], }
########################################### ############ DY ############ ptllDYW_NLO = '(0.876979+gen_ptll*(4.11598e-03)-(2.35520e-05)*gen_ptll*gen_ptll)*(1.10211 * (0.958512 - 0.131835*TMath::Erf((gen_ptll-14.1972)/10.1525)))*(gen_ptll<140)+0.891188*(gen_ptll>=140)' ptllDYW_LO = '(8.61313e-01+gen_ptll*4.46807e-03-1.52324e-05*gen_ptll*gen_ptll)*(1.08683 * (0.95 - 0.0657370*TMath::Erf((gen_ptll-11.)/5.51582)))*(gen_ptll<140)+1.141996*(gen_ptll>=140)' Zgfilter = '( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>10 && abs(PhotonGen_eta)<2.6) > 0 && Sum$(LeptonGen_isPrompt==1)>=2) )' #Zg sample uses photon pt > 10 samples['DY'] = { 'name' : nanoGetSampleFiles(mcDirectory,'DYJetsToLL_M-10to50') + nanoGetSampleFiles(mcDirectory,'DYJetsToLL_M-50-LO_ext2'), # + getSampleFiles(directory,'DYJetsToTT_MuEle_M-50',False,'nanoLatino_'), 'weight' : XSWeight+'*'+SFweight+'*'+PromptGenLepMatch2l+'*'+METFilter_MC+ '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0))', 'FilesPerJob' : 5, } addSampleWeight(samples,'DY','DYJetsToLL_M-50-LO_ext2',ptllDYW_LO) #addSampleWeight(samples,'DY','DYJetsToTT_MuEle_M-50',ptllDYW_NLO) addSampleWeight(samples,'DY','DYJetsToLL_M-10to50',ptllDYW_LO) ####### ttV ################## samples['ttW'] = { 'name' : nanoGetSampleFiles(mcDirectory,'TTWJetsToLNu_ext1'), 'weight' : XSWeight+'*'+SFweight+'*'+PromptGenLepMatch3l+'*'+METFilter_MC, } #samples['ttW'] = { 'name': getSampleFiles(directory2,'TTWJetsToLNu',False,'nanoLatino_'), # 'weight' : XSWeight+'*'+SFweight+'*'+GenLepMatch3l+'*'+METFilter_MC, # } samples['ttZ'] = { 'name': nanoGetSampleFiles(mcDirectory,'TTZjets'), 'weight' : XSWeight+'*'+SFweight+'*'+PromptGenLepMatch+'*'+METFilter_MC,
'MuonEG': 'Trigger_ElMu', 'DoubleMuon': '!Trigger_ElMu && Trigger_dblMu', 'SingleMuon': '!Trigger_ElMu && !Trigger_dblMu && Trigger_sngMu', 'EGamma': '!Trigger_ElMu && !Trigger_dblMu && !Trigger_sngMu && (Trigger_sngEl || Trigger_dblEl)', } ########################################### ############# BACKGROUNDS ############### ########################################### ############ DY ############ ''' ptllDYW_NLO = '(0.876979+gen_ptll*(4.11598e-03)-(2.35520e-05)*gen_ptll*gen_ptll)*(1.10211 * (0.958512 - 0.131835*TMath::Erf((gen_ptll-14.1972)/10.1525)))*(gen_ptll<140)+0.891188*(gen_ptll>=140)' ptllDYW_LO = '(8.61313e-01+gen_ptll*4.46807e-03-1.52324e-05*gen_ptll*gen_ptll)*(1.08683 * (0.95 - 0.0657370*TMath::Erf((gen_ptll-11.)/5.51582)))*(gen_ptll<140)+1.141996*(gen_ptll>=140)' Zgfilter = '( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>10 && abs(PhotonGen_eta)<2.6) > 0 && Sum$(LeptonGen_isPrompt==1)>=2) )' #Zg sample uses photon pt > 10 samples['DY'] = { 'name' : nanoGetSampleFiles(mcDirectory,'DYJetsToLL_M-10to50') + nanoGetSampleFiles(mcDirectory,'DYJetsToLL_M-50-LO_ext2'), # + getSampleFiles(directory,'DYJetsToTT_MuEle_M-50',False,'nanoLatino_'), 'weight' : XSWeight+'*'+SFweight+'*'+PromptGenLepMatch2l+'*'+METFilter_MC+ '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0))', 'FilesPerJob' : 5, } addSampleWeight(samples,'DY','DYJetsToLL_M-50-LO_ext2',ptllDYW_LO) #addSampleWeight(samples,'DY','DYJetsToTT_MuEle_M-50',ptllDYW_NLO) addSampleWeight(samples,'DY','DYJetsToLL_M-10to50',ptllDYW_LO) '''
nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Nu_ext1') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo4L_ext1') + \ nanoGetSampleFiles(mcDirectory, 'WZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'Zg') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['Dyveto'] = { 'name': files, 'weight': '(1-embed_tautauveto)', 'FilesPerJob': 1, # There's some error about not finding sample-specific variables like "nllW" when mixing different samples into a single job; so split them all up instead } addSampleWeight( samples, 'Dyveto', 'TTTo2L2Nu', mcCommonWeight + '*(isTTbar * (TMath::Sqrt(TMath::Exp(0.0615 - 0.0005 * topGenPt) * TMath::Exp(0.0615 - 0.0005 * antitopGenPt))) + isSingleTop)' ) addSampleWeight(samples, 'Dyveto', 'ST_tW_antitop_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'ST_tW_top_ext1', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'WWTo2L2Nu', mcCommonWeight + '*nllW') addSampleWeight( samples, 'Dyveto', 'WpWmJJ_EWK', mcCommonWeight + '*(Sum$(abs(GenPart_pdgId)==6 || GenPart_pdgId==25)==0)') addSampleWeight(samples, 'Dyveto', 'GluGluToWWToTNTN', mcCommonWeight + '*1.53/1.4') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Nu_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo4L_ext1', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'WZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(
#files+= nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-200to400') #FIXME: missing file files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-400to600') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-4to50_HT-600toInf') files += nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO_ext1') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*(Sum$(GenPart_pdgId == 22 && TMath::Odd(GenPart_statusFlags) && GenPart_pt > 20.) == 0)', 'FilesPerJob': 3, #'FilesPerJob': 5, 'suppressNegative': ['all'], 'suppressNegativeNuisances': ['all'], } addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext1', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-4to50_HT-100to200_ext1', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-4to50_HT-200to400', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-4to50_HT-400to600', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-4to50_HT-600toInf', 'DY_LO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', 'DY_LO_pTllrw*(LHE_HT<100)') ###### Top ####### files = nanoGetSampleFiles(mcDirectory, 'TTToSemiLeptonic') files += nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu')
###### DY ####### useDYtt = False ptllDYW_NLO = '(0.876979+gen_ptll*(4.11598e-03)-(2.35520e-05)*gen_ptll*gen_ptll)*(1.10211 * (0.958512 - 0.131835*TMath::Erf((gen_ptll-14.1972)/10.1525)))*(gen_ptll<140)+0.891188*(gen_ptll>=140)' ptllDYW_LO = '(8.61313e-01+gen_ptll*4.46807e-03-1.52324e-05*gen_ptll*gen_ptll)*(1.08683 * (0.95 - 0.0657370*TMath::Erf((gen_ptll-11.)/5.51582)))*(gen_ptll<140)+1.141996*(gen_ptll>=140)' if useDYtt: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToTT_MuEle_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0))', 'FilesPerJob': 4, } addSampleWeight(samples,'DY','DYJetsToTT_MuEle_M-50',ptllDYW_NLO) addSampleWeight(samples,'DY','DYJetsToLL_M-10to50-LO',ptllDYW_LO) else: files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50_ext1') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-70to100') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-100to200') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-100to200_ext1') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-200to400') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-200to400_ext1') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-400to600') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-400to600_ext1') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-600to800') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-800to1200') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_HT-1200to2500') + \
samples['ZZ'] = { 'name': nanoGetSampleFiles(mcDirectory, 'ZZTo4L'), 'weight': mcCommonWeightMatched, # 'FilesPerJob' : 5, 'FilesPerJob': 1, } ############ WZ ############ samples['WZ'] = { 'name': nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01'), 'weight': mcCommonWeightMatched, # 'FilesPerJob' : 5, 'FilesPerJob': 2, } addSampleWeight(samples, 'WZ', 'WZTo3LNu_mllmin01', '(Gen_ZGstar_mass>=0.1)') ########## VVV ######### files = nanoGetSampleFiles(mcDirectory, 'ZZZ') + \ nanoGetSampleFiles(mcDirectory, 'WZZ') + \ nanoGetSampleFiles(mcDirectory, 'WWZ') + \ nanoGetSampleFiles(mcDirectory, 'WWW') samples['VVV'] = { 'name': files, 'weight': mcCommonWeightMatched, 'FilesPerJob': 4 } ###########################################
########################################### ###### DY ####### useEmbeddedDY = False embed_tautauveto = '' files = nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-50_ext2') + \ nanoGetSampleFiles(mcDirectory, 'DYJetsToLL_M-10to50-LO') samples['DY'] = { 'name': files, 'weight': mcCommonWeight + '*( !(Sum$(PhotonGen_isPrompt==1 && PhotonGen_pt>15 && abs(PhotonGen_eta)<2.6) > 0))', 'FilesPerJob': 2, } addSampleWeight(samples, 'DY', 'DYJetsToLL_M-50_ext2', 'DY_NLO_pTllrw') addSampleWeight(samples, 'DY', 'DYJetsToLL_M-10to50-LO', 'DY_LO_pTllrw') ##### Top ####### files = nanoGetSampleFiles(mcDirectory, 'TTTo2L2Nu') + \ nanoGetSampleFiles(mcDirectory, 'ST_s-channel') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_top') + \ nanoGetSampleFiles(mcDirectory, 'ST_t-channel_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_antitop') + \ nanoGetSampleFiles(mcDirectory, 'ST_tW_top') samples['top'] = { 'name': files, 'weight': mcCommonWeight + embed_tautauveto, 'FilesPerJob': 1,
nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Nu') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZZTo4L') + \ nanoGetSampleFiles(mcDirectory, 'WZTo2L2Q') + \ nanoGetSampleFiles(mcDirectory, 'ZGToLLG') + \ nanoGetSampleFiles(mcDirectory, 'WZTo3LNu_mllmin01') samples['Dyveto'] = { 'name': files, 'weight': '(1-embed_tautauveto)', 'FilesPerJob': 1, # There's some error about not finding sample-specific variables like "nllW" when mixing different samples into a single job; so split them all up instead } addSampleWeight( samples, 'Dyveto', 'TTTo2L2Nu_PSWeights', mcCommonWeight + '*((topGenPt * antitopGenPt > 0.) * (TMath::Sqrt(TMath::Exp(-1.43717e-02 - 1.18358e-04*topGenPt - 1.70651e-07*topGenPt*topGenPt + 4.47969/(topGenPt+28.7)) * TMath::Exp(-1.43717e-02 - 1.18358e-04*antitopGenPt - 1.70651e-07*antitopGenPt*antitopGenPt + 4.47969/(antitopGenPt+28.7)))) + (topGenPt * antitopGenPt <= 0.))' ) addSampleWeight(samples, 'Dyveto', 'ST_tW_antitop', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'ST_tW_top', mcCommonWeight) addSampleWeight(samples, 'Dyveto', 'WWTo2L2Nu', mcCommonWeight + '*nllW') addSampleWeight( samples, 'Dyveto', 'WpWmJJ_EWK_noTop', mcCommonWeight + '*(Sum$(abs(GenPart_pdgId)==6 || GenPart_pdgId==25)==0)') addSampleWeight(samples, 'Dyveto', 'GluGluToWWToTNTN', mcCommonWeight + '*1.53/1.4') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Nu', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'ZZTo4L', mcCommonWeight + '*1.11') addSampleWeight(samples, 'Dyveto', 'WZTo2L2Q', mcCommonWeight + '*1.11') addSampleWeight( samples, 'Dyveto', 'ZGToLLG', ' ( ' + mcCommonWeightNoMatch +