ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.32
Committed: Thu Jul 12 17:05:50 2012 UTC (12 years, 9 months ago) by fabstoec
Content type: text/plain
Branch: MAIN
Changes since 1.31: +5 -2 lines
Log Message:
added 2012 Hgg LeptonTag

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // ElectronTools
5     //
6     // Helper Class for electron Identification decisions.
7     //
8     // Authors: S.Xie
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_ELECTRONTOOLS_H
12     #define MITPHYSICS_UTILS_ELECTRONTOOLS_H
13    
14     #include "MitAna/DataTree/interface/Electron.h"
15     #include "MitAna/DataTree/interface/DecayParticleCol.h"
16     #include "MitAna/DataTree/interface/VertexCol.h"
17 sixie 1.2 #include "MitAna/DataTree/interface/BeamSpotCol.h"
18 bendavid 1.5 #include "MitAna/DataTree/interface/TriggerObjectCol.h"
19 sixie 1.1 #include "MitCommon/MathTools/interface/MathUtils.h"
20 sixie 1.20 #include "MitPhysics/ElectronLikelihood/interface/ElectronLikelihood.h"
21 sixie 1.1
22     namespace mithep {
23     class ElectronTools {
24     public:
25     ElectronTools();
26    
27     enum EElIdType {
28     kIdUndef = 0, //not defined
29     kTight, //"Tight"
30     kLoose, //"Loose"
31     kLikelihood, //"Likelihood"
32     kNoId, //"NoId"
33     kZeeId, //"ZeeId"
34     kCustomIdLoose, //"CustomLoose"
35     kCustomIdTight, //"CustomTight"
36 ceballos 1.18 kVBTFWorkingPointFakeableId,
37 sixie 1.1 kVBTFWorkingPoint95Id,
38     kVBTFWorkingPoint90Id,
39 ceballos 1.4 kVBTFWorkingPoint85Id,
40 sixie 1.1 kVBTFWorkingPoint80Id,
41 ceballos 1.16 kVBTFWorkingPointLowPtId,
42 sixie 1.20 kVBTFWorkingPoint70Id,
43 sixie 1.23 kMVAID_BDTG_NoIPInfo,
44     kMVAID_BDTG_WithIPInfo,
45 fabstoec 1.25 kMVAID_BDTG_IDIsoCombined,
46 ceballos 1.26 kHggLeptonTagId,
47 fabstoec 1.32 kHggLeptonTagId2012,
48 ceballos 1.27 kMVAID_BDTG_IDHWW2012TrigV0
49 sixie 1.1 };
50    
51     enum EElIsoType {
52 ceballos 1.12 kIsoUndef = 0, //"not defined"
53     kTrackCalo, //"TrackCalo"
54     kTrackJura, //"TrackJura"
55     kTrackJuraCombined, //"TrackJuraCombined"
56     kTrackJuraSliding, //"TrackJuraSliding"
57     kTrackJuraSlidingNoCorrection, //"TrackJuraSlidingNoCorrection"
58 sixie 1.19 kCombinedRelativeConeAreaCorrected, //"CombinedRelativeConeAreaCorrected"
59 ceballos 1.12 kNoIso, //"NoIso"
60     kPFIso, //"PFIso"
61     kPFIsoNoL, //"PFIsoNoL"
62     kZeeIso, //"ZeeIso"
63     kCustomIso, //"Custom"
64 sixie 1.1 kVBTFWorkingPoint95Iso,
65     kVBTFWorkingPoint90Iso,
66 ceballos 1.4 kVBTFWorkingPoint85Iso,
67 sixie 1.1 kVBTFWorkingPoint80Iso,
68 sixie 1.23 kVBTFWorkingPoint70Iso,
69 ceballos 1.28 kMVAIso_BDTG_IDIsoCombined,
70 fabstoec 1.32 kPFIso_HWW2012TrigV0,
71     kPFIso_HggLeptonTag2012
72 sixie 1.1 };
73    
74 sixie 1.23 enum EElectronEffectiveAreaType {
75     kEleChargedIso03,
76     kEleNeutralHadronIso03,
77 anlevin 1.31 kEleGammaAndNeutralHadronIso03,
78 sixie 1.23 kEleGammaIso03,
79     kEleGammaIsoVetoEtaStrip03,
80     kEleChargedIso04,
81     kEleNeutralHadronIso04,
82 khahn 1.30 kEleGammaAndNeutralHadronIso04,
83 sixie 1.23 kEleGammaIso04,
84     kEleGammaIsoVetoEtaStrip04,
85     kEleNeutralHadronIso007,
86 ceballos 1.28 kEleNeutralIso04,
87 sixie 1.23 kEleHoverE,
88     kEleHcalDepth1OverEcal,
89 sixie 1.24 kEleHcalDepth2OverEcal,
90     kEleGammaIsoDR0p0To0p1,
91     kEleGammaIsoDR0p1To0p2,
92     kEleGammaIsoDR0p2To0p3,
93     kEleGammaIsoDR0p3To0p4,
94     kEleGammaIsoDR0p4To0p5,
95     kEleNeutralHadronIsoDR0p0To0p1,
96     kEleNeutralHadronIsoDR0p1To0p2,
97     kEleNeutralHadronIsoDR0p2To0p3,
98     kEleNeutralHadronIsoDR0p3To0p4,
99     kEleNeutralHadronIsoDR0p4To0p5
100 sixie 1.23 };
101    
102 sixie 1.24 enum EElectronEffectiveAreaTarget {
103     kEleEANoCorr,
104     kEleEAData2011,
105 fabstoec 1.32 kEleEAData2012,
106 sixie 1.24 kEleEASummer11MC,
107     kEleEAFall11MC
108     };
109    
110 sixie 1.1 static Bool_t PassChargeFilter(const Electron *el);
111     static Bool_t PassConversionFilter(const Electron *el, const DecayParticleCol *conversions,
112 bendavid 1.15 const BaseVertex *vtx, UInt_t nWrongHitsMax=0, Double_t probMin=1e-6,
113 bendavid 1.17 Double_t lxyMin = 2.0, Bool_t matchCkf = kTRUE, Bool_t requireArbitratedMerged = kFALSE, Double_t trkptMin = -99.);
114 sixie 1.1 static Bool_t PassCustomID(const Electron *el, EElIdType idType);
115 ceballos 1.4 static Bool_t PassCustomIso(const Electron *el, EElIsoType isoType,
116     Bool_t useCombineIso = kTRUE);
117 ceballos 1.14 static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex = 0);
118 ceballos 1.7 static Bool_t PassD0Cut(const Electron *el, const BeamSpotCol *beamspots, Double_t fD0Cut);
119 ceballos 1.16 static Bool_t PassDZCut(const Electron *el, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex = 0);
120 sixie 1.1 static Bool_t PassSpikeRemovalFilter(const Electron *ele);
121 bendavid 1.5 static Bool_t PassTriggerMatching(const Electron *ele, const TriggerObjectCol *trigobjs);
122 ceballos 1.3 static Int_t Classify(const Electron *ele);
123     static Int_t PassTightId(const Electron *ele, const VertexCol *vertices,
124 ceballos 1.10 const DecayParticleCol *conversions, const Int_t typeCuts,
125     Double_t beta = 1.0);
126 ceballos 1.6 static bool compute_cut(double x, double et, double cut_min, double cut_max, bool gtn=false);
127 sixie 1.20 static Double_t Likelihood(ElectronLikelihood *LH, const Electron *ele);
128 sixie 1.24 static Double_t ElectronEffectiveArea(EElectronEffectiveAreaType type, Double_t Eta,
129     EElectronEffectiveAreaTarget EffectiveAreaTarget = kEleEAData2011);
130 sixie 1.1
131 fabstoec 1.25 static Bool_t PassHggLeptonTagID(const Electron *el);
132 fabstoec 1.32 static Bool_t PassHggLeptonTagID2012(const Electron *el);
133 fabstoec 1.25
134 sixie 1.1 ClassDef(ElectronTools, 0) // Muon tools
135     };
136     }
137    
138     #endif