ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MuonIDMVA.h
Revision: 1.5
Committed: Mon Jan 23 20:05:20 2012 UTC (13 years, 3 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025e, Mit_025d
Changes since 1.4: +36 -2 lines
Log Message:
update muon mva with detector isolation variables

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 sixie 1.5 kV8,
39     kIDIsoCombinedDetIso
40 sixie 1.1 };
41    
42    
43     void Initialize(TString methodName,
44     TString Subdet0Pt10To14p5Weights ,
45     TString Subdet1Pt10To14p5Weights ,
46     TString Subdet0Pt14p5To20Weights,
47     TString Subdet1Pt14p5To20Weights,
48     TString Subdet0Pt20ToInfWeights,
49     TString Subdet1Pt20ToInfWeights,
50     MuonIDMVA::MVAType type);
51    
52     Bool_t IsInitialized() const { return fIsInitialized; }
53 sixie 1.3 Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
54     const PFCandidateCol *PFCands,
55 sixie 1.4 const PileupEnergyDensityCol *PileupEnergyDensity,
56     Bool_t printDebug = kFALSE);
57 sixie 1.1 Double_t MVAValue( Double_t MuPt , Double_t MuEta,
58     Double_t MuTkNchi2,
59     Double_t MuGlobalNchi2,
60     Double_t MuNValidHits,
61     Double_t MuNTrackerHits,
62     Double_t MuNPixelHits,
63     Double_t MuNMatches,
64     Double_t MuD0,
65     Double_t MuIP3d,
66     Double_t MuIP3dSig,
67     Double_t MuTrkKink,
68     Double_t MuSegmentCompatibility,
69     Double_t MuCaloCompatibility,
70     Double_t MuHadEnergyOverPt,
71     Double_t MuHoEnergyOverPt,
72     Double_t MuEmEnergyOverPt,
73     Double_t MuHadS9EnergyOverPt,
74     Double_t MuHoS9EnergyOverPt,
75 sixie 1.2 Double_t MuEmS9EnergyOverPt,
76     Double_t MuChargedIso03OverPt,
77     Double_t MuNeutralIso03OverPt,
78     Double_t MuChargedIso04OverPt,
79 sixie 1.5 Double_t MuNeutralIso04OverPt,
80     Bool_t printDebug = kFALSE
81     );
82     Double_t MVAValue( Double_t MuPt , Double_t MuEta,
83     Double_t MuTkNchi2,
84     Double_t MuGlobalNchi2,
85     Double_t MuNValidHits,
86     Double_t MuNTrackerHits,
87     Double_t MuNPixelHits,
88     Double_t MuNMatches,
89     Double_t MuD0,
90     Double_t MuIP3d,
91     Double_t MuIP3dSig,
92     Double_t MuTrkKink,
93     Double_t MuSegmentCompatibility,
94     Double_t MuCaloCompatibility,
95     Double_t MuHadEnergyOverPt,
96     Double_t MuHoEnergyOverPt,
97     Double_t MuEmEnergyOverPt,
98     Double_t MuHadS9EnergyOverPt,
99     Double_t MuHoS9EnergyOverPt,
100     Double_t MuEmS9EnergyOverPt,
101     Double_t MuTrkIso03OverPt,
102     Double_t MuEMIso03OverPt,
103     Double_t MuHadIso03OverPt,
104     Double_t MuTrkIso05OverPt,
105     Double_t MuEMIso05OverPt,
106     Double_t MuHadIso05OverPt,
107 sixie 1.4 Bool_t printDebug = kFALSE
108 sixie 1.1 );
109    
110    
111     protected:
112     TMVA::Reader *fTMVAReader[6];
113     TString fMethodname;
114    
115     Bool_t fIsInitialized;
116    
117     Float_t fMVAVar_MuTkNchi2;
118     Float_t fMVAVar_MuGlobalNchi2;
119     Float_t fMVAVar_MuNValidHits;
120     Float_t fMVAVar_MuNTrackerHits;
121     Float_t fMVAVar_MuNPixelHits;
122     Float_t fMVAVar_MuNMatches;
123     Float_t fMVAVar_MuD0;
124     Float_t fMVAVar_MuIP3d;
125     Float_t fMVAVar_MuIP3dSig;
126     Float_t fMVAVar_MuTrkKink;
127     Float_t fMVAVar_MuSegmentCompatibility;
128     Float_t fMVAVar_MuCaloCompatibility;
129     Float_t fMVAVar_MuHadEnergyOverPt;
130     Float_t fMVAVar_MuHoEnergyOverPt;
131     Float_t fMVAVar_MuEmEnergyOverPt;
132     Float_t fMVAVar_MuHadS9EnergyOverPt;
133     Float_t fMVAVar_MuHoS9EnergyOverPt;
134     Float_t fMVAVar_MuEmS9EnergyOverPt;
135 sixie 1.2 Float_t fMVAVar_MuChargedIso03OverPt;
136     Float_t fMVAVar_MuNeutralIso03OverPt;
137     Float_t fMVAVar_MuChargedIso04OverPt;
138     Float_t fMVAVar_MuNeutralIso04OverPt;
139 sixie 1.5 Float_t fMVAVar_MuTrkIso03OverPt;
140     Float_t fMVAVar_MuEMIso03OverPt;
141     Float_t fMVAVar_MuHadIso03OverPt;
142     Float_t fMVAVar_MuTrkIso05OverPt;
143     Float_t fMVAVar_MuEMIso05OverPt;
144     Float_t fMVAVar_MuHadIso05OverPt;
145 sixie 1.1
146    
147     ClassDef(MuonIDMVA, 0) // Muon MVA
148     };
149     }
150    
151     #endif