ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MuonIDMVA.h
Revision: 1.4
Committed: Wed Jan 4 16:28:17 2012 UTC (13 years, 3 months ago) by sixie
Content type: text/plain
Branch: MAIN
Changes since 1.3: +4 -2 lines
Log Message:
add print debug as an option

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // ElectronIDMVA
5     //
6     // Helper Class for Muon Identification MVA
7     //
8     // Authors: S.Xie
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_MuonIDMVA_H
12     #define MITPHYSICS_UTILS_MuonIDMVA_H
13    
14     #include "MitAna/DataTree/interface/MuonFwd.h"
15     #include "MitAna/DataTree/interface/VertexFwd.h"
16     #include "MitAna/DataTree/interface/TrackFwd.h"
17     #include "MitAna/DataTree/interface/Muon.h"
18     #include "MitAna/DataTree/interface/MuonCol.h"
19 sixie 1.3 #include "MitAna/DataTree/interface/PFCandidateCol.h"
20     #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
21 sixie 1.1 #include "MitCommon/MathTools/interface/MathUtils.h"
22 sixie 1.3 #include "MitPhysics/Utils/interface/MuonTools.h"
23 sixie 1.1
24     class TRandom3;
25     namespace TMVA {
26     class Reader;
27     }
28    
29     namespace mithep {
30     class MuonIDMVA {
31     public:
32     MuonIDMVA();
33     ~MuonIDMVA();
34    
35     enum MVAType {
36 sixie 1.2 kV2,
37     kV3,
38     kV8
39 sixie 1.1 };
40    
41    
42     void Initialize(TString methodName,
43     TString Subdet0Pt10To14p5Weights ,
44     TString Subdet1Pt10To14p5Weights ,
45     TString Subdet0Pt14p5To20Weights,
46     TString Subdet1Pt14p5To20Weights,
47     TString Subdet0Pt20ToInfWeights,
48     TString Subdet1Pt20ToInfWeights,
49     MuonIDMVA::MVAType type);
50    
51     Bool_t IsInitialized() const { return fIsInitialized; }
52 sixie 1.3 Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
53     const PFCandidateCol *PFCands,
54 sixie 1.4 const PileupEnergyDensityCol *PileupEnergyDensity,
55     Bool_t printDebug = kFALSE);
56 sixie 1.1 Double_t MVAValue( Double_t MuPt , Double_t MuEta,
57     Double_t MuTkNchi2,
58     Double_t MuGlobalNchi2,
59     Double_t MuNValidHits,
60     Double_t MuNTrackerHits,
61     Double_t MuNPixelHits,
62     Double_t MuNMatches,
63     Double_t MuD0,
64     Double_t MuIP3d,
65     Double_t MuIP3dSig,
66     Double_t MuTrkKink,
67     Double_t MuSegmentCompatibility,
68     Double_t MuCaloCompatibility,
69     Double_t MuHadEnergyOverPt,
70     Double_t MuHoEnergyOverPt,
71     Double_t MuEmEnergyOverPt,
72     Double_t MuHadS9EnergyOverPt,
73     Double_t MuHoS9EnergyOverPt,
74 sixie 1.2 Double_t MuEmS9EnergyOverPt,
75     Double_t MuChargedIso03OverPt,
76     Double_t MuNeutralIso03OverPt,
77     Double_t MuChargedIso04OverPt,
78 sixie 1.4 Double_t MuNeutralIso04OverPt,
79     Bool_t printDebug = kFALSE
80 sixie 1.1 );
81    
82    
83     protected:
84     TMVA::Reader *fTMVAReader[6];
85     TString fMethodname;
86    
87     Bool_t fIsInitialized;
88    
89     Float_t fMVAVar_MuTkNchi2;
90     Float_t fMVAVar_MuGlobalNchi2;
91     Float_t fMVAVar_MuNValidHits;
92     Float_t fMVAVar_MuNTrackerHits;
93     Float_t fMVAVar_MuNPixelHits;
94     Float_t fMVAVar_MuNMatches;
95     Float_t fMVAVar_MuD0;
96     Float_t fMVAVar_MuIP3d;
97     Float_t fMVAVar_MuIP3dSig;
98     Float_t fMVAVar_MuTrkKink;
99     Float_t fMVAVar_MuSegmentCompatibility;
100     Float_t fMVAVar_MuCaloCompatibility;
101     Float_t fMVAVar_MuHadEnergyOverPt;
102     Float_t fMVAVar_MuHoEnergyOverPt;
103     Float_t fMVAVar_MuEmEnergyOverPt;
104     Float_t fMVAVar_MuHadS9EnergyOverPt;
105     Float_t fMVAVar_MuHoS9EnergyOverPt;
106     Float_t fMVAVar_MuEmS9EnergyOverPt;
107 sixie 1.2 Float_t fMVAVar_MuChargedIso03OverPt;
108     Float_t fMVAVar_MuNeutralIso03OverPt;
109     Float_t fMVAVar_MuChargedIso04OverPt;
110     Float_t fMVAVar_MuNeutralIso04OverPt;
111 sixie 1.1
112    
113     ClassDef(MuonIDMVA, 0) // Muon MVA
114     };
115     }
116    
117     #endif