CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
analysisSelections.h
Go to the documentation of this file.
1 #ifndef ANALYSIS_SELECTIONS_H
2 #define ANALYSIS_SELECTIONS_H
3 
12 
13 namespace HWWFunctions {
14 
16  bool passFirstCuts(HWW&, int);
17  bool passCharge(HWW&, int);
21  bool passZVeto(HWW&, int);
22  bool passMinMet(HWW&, int);
23  bool passMinMet40(HWW&, int);
24  bool passDPhiDiLepJet(HWW&, int);
25  bool passSoftMuonVeto(HWW&, int);
26  bool passTopVeto(HWW&, int);
27 
28  int bestHypothesis(HWW& hww, const std::vector<int>&);
29  bool isGoodVertex(HWW& hww, int);
30  unsigned int nGoodVertex(HWW& hww);
31 
32 
33  std::vector<JetPair> getJets(HWW& hww, int, double, double, bool, bool);
34  std::vector<JetPair> getDefaultJets(HWW& hww, unsigned int, bool);
35  unsigned int numberOfJets(HWW& hww, unsigned int);
36  bool defaultBTag(HWW& hww, unsigned int, float);
37  Bool_t comparePt(JetPair lv1, JetPair lv2);
38  bool passMVAJetId(double, double, double, unsigned int);
39 
40  //
41  // Electron Id
42  //
43 
44  bool ww_elBase(HWW& hww, unsigned int i);
45  bool ww_elId(HWW& hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator* egammaMvaEleEstimator);
46  bool ww_eld0(HWW& hww, unsigned int i);
47  bool ww_eld0PV(HWW& hww, unsigned int i);
48  bool ww_eldZPV(HWW& hww, unsigned int i);
49  bool ww_elIso(HWW& hww, unsigned int i);
50  double ww_elIsoVal(HWW& hww, unsigned int i);
51 
52  // combined analysis selectors
53  bool goodElectronTMVA(HWW& hww, EGammaMvaEleEstimator* egammaMvaEleEstimator, int useMVAeleId, unsigned int i);
54  bool goodElectronWithoutIsolation(HWW& hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator* egammaMvaEleEstimator);
55  bool goodElectronIsolated(HWW& hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator* egammaMvaEleEstimator, bool lockToCoreSelectors);
56  bool fakableElectron(HWW& hww, unsigned int i,EleFOTypes);
57  bool ElectronFOV4(HWW& hww, unsigned int i);
58 
59  //
60  // Muon Id
61  //
62 
63  bool ww_muBase(HWW& hww, unsigned int i);
64  bool ww_muId(HWW& hww, unsigned int i, bool useMVAmuId, MuonIDMVA *mva);
65  bool ww_muIso(HWW& hww, unsigned int i);
66  bool ww_muIso(HWW& hww, unsigned int i, MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
67  double ww_muIsoVal(HWW& hww, unsigned int i);
68  bool ww_mud0(HWW& hww, unsigned int i);
69  bool ww_mud0PV(HWW& hww, unsigned int i);
70  bool ww_mudZPV(HWW& hww, unsigned int i, float cut=0.1);
71 
72  // combined analysis selectors
73  bool goodMuonTMVA(HWW& hww, MuonIDMVA *mva, unsigned int i);
74  bool goodMuonWithoutIsolation(HWW& hww, unsigned int i, bool useMVAmuId, MuonIDMVA *mva,
75  MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
76  bool goodMuonIsolated(HWW& hww, unsigned int i, bool lockToCoreSelectors, bool useMVAmuId, MuonIDMVA *mva,
77  MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle );
78  bool fakableMuon(HWW& hww, unsigned int i, MuFOTypes, MuonMVAEstimator* muonMVAEstimator,
79  std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
80  bool passMuonRingsMVA(HWW& hww, unsigned int mu, MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
81  bool passMuonRingsMVAFO(HWW& hww, unsigned int mu, MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
82 
83 
84  //
85  // leptons
86  //
87  std::vector<LeptonPair> getExtraLeptons(HWW& hww, int i_hyp, double minPt, bool useLHeleId, int useMVAeleId,
88  EGammaMvaEleEstimator* egammaMvaEleEstimator, bool useMVAmuId, MuonIDMVA *mumva,
89  MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
90  unsigned int numberOfExtraLeptons(HWW& hww, int i_hyp, double minPt, bool useLHeleId, int useMVAeleId,
91  EGammaMvaEleEstimator* egammaMvaEleEstimator, bool useMVAmuId, MuonIDMVA *mumva,
92  MuonMVAEstimator* muonMVAEstimator, std::vector<Int_t> IdentifiedMu, std::vector<Int_t> IdentifiedEle);
93  unsigned int numberOfSoftMuons(HWW& hww, int i_hyp, bool nonisolated);
94 
95  double nearestDeltaPhi(HWW& hww, double Phi, int i_hyp);
96  double projectedMet(HWW& hww, unsigned int i_hyp, double met, double phi);
97 
98 
99  bool toptag(HWW& hww, int i_hyp, double minPt, std::vector<JetPair> ignoreJets=std::vector<JetPair>());
100 
101 }
102 #endif
bool ww_mud0(HWW &hww, unsigned int i)
bool ww_muId(HWW &hww, unsigned int i, bool useMVAmuId, MuonIDMVA *mva)
int i
Definition: DBlmapReader.cc:9
bool passMinMet40(HWW &, int)
bool fakableElectron(HWW &hww, unsigned int i, EleFOTypes)
Bool_t comparePt(JetPair lv1, JetPair lv2)
double ww_muIsoVal(HWW &hww, unsigned int i)
bool ww_elId(HWW &hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator *egammaMvaEleEstimator)
std::pair< LorentzVector, unsigned int > JetPair
Definition: analysisEnums.h:11
bool passTopVeto(HWW &, int)
EleFOTypes
Definition: analysisEnums.h:25
bool goodElectronIsolated(HWW &hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator *egammaMvaEleEstimator, bool lockToCoreSelectors)
bool passCharge(HWW &, int)
bool goodElectronTMVA(HWW &hww, EGammaMvaEleEstimator *egammaMvaEleEstimator, int useMVAeleId, unsigned int i)
unsigned int numberOfSoftMuons(HWW &hww, int i_hyp, bool nonisolated)
bool passBaseline(HWW &, int, EGammaMvaEleEstimator *, MuonMVAEstimator *)
bool goodElectronWithoutIsolation(HWW &hww, unsigned int i, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator *egammaMvaEleEstimator)
bool passMVAJetId(double, double, double, unsigned int)
bool ww_eldZPV(HWW &hww, unsigned int i)
bool goodMuonWithoutIsolation(HWW &hww, unsigned int i, bool useMVAmuId, MuonIDMVA *mva, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
bool toptag(HWW &hww, int i_hyp, double minPt, std::vector< JetPair > ignoreJets=std::vector< JetPair >())
std::vector< LeptonPair > getExtraLeptons(HWW &hww, int i_hyp, double minPt, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator *egammaMvaEleEstimator, bool useMVAmuId, MuonIDMVA *mumva, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
bool ElectronFOV4(HWW &hww, unsigned int i)
MuFOTypes
Definition: analysisEnums.h:26
bool goodMuonTMVA(HWW &hww, MuonIDMVA *mva, unsigned int i)
bool ww_eld0(HWW &hww, unsigned int i)
bool passMuonRingsMVA(HWW &hww, unsigned int mu, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
double projectedMet(HWW &hww, unsigned int i_hyp, double met, double phi)
bool ww_elIso(HWW &hww, unsigned int i)
bool ww_mud0PV(HWW &hww, unsigned int i)
bool defaultBTag(HWW &hww, unsigned int, float)
bool passDPhiDiLepJet(HWW &, int)
bool fakableMuon(HWW &hww, unsigned int i, MuFOTypes, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
std::vector< JetPair > getJets(HWW &hww, int, double, double, bool, bool)
int bestHypothesis(HWW &hww, const std::vector< int > &)
unsigned int numberOfJets(HWW &hww, unsigned int)
const int mu
Definition: Constants.h:22
bool ww_elBase(HWW &hww, unsigned int i)
bool ww_muBase(HWW &hww, unsigned int i)
Definition: HWW.h:12
bool passExtraLeptonVeto(HWW &, int, EGammaMvaEleEstimator *, MuonMVAEstimator *)
bool goodMuonIsolated(HWW &hww, unsigned int i, bool lockToCoreSelectors, bool useMVAmuId, MuonIDMVA *mva, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
bool passSoftMuonVeto(HWW &, int)
void doCutFlow(HWW &, int, EventMonitor &, EGammaMvaEleEstimator *, MuonMVAEstimator *)
bool ww_mudZPV(HWW &hww, unsigned int i, float cut=0.1)
bool passFirstCuts(HWW &, int)
unsigned int nGoodVertex(HWW &hww)
double nearestDeltaPhi(HWW &hww, double Phi, int i_hyp)
double ww_elIsoVal(HWW &hww, unsigned int i)
Geom::Phi< T > phi() const
bool passMuonRingsMVAFO(HWW &hww, unsigned int mu, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
bool ww_muIso(HWW &hww, unsigned int i)
bool passFullLep(HWW &, int, EGammaMvaEleEstimator *, MuonMVAEstimator *)
std::vector< JetPair > getDefaultJets(HWW &hww, unsigned int, bool)
bool ww_eld0PV(HWW &hww, unsigned int i)
unsigned int numberOfExtraLeptons(HWW &hww, int i_hyp, double minPt, bool useLHeleId, int useMVAeleId, EGammaMvaEleEstimator *egammaMvaEleEstimator, bool useMVAmuId, MuonIDMVA *mumva, MuonMVAEstimator *muonMVAEstimator, std::vector< Int_t > IdentifiedMu, std::vector< Int_t > IdentifiedEle)
bool passMinMet(HWW &, int)
bool passZVeto(HWW &, int)
bool isGoodVertex(HWW &hww, int)