ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.34
Committed: Mon Oct 8 17:23:19 2012 UTC (12 years, 6 months ago) by mingyang
Content type: text/plain
Branch: MAIN
Changes since 1.33: +3 -1 lines
Log Message:
kHggLeptonTagId2012HCP added

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 mingyang 1.34 kHggLeptonTagId2012HCP,
49 sixie 1.33 kMVAID_BDTG_IDHWW2012TrigV0,
50     kMVAID_BDTG_IDIsoCombinedHWW2012TrigV4
51 sixie 1.1 };
52    
53     enum EElIsoType {
54 ceballos 1.12 kIsoUndef = 0, //"not defined"
55     kTrackCalo, //"TrackCalo"
56     kTrackJura, //"TrackJura"
57     kTrackJuraCombined, //"TrackJuraCombined"
58     kTrackJuraSliding, //"TrackJuraSliding"
59     kTrackJuraSlidingNoCorrection, //"TrackJuraSlidingNoCorrection"
60 sixie 1.19 kCombinedRelativeConeAreaCorrected, //"CombinedRelativeConeAreaCorrected"
61 ceballos 1.12 kNoIso, //"NoIso"
62     kPFIso, //"PFIso"
63     kPFIsoNoL, //"PFIsoNoL"
64     kZeeIso, //"ZeeIso"
65     kCustomIso, //"Custom"
66 sixie 1.1 kVBTFWorkingPoint95Iso,
67     kVBTFWorkingPoint90Iso,
68 ceballos 1.4 kVBTFWorkingPoint85Iso,
69 sixie 1.1 kVBTFWorkingPoint80Iso,
70 sixie 1.23 kVBTFWorkingPoint70Iso,
71 ceballos 1.28 kMVAIso_BDTG_IDIsoCombined,
72 fabstoec 1.32 kPFIso_HWW2012TrigV0,
73 sixie 1.33 kPFIso_HggLeptonTag2012,
74 mingyang 1.34 kPFIso_HggLeptonTag2012HCP,
75 sixie 1.33 kMVAIso_BDTG_IDIsoCombinedHWW2012TrigV4
76 sixie 1.1 };
77    
78 sixie 1.23 enum EElectronEffectiveAreaType {
79     kEleChargedIso03,
80     kEleNeutralHadronIso03,
81 anlevin 1.31 kEleGammaAndNeutralHadronIso03,
82 sixie 1.23 kEleGammaIso03,
83     kEleGammaIsoVetoEtaStrip03,
84     kEleChargedIso04,
85     kEleNeutralHadronIso04,
86 khahn 1.30 kEleGammaAndNeutralHadronIso04,
87 sixie 1.23 kEleGammaIso04,
88     kEleGammaIsoVetoEtaStrip04,
89     kEleNeutralHadronIso007,
90 ceballos 1.28 kEleNeutralIso04,
91 sixie 1.23 kEleHoverE,
92     kEleHcalDepth1OverEcal,
93 sixie 1.24 kEleHcalDepth2OverEcal,
94     kEleGammaIsoDR0p0To0p1,
95     kEleGammaIsoDR0p1To0p2,
96     kEleGammaIsoDR0p2To0p3,
97     kEleGammaIsoDR0p3To0p4,
98     kEleGammaIsoDR0p4To0p5,
99     kEleNeutralHadronIsoDR0p0To0p1,
100     kEleNeutralHadronIsoDR0p1To0p2,
101     kEleNeutralHadronIsoDR0p2To0p3,
102     kEleNeutralHadronIsoDR0p3To0p4,
103     kEleNeutralHadronIsoDR0p4To0p5
104 sixie 1.23 };
105    
106 sixie 1.24 enum EElectronEffectiveAreaTarget {
107     kEleEANoCorr,
108     kEleEAData2011,
109 fabstoec 1.32 kEleEAData2012,
110 sixie 1.24 kEleEASummer11MC,
111     kEleEAFall11MC
112     };
113    
114 sixie 1.1 static Bool_t PassChargeFilter(const Electron *el);
115     static Bool_t PassConversionFilter(const Electron *el, const DecayParticleCol *conversions,
116 bendavid 1.15 const BaseVertex *vtx, UInt_t nWrongHitsMax=0, Double_t probMin=1e-6,
117 bendavid 1.17 Double_t lxyMin = 2.0, Bool_t matchCkf = kTRUE, Bool_t requireArbitratedMerged = kFALSE, Double_t trkptMin = -99.);
118 sixie 1.1 static Bool_t PassCustomID(const Electron *el, EElIdType idType);
119 ceballos 1.4 static Bool_t PassCustomIso(const Electron *el, EElIsoType isoType,
120     Bool_t useCombineIso = kTRUE);
121 ceballos 1.14 static Bool_t PassD0Cut(const Electron *el, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex = 0);
122 ceballos 1.7 static Bool_t PassD0Cut(const Electron *el, const BeamSpotCol *beamspots, Double_t fD0Cut);
123 ceballos 1.16 static Bool_t PassDZCut(const Electron *el, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex = 0);
124 sixie 1.1 static Bool_t PassSpikeRemovalFilter(const Electron *ele);
125 bendavid 1.5 static Bool_t PassTriggerMatching(const Electron *ele, const TriggerObjectCol *trigobjs);
126 ceballos 1.3 static Int_t Classify(const Electron *ele);
127     static Int_t PassTightId(const Electron *ele, const VertexCol *vertices,
128 ceballos 1.10 const DecayParticleCol *conversions, const Int_t typeCuts,
129     Double_t beta = 1.0);
130 ceballos 1.6 static bool compute_cut(double x, double et, double cut_min, double cut_max, bool gtn=false);
131 sixie 1.20 static Double_t Likelihood(ElectronLikelihood *LH, const Electron *ele);
132 sixie 1.24 static Double_t ElectronEffectiveArea(EElectronEffectiveAreaType type, Double_t Eta,
133     EElectronEffectiveAreaTarget EffectiveAreaTarget = kEleEAData2011);
134 sixie 1.1
135 fabstoec 1.25 static Bool_t PassHggLeptonTagID(const Electron *el);
136 fabstoec 1.32 static Bool_t PassHggLeptonTagID2012(const Electron *el);
137 mingyang 1.34
138 sixie 1.1 ClassDef(ElectronTools, 0) // Muon tools
139     };
140     }
141    
142     #endif