ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/ElectronIDMVA.h
Revision: 1.3
Committed: Mon Oct 3 16:32:08 2011 UTC (13 years, 7 months ago) by sixie
Content type: text/plain
Branch: MAIN
Changes since 1.2: +9 -9 lines
Log Message:
update MVA interface

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     #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 sixie 1.3 enum MVAType {
33     kBaseline = 0, // SigmaIEtaIEta, DEtaIn, DPhiIn, FBrem, SigmaIPhiIPhi, NBrem, OneOverEMinusOneOverP
34     kV1, // kBaseline + EOverP, HoverE, ESeedClusterOverPout, ESeedClusterOverPIn
35     kV2 // kV2 + d0 , IP3d, IP3dSig
36     };
37    
38    
39 sixie 1.1 void Initialize(TString methodName,
40     TString Subdet0Pt10To20Weights ,
41     TString Subdet1Pt10To20Weights ,
42     TString Subdet2Pt10To20Weights,
43     TString Subdet0Pt20ToInfWeights,
44     TString Subdet1Pt20ToInfWeights,
45     TString Subdet2Pt20ToInfWeights,
46 sixie 1.3 ElectronIDMVA::MVAType type );
47 sixie 1.1
48     Bool_t IsInitialized() const { return fIsInitialized; }
49     Double_t MVAValue(const Electron *ele, const Vertex *vertex);
50 sixie 1.2 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 sixie 1.3 Double_t EleIP3dSig );
66 sixie 1.2
67    
68 sixie 1.1 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