ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronIDMVA.h
Revision: 1.4
Committed: Fri Oct 7 14:04:12 2011 UTC (13 years, 6 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025c, Mit_025b, Mit_025a, Mit_025
Changes since 1.3: +2 -2 lines
Log Message:
update electron mva. change naming scheme to make it easier on users

File Contents

# Content
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 #include "MitCommon/MathTools/interface/MathUtils.h"
20
21 class TRandom3;
22 namespace TMVA {
23 class Reader;
24 }
25
26 namespace mithep {
27 class ElectronIDMVA {
28 public:
29 ElectronIDMVA();
30 ~ElectronIDMVA();
31
32 enum MVAType {
33 kBaseline = 0, // SigmaIEtaIEta, DEtaIn, DPhiIn, FBrem, SigmaIPhiIPhi, NBrem, OneOverEMinusOneOverP
34 kNoIPInfo, // kBaseline + EOverP, ESeedClusterOverPout, ESeedClusterOverPIn
35 kWithIPInfo // kV2 + d0 , IP3d, IP3dSig
36 };
37
38
39 void Initialize(TString methodName,
40 TString Subdet0Pt10To20Weights ,
41 TString Subdet1Pt10To20Weights ,
42 TString Subdet2Pt10To20Weights,
43 TString Subdet0Pt20ToInfWeights,
44 TString Subdet1Pt20ToInfWeights,
45 TString Subdet2Pt20ToInfWeights,
46 ElectronIDMVA::MVAType type );
47
48 Bool_t IsInitialized() const { return fIsInitialized; }
49 Double_t MVAValue(const Electron *ele, const Vertex *vertex);
50 Double_t MVAValue(Double_t ElePt , Double_t EleSCEta,
51 Double_t EleSigmaIEtaIEta,
52 Double_t EleDEtaIn,
53 Double_t EleDPhiIn,
54 Double_t EleHoverE,
55 Double_t EleD0,
56 Double_t EleDZ,
57 Double_t EleFBrem,
58 Double_t EleEOverP,
59 Double_t EleESeedClusterOverPout,
60 Double_t EleSigmaIPhiIPhi,
61 Double_t EleNBrem,
62 Double_t EleOneOverEMinusOneOverP,
63 Double_t EleESeedClusterOverPIn,
64 Double_t EleIP3d,
65 Double_t EleIP3dSig );
66
67
68 protected:
69 TMVA::Reader *fTMVAReader[6];
70 TString fMethodname;
71
72 Bool_t fIsInitialized;
73
74 Float_t fMVAVar_EleSigmaIEtaIEta;
75 Float_t fMVAVar_EleDEtaIn;
76 Float_t fMVAVar_EleDPhiIn;
77 Float_t fMVAVar_EleHoverE;
78 Float_t fMVAVar_EleD0;
79 Float_t fMVAVar_EleDZ;
80 Float_t fMVAVar_EleFBrem;
81 Float_t fMVAVar_EleEOverP;
82 Float_t fMVAVar_EleESeedClusterOverPout;
83 Float_t fMVAVar_EleSigmaIPhiIPhi;
84 Float_t fMVAVar_EleNBrem;
85 Float_t fMVAVar_EleOneOverEMinusOneOverP;
86 Float_t fMVAVar_EleESeedClusterOverPIn;
87 Float_t fMVAVar_EleIP3d;
88 Float_t fMVAVar_EleIP3dSig;
89
90
91 ClassDef(ElectronIDMVA, 0) // Muon tools
92 };
93 }
94
95 #endif