ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronTools.h
Revision: 1.30
Committed: Sun May 20 18:10:28 2012 UTC (12 years, 11 months ago) by khahn
Content type: text/plain
Branch: MAIN
CVS Tags: synced_FSR_2, Mit_028a
Changes since 1.29: +1 -0 lines
Log Message:
adding kEleGammaAndNeutralHadronIso04

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