ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronIDMVA.h
Revision: 1.7
Committed: Tue Feb 7 20:53:28 2012 UTC (13 years, 2 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025e, Mit_025d
Changes since 1.6: +1 -0 lines
Log Message:
add internal radius parameter for isolation

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // ElectronIDMVA
5     //
6     // Helper Class for Electron Identification MVA
7     //
8     // Authors: S.Xie
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_ElectronIDMVA_H
12     #define MITPHYSICS_UTILS_ElectronIDMVA_H
13    
14     #include "MitAna/DataTree/interface/ElectronFwd.h"
15     #include "MitAna/DataTree/interface/VertexFwd.h"
16     #include "MitAna/DataTree/interface/TrackFwd.h"
17     #include "MitAna/DataTree/interface/Electron.h"
18     #include "MitAna/DataTree/interface/ElectronCol.h"
19 sixie 1.5 #include "MitAna/DataTree/interface/PFCandidateCol.h"
20     #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
21 sixie 1.1 #include "MitCommon/MathTools/interface/MathUtils.h"
22    
23     class TRandom3;
24     namespace TMVA {
25     class Reader;
26     }
27    
28     namespace mithep {
29     class ElectronIDMVA {
30     public:
31     ElectronIDMVA();
32     ~ElectronIDMVA();
33    
34 sixie 1.3 enum MVAType {
35     kBaseline = 0, // SigmaIEtaIEta, DEtaIn, DPhiIn, FBrem, SigmaIPhiIPhi, NBrem, OneOverEMinusOneOverP
36 sixie 1.4 kNoIPInfo, // kBaseline + EOverP, ESeedClusterOverPout, ESeedClusterOverPIn
37 sixie 1.5 kWithIPInfo, // kBaseline + d0 , IP3d, IP3dSig
38     kIDIsoCombined // ID variables , PFIso03 , PFIso04
39 sixie 1.3 };
40    
41    
42 sixie 1.1 void Initialize(TString methodName,
43     TString Subdet0Pt10To20Weights ,
44     TString Subdet1Pt10To20Weights ,
45     TString Subdet2Pt10To20Weights,
46     TString Subdet0Pt20ToInfWeights,
47     TString Subdet1Pt20ToInfWeights,
48     TString Subdet2Pt20ToInfWeights,
49 sixie 1.3 ElectronIDMVA::MVAType type );
50 sixie 1.1
51     Bool_t IsInitialized() const { return fIsInitialized; }
52     Double_t MVAValue(const Electron *ele, const Vertex *vertex);
53 sixie 1.5 Double_t MVAValue(const Electron *ele, const Vertex *vertex,
54 sixie 1.6 const PFCandidateCol *PFCands,
55     const PileupEnergyDensityCol *PileupEnergyDensity,
56 sixie 1.7 Double_t intRadius,
57 sixie 1.6 Bool_t printDebug = kFALSE);
58 sixie 1.5 Double_t MVAValue(Double_t ElePt , Double_t EleEta,
59 sixie 1.2 Double_t EleSigmaIEtaIEta,
60     Double_t EleDEtaIn,
61     Double_t EleDPhiIn,
62     Double_t EleHoverE,
63     Double_t EleD0,
64     Double_t EleDZ,
65     Double_t EleFBrem,
66     Double_t EleEOverP,
67     Double_t EleESeedClusterOverPout,
68     Double_t EleSigmaIPhiIPhi,
69     Double_t EleNBrem,
70     Double_t EleOneOverEMinusOneOverP,
71     Double_t EleESeedClusterOverPIn,
72     Double_t EleIP3d,
73 sixie 1.5 Double_t EleIP3dSig);
74     Double_t MVAValue(Double_t ElePt , Double_t EleEta,
75     Double_t PileupEnergyDensity,
76     Double_t EleSigmaIEtaIEta,
77     Double_t EleDEtaIn,
78     Double_t EleDPhiIn,
79     Double_t EleHoverE,
80     Double_t EleD0,
81     Double_t EleDZ,
82     Double_t EleFBrem,
83     Double_t EleEOverP,
84     Double_t EleESeedClusterOverPout,
85     Double_t EleSigmaIPhiIPhi,
86     Double_t EleNBrem,
87     Double_t EleOneOverEMinusOneOverP,
88     Double_t EleESeedClusterOverPIn,
89     Double_t EleIP3d,
90     Double_t EleIP3dSig,
91     Double_t EleGsfTrackChi2OverNdof,
92     Double_t EledEtaCalo,
93     Double_t EledPhiCalo,
94     Double_t EleR9,
95     Double_t EleSCEtaWidth,
96     Double_t EleSCPhiWidth,
97     Double_t EleCovIEtaIPhi,
98     Double_t ElePreShowerOverRaw,
99     Double_t EleChargedIso03,
100     Double_t EleNeutralHadronIso03,
101     Double_t EleGammaIso03,
102     Double_t EleChargedIso04,
103     Double_t EleNeutralHadronIso04,
104 sixie 1.6 Double_t EleGammaIso04,
105     Bool_t printDebug = kFALSE );
106 sixie 1.2
107    
108 sixie 1.1 protected:
109     TMVA::Reader *fTMVAReader[6];
110     TString fMethodname;
111    
112     Bool_t fIsInitialized;
113    
114     Float_t fMVAVar_EleSigmaIEtaIEta;
115     Float_t fMVAVar_EleDEtaIn;
116     Float_t fMVAVar_EleDPhiIn;
117     Float_t fMVAVar_EleHoverE;
118     Float_t fMVAVar_EleD0;
119     Float_t fMVAVar_EleDZ;
120     Float_t fMVAVar_EleFBrem;
121     Float_t fMVAVar_EleEOverP;
122     Float_t fMVAVar_EleESeedClusterOverPout;
123     Float_t fMVAVar_EleSigmaIPhiIPhi;
124     Float_t fMVAVar_EleNBrem;
125     Float_t fMVAVar_EleOneOverEMinusOneOverP;
126     Float_t fMVAVar_EleESeedClusterOverPIn;
127     Float_t fMVAVar_EleIP3d;
128     Float_t fMVAVar_EleIP3dSig;
129 sixie 1.5 Float_t fMVAVar_EleGsfTrackChi2OverNdof;
130     Float_t fMVAVar_EledEtaCalo;
131     Float_t fMVAVar_EledPhiCalo;
132     Float_t fMVAVar_EleR9;
133     Float_t fMVAVar_EleSCEtaWidth;
134     Float_t fMVAVar_EleSCPhiWidth;
135     Float_t fMVAVar_EleCovIEtaIPhi;
136     Float_t fMVAVar_ElePreShowerOverRaw;
137     Float_t fMVAVar_EleChargedIso03OverPt;
138     Float_t fMVAVar_EleNeutralHadronIso03OverPt;
139     Float_t fMVAVar_EleGammaIso03OverPt;
140     Float_t fMVAVar_EleChargedIso04OverPt;
141     Float_t fMVAVar_EleNeutralHadronIso04OverPt;
142     Float_t fMVAVar_EleGammaIso04OverPt;
143    
144 sixie 1.1 ClassDef(ElectronIDMVA, 0) // Muon tools
145     };
146     }
147    
148     #endif