ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MuonIDMVA.h
(Generate patch)

Comparing UserCode/MitPhysics/Utils/interface/MuonIDMVA.h (file contents):
Revision 1.1 by sixie, Fri Dec 16 12:58:02 2011 UTC vs.
Revision 1.6 by sixie, Mon Apr 16 11:10:19 2012 UTC

# Line 1 | Line 1
1   //--------------------------------------------------------------------------------------------------
2   // $Id $
3   //
4 < // ElectronIDMVA
4 > // MuonIDMVA
5   //
6   // Helper Class for Muon Identification MVA
7   //
# Line 16 | Line 16
16   #include "MitAna/DataTree/interface/TrackFwd.h"
17   #include "MitAna/DataTree/interface/Muon.h"
18   #include "MitAna/DataTree/interface/MuonCol.h"
19 + #include "MitAna/DataTree/interface/ElectronCol.h"
20 + #include "MitAna/DataTree/interface/PFCandidateCol.h"
21 + #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
22   #include "MitCommon/MathTools/interface/MathUtils.h"
23 + #include "MitPhysics/Utils/interface/MuonTools.h"
24  
25   class TRandom3;
26   namespace TMVA {
# Line 30 | Line 34 | namespace mithep {
34        ~MuonIDMVA();
35  
36        enum MVAType {
37 <        kV3                //
37 >        kUninitialized,
38 >        kV2,
39 >        kV3,
40 >        kV8,
41 >        kIDIsoCombinedDetIso,
42 >        kIsoRingsV0,
43 >        kIDIsoCombinedIsoRingsV0
44        };
45  
46  
47 +      void     Initialize( std::string methodName,
48 +                           std::string weightsfile,
49 +                           MuonIDMVA::MVAType type);
50 +      void     Initialize( std::string methodName,
51 +                           MuonIDMVA::MVAType type,
52 +                           Bool_t useBinnedVersion,
53 +                           std::vector<std::string> weightsfiles );
54        void     Initialize(TString methodName,
55                            TString Subdet0Pt10To14p5Weights ,
56                            TString Subdet1Pt10To14p5Weights ,
# Line 42 | Line 59 | namespace mithep {
59                            TString Subdet0Pt20ToInfWeights,
60                            TString Subdet1Pt20ToInfWeights,
61                            MuonIDMVA::MVAType type);
62 <      
62 >
63        Bool_t   IsInitialized() const { return fIsInitialized; }
64 < //       Double_t MVAValue(const Muon *mu, const Vertex *vertex);
64 >      UInt_t   GetMVABin(double eta,double pt,
65 >                         Bool_t isGlobal, Bool_t isTrackerMuon ) const;
66 >      Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
67 >                        const PFCandidateCol *PFCands,
68 >                        const PileupEnergyDensityCol *PileupEnergyDensity,
69 >                        Bool_t printDebug = kFALSE);
70 >      Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
71 >                        const PFCandidateCol *PFCands,
72 >                        const PileupEnergyDensityCol *PileupEnergyDensity,
73 >                        MuonTools::EMuonEffectiveAreaTarget EffectiveAreaTarget,
74 >                        const ElectronCol *goodElectrons,
75 >                        const MuonCol *goodMuons,            
76 >                        Bool_t printDebug = kFALSE);
77        Double_t MVAValue( Double_t MuPt , Double_t MuEta,
78                           Double_t                   MuTkNchi2,
79                           Double_t                   MuGlobalNchi2,
# Line 63 | Line 92 | namespace mithep {
92                           Double_t                   MuEmEnergyOverPt,
93                           Double_t                   MuHadS9EnergyOverPt,
94                           Double_t                   MuHoS9EnergyOverPt,
95 <                         Double_t                   MuEmS9EnergyOverPt
95 >                         Double_t                   MuEmS9EnergyOverPt,
96 >                         Double_t                   MuChargedIso03OverPt,
97 >                         Double_t                   MuNeutralIso03OverPt,
98 >                         Double_t                   MuChargedIso04OverPt,
99 >                         Double_t                   MuNeutralIso04OverPt,
100 >                         Bool_t                     printDebug = kFALSE
101 >        );
102 >      Double_t MVAValue( Double_t MuPt , Double_t MuEta,
103 >                         Double_t                   MuTkNchi2,
104 >                         Double_t                   MuGlobalNchi2,
105 >                         Double_t                   MuNValidHits,
106 >                         Double_t                   MuNTrackerHits,
107 >                         Double_t                   MuNPixelHits,
108 >                         Double_t                   MuNMatches,
109 >                         Double_t                   MuD0,
110 >                         Double_t                   MuIP3d,
111 >                         Double_t                   MuIP3dSig,
112 >                         Double_t                   MuTrkKink,
113 >                         Double_t                   MuSegmentCompatibility,
114 >                         Double_t                   MuCaloCompatibility,
115 >                         Double_t                   MuHadEnergyOverPt,
116 >                         Double_t                   MuHoEnergyOverPt,
117 >                         Double_t                   MuEmEnergyOverPt,
118 >                         Double_t                   MuHadS9EnergyOverPt,
119 >                         Double_t                   MuHoS9EnergyOverPt,
120 >                         Double_t                   MuEmS9EnergyOverPt,
121 >                         Double_t                   MuTrkIso03OverPt,
122 >                         Double_t                   MuEMIso03OverPt,
123 >                         Double_t                   MuHadIso03OverPt,
124 >                         Double_t                   MuTrkIso05OverPt,
125 >                         Double_t                   MuEMIso05OverPt,
126 >                         Double_t                   MuHadIso05OverPt,
127 >                         Bool_t                     printDebug = kFALSE
128          );
129  
130  
131      protected:      
132 <      TMVA::Reader            *fTMVAReader[6];
133 <      TString                  fMethodname;
73 <      
132 >      std::vector<TMVA::Reader*> fTMVAReader;
133 >      TString                   fMethodname;
134        Bool_t                    fIsInitialized;
135 +      MVAType                   fMVAType;
136 +      Bool_t                    fUseBinnedVersion;
137 +      UInt_t                    fNMVABins;
138        
139 +      Float_t                   fMVAVar_MuPt;
140 +      Float_t                   fMVAVar_MuEta;
141        Float_t                   fMVAVar_MuTkNchi2;
142        Float_t                   fMVAVar_MuGlobalNchi2;
143        Float_t                   fMVAVar_MuNValidHits;
# Line 91 | Line 156 | namespace mithep {
156        Float_t                   fMVAVar_MuHadS9EnergyOverPt;
157        Float_t                   fMVAVar_MuHoS9EnergyOverPt;
158        Float_t                   fMVAVar_MuEmS9EnergyOverPt;
159 +      Float_t                   fMVAVar_MuHadEnergy;
160 +      Float_t                   fMVAVar_MuEmEnergy;
161 +      Float_t                   fMVAVar_MuHadS9Energy;
162 +      Float_t                   fMVAVar_MuEmS9Energy;
163 +      Float_t                   fMVAVar_MuChargedIso03OverPt;
164 +      Float_t                   fMVAVar_MuNeutralIso03OverPt;
165 +      Float_t                   fMVAVar_MuChargedIso04OverPt;
166 +      Float_t                   fMVAVar_MuNeutralIso04OverPt;
167 +      Float_t                   fMVAVar_MuTrkIso03OverPt;
168 +      Float_t                   fMVAVar_MuEMIso03OverPt;
169 +      Float_t                   fMVAVar_MuHadIso03OverPt;
170 +      Float_t                   fMVAVar_MuTrkIso05OverPt;
171 +      Float_t                   fMVAVar_MuEMIso05OverPt;
172 +      Float_t                   fMVAVar_MuHadIso05OverPt;
173 +
174 +      Float_t                   fMVAVar_ChargedIso_DR0p0To0p1;
175 +      Float_t                   fMVAVar_ChargedIso_DR0p1To0p2;
176 +      Float_t                   fMVAVar_ChargedIso_DR0p2To0p3;
177 +      Float_t                   fMVAVar_ChargedIso_DR0p3To0p4;
178 +      Float_t                   fMVAVar_ChargedIso_DR0p4To0p5;
179 +      Float_t                   fMVAVar_ChargedIso_DR0p5To0p7;
180 +      Float_t                   fMVAVar_GammaIso_DR0p0To0p1;
181 +      Float_t                   fMVAVar_GammaIso_DR0p1To0p2;
182 +      Float_t                   fMVAVar_GammaIso_DR0p2To0p3;
183 +      Float_t                   fMVAVar_GammaIso_DR0p3To0p4;
184 +      Float_t                   fMVAVar_GammaIso_DR0p4To0p5;
185 +      Float_t                   fMVAVar_GammaIso_DR0p5To0p7;
186 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p0To0p1;
187 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p1To0p2;
188 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p2To0p3;
189 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p3To0p4;
190 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p4To0p5;
191 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p5To0p7;
192  
95      
193      ClassDef(MuonIDMVA, 0) // Muon MVA
194        };
195   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines