From 25da43c71f8e60342b68dcb4a42a41b8463da40e Mon Sep 17 00:00:00 2001 From: MarkBaber Date: Tue, 9 Sep 2014 14:16:53 +0200 Subject: [PATCH 1/2] Preliminary additions for AlphaT analysis --- CMGTools/RootTools/interface/AlphaT.h | 26 +++ CMGTools/RootTools/src/AlphaT.cc | 34 ++++ CMGTools/RootTools/src/classes.h | 2 + CMGTools/RootTools/src/classes_def.xml | 1 + .../TTHAnalysis/cfg/run_susyAlphaT_cfg.py | 184 ++++++++++++++++++ .../analyzers/treeProducerSusyAlphaT.py | 93 +++++++++ .../python/analyzers/ttHAlphaTVarAnalyzer.py | 72 +++++++ .../python/samples/samples_8TeV_v517.py | 32 +++ 8 files changed, 444 insertions(+) create mode 100644 CMGTools/RootTools/interface/AlphaT.h create mode 100644 CMGTools/RootTools/src/AlphaT.cc create mode 100644 CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py create mode 100644 CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py create mode 100644 CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py diff --git a/CMGTools/RootTools/interface/AlphaT.h b/CMGTools/RootTools/interface/AlphaT.h new file mode 100644 index 0000000000000..4383a3d49e665 --- /dev/null +++ b/CMGTools/RootTools/interface/AlphaT.h @@ -0,0 +1,26 @@ +#ifndef AlphaT_h +#define AlphaT_h + +#include +#include +#include + + +/* AlphaT + * + * Calculates the AlphaT event variable for a given input jet collection + * + * + * 08 Sept 2014 - Ported from ICF code (Mark Baber) + */ + + +struct AlphaT { + + static double getAlphaT( const std::vector& et, + const std::vector& px, + const std::vector& py ); + +}; + +#endif // AlphaT_h diff --git a/CMGTools/RootTools/src/AlphaT.cc b/CMGTools/RootTools/src/AlphaT.cc new file mode 100644 index 0000000000000..09c8c1b405c58 --- /dev/null +++ b/CMGTools/RootTools/src/AlphaT.cc @@ -0,0 +1,34 @@ +#include "CMGTools/RootTools/interface/AlphaT.h" + +#include +#include +#include + + +double AlphaT::getAlphaT( const std::vector& et, + const std::vector& px, + const std::vector& py ){ + + // Momentum sums in transverse plane + const double sum_et = accumulate( et.begin(), et.end(), 0. ); + const double sum_px = accumulate( px.begin(), px.end(), 0. ); + const double sum_py = accumulate( py.begin(), py.end(), 0. ); + + // Minimum Delta Et for two pseudo-jets + double min_delta_sum_et = -1.; + for ( unsigned i=0; i < unsigned(1<<(et.size()-1)); i++ ) { //@@ iterate through different combinations + double delta_sum_et = 0.; + std::vector jet; + for ( unsigned j=0; j < et.size(); j++ ) { //@@ iterate through jets + delta_sum_et += et[j] * ( 1 - 2 * (int(i>>j)&1) ); + } + if ( ( fabs(delta_sum_et) < min_delta_sum_et || min_delta_sum_et < 0. ) ) { + min_delta_sum_et = fabs(delta_sum_et); + } + } + if ( min_delta_sum_et < 0. ) { return 0.; } + + // Alpha_T + return ( 0.5 * ( sum_et - min_delta_sum_et ) / sqrt( sum_et*sum_et - (sum_px*sum_px+sum_py*sum_py) ) ); + + } diff --git a/CMGTools/RootTools/src/classes.h b/CMGTools/RootTools/src/classes.h index a159bea418713..adef027c94de9 100644 --- a/CMGTools/RootTools/src/classes.h +++ b/CMGTools/RootTools/src/classes.h @@ -9,6 +9,7 @@ #include "CMGTools/RootTools/interface/Davismt2.h" #include "CMGTools/RootTools/interface/mt2w_bisect.h" #include "CMGTools/RootTools/interface/Hemisphere.h" +#include "CMGTools/RootTools/interface/AlphaT.h" namespace { namespace { @@ -22,5 +23,6 @@ namespace { Hemisphere hemisphere(vector px, vector py, vector pz, vector E, int hemi_seed, int hemi_association); Davismt2 mt2; mt2w_bisect::mt2w mt2wlept; + AlphaT alphaT; } } diff --git a/CMGTools/RootTools/src/classes_def.xml b/CMGTools/RootTools/src/classes_def.xml index 1521c08bd381b..fe0cadb663059 100644 --- a/CMGTools/RootTools/src/classes_def.xml +++ b/CMGTools/RootTools/src/classes_def.xml @@ -10,4 +10,5 @@ + diff --git a/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py new file mode 100644 index 0000000000000..9a199c85f5916 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py @@ -0,0 +1,184 @@ +import CMGTools.RootTools.fwlite.Config as cfg +from CMGTools.RootTools.fwlite.Config import printComps +from CMGTools.RootTools.RootTools import * + +#Load all analyzers +from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * + +##------------------------------------------ +## Redefine analyzer parameters +##------------------------------------------ + +# Muons +#------------------------------ +ttHLepAna.loose_muon_pt = 10., +ttHLepAna.loose_muon_eta = 2.5, +ttHLepAna.loose_muon_dxy = 0.5 +ttHLepAna.loose_muon_dz = 1.0 +#ttHLepAna.loose_muon_relIso = 0.15 + +# Electrons +#------------------------------ +ttHLepAna.loose_electron_id = "POG_Cuts_ID_2012_Veto" +ttHLepAna.loose_electron_pt = 10 +ttHLepAna.loose_electron_eta = 2.5 +ttHLepAna.loose_electron_dxy = 0.5 +ttHLepAna.loose_electron_dz = 0. +# ttHLepAna.loose_electron_relIso = 0.15 +# ttHLepAna.loose_electron_lostHits = 999 # no cut +# ttHLepAna.inclusive_electron_lostHits = 999 # no cut +# ttHLepAna.ele_isoCorr = "deltaBeta" +# ttHLepAna.ele_tightId = "Cuts_2012" + +# Photons +#------------------------------ +ttHPhoAna.ptMin = 25, +ttHPhoAna.epaMax = 2.5, + +# Taus +#------------------------------ +ttHTauAna.etaMax = 2.3 +ttHTauAna.dxyMax = 99999. +ttHTauAna.dzMax = 99999. +ttHTauAna.vetoLeptons = False +ttHTauAna.vetoLeptonsPOG = True + + +# Jets (for event variables do apply the jetID and not PUID yet) +#------------------------------ +ttHJetAna.relaxJetId = False +ttHJetAna.doPuId = False +ttHJetAna.jetEta = 5. +ttHJetAna.jetEtaCentral = 3. +ttHJetAna.jetPt = 50. +ttHJetAna.recalibrateJets = False +ttHJetAna.jetLepDR = 0.4 +ttHJetMCAna.smearJets = False + + +# Energy sums +#------------------------------ +# NOTE: Currently energy sums are calculated with 40 GeV jets (ttHCoreEventAnalyzer.py) +# However, the input collection is cleanjets which have a 50 GeV cut so this is a labeling problem + +ttHJetMETSkim.htCut = ('htJet50j', 0) +ttHJetMETSkim.mhtCut = ('htJet40j', 0) +ttHJetMETSkim.nBJet = ('CSVM', 0, "jet.pt() > 50") # require at least 0 jets passing CSVM and pt > 50 + +##------------------------------------------ +## ISOLATED TRACK +##------------------------------------------ + +# those are the cuts for the nonEMu +ttHIsoTrackAna = cfg.Analyzer( + 'ttHIsoTrackAnalyzer', +# candidates='cmgCandidates', +# candidatesTypes='std::vector', + candidates ='packedPFCandidates', + candidatesTypes ='std::vector', + ptMin = 5, ### for pion + ptMinEMU = 5, ### for EMU + dzMax = 0.1, + ##### + isoDR = 0.3, + ptPartMin = 0, + dzPartMax = 0.1, + maxAbsIso = 8, + ##### + MaxIsoSum = 0.1, ### unused + MaxIsoSumEMU = 0.2, ### unused + doSecondVeto = False + ) + + +##------------------------------------------ +## ALPHAT VARIABLES +##------------------------------------------ + +# Tree Producer +ttHAlphaTAna = cfg.Analyzer( + 'ttHAlphaTVarAnalyzer' + ) + +##------------------------------------------ +## PRODUCER +##------------------------------------------ + +from CMGTools.TTHAnalysis.samples.samples_8TeV_v517 import triggers_RA1_Bulk, triggers_RA1_Prompt, triggers_RA1_Parked, triggers_RA1_Single_Mu, triggers_RA1_Photon, triggers_RA1_Muon + +# Tree Producer +treeProducer = cfg.Analyzer( + 'treeProducerSusyAlphaT', + vectorTree = True, + PDFWeights = PDFWeights, + triggerBits = { + 'Bulk' : triggers_RA1_Bulk, + 'Prompt' : triggers_RA1_Prompt, + 'Parked' : triggers_RA1_Parked, + 'SingleMu' : triggers_RA1_Single_Mu, + 'Photon' : triggers_RA1_Photon, + 'Muon' : triggers_RA1_Muon, + } + ) + + +#-------- SAMPLES AND TRIGGERS ----------- +from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * + +# CSA13 PU20bx25 samples: DYJetsM50_PU20bx25, DYJetsM50pythia6_PU20bx25, DYJetsM50_HT200to400_PU20bx25, DYJetsM50_HT400to600_PU20bx25, DYJetsM50_HT600toInf_PU20bx25, DYJetsMuMuM50_PtZ180_PU20bx25, DYJetsMuMuM6pythia8_PU20bx25, DYJetsMuMuM15pythia8_PU20bx25, DYJetsMuMuM50pythia8_PU20bx25, DYJetsEEpythia8_PU20bx25, DYJetsMuMupythia8_PU20bx25, EWKWmin_PU20bx25, EWKWplus_PU20bx25, EWKZjj_PU20bx25, EleGun_PU20bx25, GGHTauTau_PU20bx25, GGHZZ4L_PU20bx25, GJet_PU20bx25, JPsiPt20_PU20bx25, JPsiPt7_PU20bx25, MinBias_PU20bx25, MuMinGunPt100_PU20bx25, MuMinGunPt10_PU20bx25, MuPlusGunPt100_PU20bx25, MuPlusGunPt10_PU20bx25, NeutrinoGun_PU20bx25, QCDEM_20to30_PU20bx25, QCDEM_30to80_PU20bx25, QCDEM_80to170_PU20bx25, QCDMu_20to30_PU20bx25, QCDMu_30to50_PU20bx25, QCDMu_50to80_PU20bx25, QCDMu_80to120_PU20bx25, QCDMu_pythia6_120to170_PU20bx25, QCDMu_pythia6_20to30_PU20bx25, QCDMu_pythia6_30to50_PU20bx25, QCDMu_pythia6_50to80_PU20bx25, QCDMu_pythia6_80to120_PU20bx25, T1tttt_PU20bx25, TTHBB_PU20bx25, TTHGG_PU20bx25, TTHTauTau_PU20bx25, TTHWW_PU20bx25, TTHZZ4L_PU20bx25, TTJets_PU20bx25, TTJets_PUS14, TTpythia8_PU20bx25, VBFHBB_PU20bx25, VBFHGG_PU20bx25, VBFHWWSemi_PU20bx25, VBFHWW_PU20bx25, VBFHZG_PU20bx25, VBFHZZ4L_PU20bx25, VHMuMu_PU20bx25, VHTauTau_PU20bx25, VHWWInc_PU20bx25, VHWWLep_PU20bx25, VHZZ4L_PU20bx25, WENupyhia8_PU20bx25, WJets_PU20bx25, WminTau_PU20bx25, WplusMu_PU20bx25, WplusTau_PU20bx25, ZHBBInv_PU20bx25, ZHBBLL_PU20bx25, ZHLLInv_PU20bx25 + +#selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsM50_PU20bx25, TTJets_PUS14 ] +selectedComponents = [ TTJets_PU20bx25 ] + + + +#-------- SEQUENCE + +sequence = cfg.Sequence(susyCoreSequence + [ + ttHIsoTrackAna, + ttHAlphaTAna, + treeProducer, + ]) + + +#-------- HOW TO RUN +test = 4 + +# Test a single component, using a single thread. +#-------------------------------------------------- +if test==1: + comp = TTJets_PU20bx25 + #comp.files = ['/afs/cern.ch/work/p/pandolf/CMSSW_7_0_6_patch1_2/src/CMGTools/TTHAnalysis/cfg/pickevents.root'] + comp.files = comp.files[:2] + + selectedComponents = [comp] + comp.splitFactor = 1 +#-------------------------------------------------- + +# Test all components (1 thread per component). +#-------------------------------------------------- +elif test==2: + for comp in selectedComponents: + comp.splitFactor = 1 + comp.files = comp.files[:1] +#-------------------------------------------------- + +# Run on local files +#-------------------------------------------------- +elif test==4: + comp = TTJets_PU20bx25 +# comp.name = 'TTJets' + # comp.files = [ '/store/mc/Spring14miniaod/TT_Tune4C_13TeV-pythia8-tauola/MINIAODSIM/PU20bx25_POSTLS170_V5-v1/00000/063013AD-9907-E411-8135-0026189438BD.root' ] + + comp.files = [ '/afs/cern.ch/user/m/mbaber/WORK/private/CSA14Samples/TT_Tune4C_13TeV-pythia8_PU20bx25.root' ] + + selectedComponents = [comp] + comp.splitFactor = 1 +#-------------------------------------------------- + + +config = cfg.Config( components = selectedComponents, + sequence = sequence ) + +printComps(config.components, True) + diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py new file mode 100644 index 0000000000000..985dcd4aeb672 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py @@ -0,0 +1,93 @@ +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyCore import * + +class treeProducerSusyAlphaT( treeProducerSusyCore ): + + #----------------------------------- + # TREE PRODUCER FOR SUSY MULTILEPTONS + #----------------------------------- + def __init__(self, cfg_ana, cfg_comp, looperName): + super(treeProducerSusyAlphaT,self).__init__(cfg_ana, cfg_comp, looperName) + + ## Declare what we want to fill (in addition to susy core ones) + self.globalVariables += [ + + + #NTupleVariable("crossSection", lambda ev : ev.crossSection, help="process cross section in pb"), + + + # Energy sums + #---------------------------------------- + + NTupleVariable("ht", lambda ev : ev.htJet40j, help="H_{T} computed from only jets (with |eta|<2.5, pt > 40 GeV)"), + NTupleVariable("deltaPhiMin", lambda ev : ev.deltaPhiMin, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4"), + NTupleVariable("diffMetMht", lambda ev : ev.diffMetMht, help="abs( vec(mht) - vec(met) )"), + NTupleVariable("mht_pt", lambda ev : ev.mhtJet40j, help="H_{T}^{miss} computed from only jets (with |eta|<2.5, pt > 40 GeV)"), + NTupleVariable("mht_phi", lambda ev : ev.mhtPhiJet40j, help="H_{T}^{miss} #phi computed from onlyy jets (with |eta|<2.5, pt > 40 GeV)"), + ##-------------------------------------------------- + + # Physics object multplicities + #---------------------------------------- + NTupleVariable("nMuons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 13 for l in ev.selectedLeptons]), int, help="Number of muons with pt > 10"), + NTupleVariable("nElectrons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 11 for l in ev.selectedLeptons]), int, help="Number of electrons with pt > 10"), + NTupleVariable("nTaus20", lambda ev: sum([l.pt() > 20 for l in ev.selectedTaus]), int, help="Number of taus with pt > 20"), + NTupleVariable("nGammas20", lambda ev: sum([l.pt() > 20 for l in ev.selectedPhotons]), int, help="Number of photons with pt > 20"), + NTupleVariable("nBJet40", lambda ev: sum([j.btagWP("CSVM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), + + # AlphaT variables + #---------------------------------------- + + # NEED TO ADD: + # - M_{T} + # - metcorrected for photon, muon + # - mht/metcorrected + + # NTupleVariable("nJet50", lambda ev: len(ev.cleanJets), int, help="Number of jets with pt > 50, |eta|<3"), + # NTupleVariable("nJetFwd50", lambda ev: len(ev.cleanJetsFwd), int, help="Number of jets with pt > 50, 3<|eta|<5"), + # NTupleVariable("nBJetMedium50", lambda ev: len(ev.bjetsMedium), int, help="Number of jets with pt > 50, |eta|<3 passing CSV medium"), + # NTupleVariable("htJet50", lambda ev: ev.htJet50, help="H_{T} computed from jets (with |eta|<3, pt > 50 GeV)"), + # NTupleVariable("mhtJet50", lambda ev: ev.mhtJet50, help="H_{T}^{miss} computed from jets (with |eta|<3, pt > 50 GeV)"), + # NTupleVariable("mht50OverMet", lambda ev: ev.mht50OverMet,help="H_{T}^{miss}/E_{T}^{miss} computed from jets (with |eta|<3, pt > 50 GeV)"), + + + NTupleVariable("alphaT", lambda ev: ev.alphaT, help="AlphaT computed using jets with pt > 50, |eta|<3"), + + # # NTupleVariable("mT", lambda ev: ev.mT, help="M_{T} computed from lepton and type-1 corrected PFMET"), + + # NTupleVariable("mZ1", lambda ev: ev.bestZ1[0], help="Best m(ll) SF/OS"), + # NTupleVariable("pt2l", lambda ev: ev.pt2l, help="p_{T}(ll)"), + # NTupleVariable("m2l", lambda ev: ev.m2l, help="m(ll)"), + + ##-------------------------------------------------- + # NTupleVariable("mtw", lambda ev: ev.mtw, int, help="mt(l,met)"), + # NTupleVariable("mtwTau", lambda ev: ev.mtwTau, int, help="mt(tau,met)"), + # NTupleVariable("IsoTrack_mtw", lambda ev: ev.mtwIsoTrack, int, help="mt(isoTrack,met)"), + ##-------------------------------------------------- + # NTupleVariable("minMWjj", lambda ev: ev.minMWjj, int, help="minMWjj"), + # NTupleVariable("minMWjjPt", lambda ev: ev.minMWjjPt, int, help="minMWjjPt"), + # NTupleVariable("bestMWjj", lambda ev: ev.bestMWjj, int, help="bestMWjj"), + # NTupleVariable("bestMWjjPt", lambda ev: ev.bestMWjjPt, int, help="bestMWjjPt"), + # NTupleVariable("bestMTopHad", lambda ev: ev.bestMTopHad, int, help="bestMTopHad"), + # NTupleVariable("bestMTopHadPt", lambda ev: ev.bestMTopHadPt, int, help="bestMTopHadPt"), + ##-------------------------------------------------- + ] + + self.globalObjects.update({ + # put more here + # "pseudoJet1" : NTupleObject("pseudoJet1", fourVectorType, help="pseudoJet1 for hemishphere"), + # "pseudoJet2" : NTupleObject("pseudoJet2", fourVectorType, help="pseudoJet2 for hemishphere"), + }) + self.collections.update({ + # put more here + "selectedLeptons" : NTupleCollection("lep", leptonTypeSusy, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), + "selectedTaus" : NTupleCollection("tau", tauTypeSusy, 50, help="Taus after the preselection"), + "cleanJetsAll" : NTupleCollection("jet", jetTypeSusy, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt > 50 |eta| < 3) , sorted by pt", filter=lambda l : l.pt()>50 ), + "selectedPhotons" : NTupleCollection("gamma", photonTypeSusy, 50, help="photons with pt > 25 and loose cut based ID"), + "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), + "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 200, help="all pruned genparticles"), + }) + + ## Book the variables, but only if we're called explicitly and not through a base class + if cfg_ana.name == "treeProducerSusyAlphaT": + self.initDone = True + self.declareVariables() + diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py new file mode 100644 index 0000000000000..527855f492c0d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py @@ -0,0 +1,72 @@ +import operator +import itertools +import copy +from math import * + +#from ROOT import TLorentzVector, TVectorD + +from CMGTools.RootTools.fwlite.Analyzer import Analyzer +from CMGTools.RootTools.fwlite.Event import Event +from CMGTools.RootTools.statistics.Counter import Counter, Counters +from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +# from CMGTools.RootTools.physicsobjects.Lepton import Lepton +# from CMGTools.RootTools.physicsobjects.Photon import Photon +# from CMGTools.RootTools.physicsobjects.Electron import Electron +# from CMGTools.RootTools.physicsobjects.Muon import Muon +# from CMGTools.RootTools.physicsobjects.Tau import Tau +from CMGTools.RootTools.physicsobjects.Jet import Jet + +from CMGTools.RootTools.utils.DeltaR import * + +import ROOT +from ROOT import AlphaT + + +import os + +class ttHAlphaTVarAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHAlphaTVarAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHAlphaTVarAnalyzer, self).declareHandles() + #genJets + self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') + + def beginLoop(self): + super(ttHAlphaTVarAnalyzer,self).beginLoop() + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + + # Calculate alphaT using jet ET + def makeAlphaT(self, event): + + if len(event.cleanJets) == 0: + event.alphaT = 0 + return + + px = ROOT.std.vector('double')() + py = ROOT.std.vector('double')() + et = ROOT.std.vector('double')() + + for jet in event.cleanJets: + px.push_back(jet.px()) + py.push_back(jet.py()) + et.push_back(jet.et()) + pass + + alphaTCalc = AlphaT() + event.alphaT = alphaTCalc.getAlphaT( et, px, py ) + + return + + + def process(self, iEvent, event): + self.readCollections( iEvent ) + + event.alphaT = -999 + self.makeAlphaT(event) + + return True diff --git a/CMGTools/TTHAnalysis/python/samples/samples_8TeV_v517.py b/CMGTools/TTHAnalysis/python/samples/samples_8TeV_v517.py index 8c59a34f6d8da..6f6ade52fc70a 100644 --- a/CMGTools/TTHAnalysis/python/samples/samples_8TeV_v517.py +++ b/CMGTools/TTHAnalysis/python/samples/samples_8TeV_v517.py @@ -72,6 +72,38 @@ triggers_MET150 = ["HLT_PFMET150_v*"] triggers_HTMET = ["HLT_PFHT350_PFMET100_v*","HLT_PFNoPUHT350_PFMET100_v*"] + +### ----> RA1 2012 triggers + +triggers_RA1_Bulk = [ + "HLT_HT200_v*", + "HLT_HT250_v*", + "HLT_HT300_v*", + "HLT_HT350_v*", + "HLT_HT450_v*", + "HLT_HT550_v*", + "HLT_HT650_v*", + "HLT_HT750_v*", + ] +triggers_RA1_Parked = [ + "HLT_HT200_AlphaT0p57_v*", + "HLT_HT300_AlphaT0p53_v*", + "HLT_HT350_AlphaT0p52_v*", + "HLT_HT400_AlphaT0p51_v*", + ] +triggers_RA1_Prompt = [ + "HLT_HT250_AlphaT0p55_v*", + "HLT_HT300_AlphaT0p53_v*", + "HLT_HT350_AlphaT0p52_v*", + "HLT_HT400_AlphaT0p51_v*", + "HLT_HT350_AlphaT0p52_v*", + ] +triggers_RA1_Single_Mu = ["HLT_IsoMu24_eta2p1_v*"] +triggers_RA1_Photon = ["HLT_Photon150_v%d"%i for i in range(1,20)] + ["HLT_Photon160_v%d"%i for i in range(1,20)] +triggers_RA1_Muon = ["HLT_IsoMu24_eta2p1_v%d"%i for i in range(1,20)] + + + #####COMPONENT CREATOR from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator From be996ba957aadb3eeea6646903c7f4b7015d6e73 Mon Sep 17 00:00:00 2001 From: MarkBaber Date: Fri, 19 Sep 2014 15:50:46 +0200 Subject: [PATCH 2/2] Added latest sample selections, merged latest CMG_MiniAOD_Lite_V6_0_from-CMSSW_7_0_6 changes --- .../TTHAnalysis/cfg/run_susyAlphaT_cfg.py | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py index 9a199c85f5916..d6c6a56683bbf 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py @@ -121,14 +121,39 @@ } ) - #-------- SAMPLES AND TRIGGERS ----------- -from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * +from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * # CSA13 PU20bx25 samples: DYJetsM50_PU20bx25, DYJetsM50pythia6_PU20bx25, DYJetsM50_HT200to400_PU20bx25, DYJetsM50_HT400to600_PU20bx25, DYJetsM50_HT600toInf_PU20bx25, DYJetsMuMuM50_PtZ180_PU20bx25, DYJetsMuMuM6pythia8_PU20bx25, DYJetsMuMuM15pythia8_PU20bx25, DYJetsMuMuM50pythia8_PU20bx25, DYJetsEEpythia8_PU20bx25, DYJetsMuMupythia8_PU20bx25, EWKWmin_PU20bx25, EWKWplus_PU20bx25, EWKZjj_PU20bx25, EleGun_PU20bx25, GGHTauTau_PU20bx25, GGHZZ4L_PU20bx25, GJet_PU20bx25, JPsiPt20_PU20bx25, JPsiPt7_PU20bx25, MinBias_PU20bx25, MuMinGunPt100_PU20bx25, MuMinGunPt10_PU20bx25, MuPlusGunPt100_PU20bx25, MuPlusGunPt10_PU20bx25, NeutrinoGun_PU20bx25, QCDEM_20to30_PU20bx25, QCDEM_30to80_PU20bx25, QCDEM_80to170_PU20bx25, QCDMu_20to30_PU20bx25, QCDMu_30to50_PU20bx25, QCDMu_50to80_PU20bx25, QCDMu_80to120_PU20bx25, QCDMu_pythia6_120to170_PU20bx25, QCDMu_pythia6_20to30_PU20bx25, QCDMu_pythia6_30to50_PU20bx25, QCDMu_pythia6_50to80_PU20bx25, QCDMu_pythia6_80to120_PU20bx25, T1tttt_PU20bx25, TTHBB_PU20bx25, TTHGG_PU20bx25, TTHTauTau_PU20bx25, TTHWW_PU20bx25, TTHZZ4L_PU20bx25, TTJets_PU20bx25, TTJets_PUS14, TTpythia8_PU20bx25, VBFHBB_PU20bx25, VBFHGG_PU20bx25, VBFHWWSemi_PU20bx25, VBFHWW_PU20bx25, VBFHZG_PU20bx25, VBFHZZ4L_PU20bx25, VHMuMu_PU20bx25, VHTauTau_PU20bx25, VHWWInc_PU20bx25, VHWWLep_PU20bx25, VHZZ4L_PU20bx25, WENupyhia8_PU20bx25, WJets_PU20bx25, WminTau_PU20bx25, WplusMu_PU20bx25, WplusTau_PU20bx25, ZHBBInv_PU20bx25, ZHBBLL_PU20bx25, ZHLLInv_PU20bx25 + + +# Selected samples as defined on the AlphaT twiki +WJetsToLNu = [ WJetsToLNu_HT100to200_PU_S14_POSTLS170, WJetsToLNu_HT200to400_PU_S14_POSTLS170, WJetsToLNu_HT400to600_PU_S14_POSTLS170, WJetsToLNu_HT600toInf_PU_S14_POSTLS170] + +# Currently not defined in the samples file could be added from here: https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2F*DYJetsToLL*13TeV*%2F*PU20bx25*%2F*AODSIM +#DYJetsToLL = [] +# Currently not defined in the samples file could be added from here: https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2F*ZJetsToNuNu*13TeV*%2F*PU20bx25*%2F*AODSIM +#ZJetsToNuNu = [] +# https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2F*GJets*13TeV*%2F*PU20bx25*%2F*AODSIM +#GJets = [] + +# NOT INCLUDING: /TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-PU20bx25_POSTLS170_V5-v2/MINIAODSIM +TTbar = [ TTpythia8_PU20bx25 ] +# https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2FTToBLNu*13TeV*%2FSpring*PU20bx25*%2F*AODSIM +#TToBLNu = [] +# https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2FSMS-T1qqqq*13TeV*%2FSpring*PU20bx25*%2F*AODSIM +#T1qqqq = [] +# https://cmsweb.cern.ch/das/request?view=list&limit=100&instance=prod%2Fglobal&input=dataset%3D%2FSMS-T1bbbb*13TeV*%2FSpring*PU20bx25*%2F*AODSIM +#T1bbbb = [] +T1tttt = [ T1tttt_PU20bx25 ] + + #selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsM50_PU20bx25, TTJets_PUS14 ] -selectedComponents = [ TTJets_PU20bx25 ] +selectedComponents = [] +selectedComponents.extend( WJetsToLNu ) +selectedComponents.extend( TTbar ) +