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.4 by sixie, Wed Jan 4 16:28:17 2012 UTC vs.
Revision 1.8 by ceballos, Fri May 4 21:47:03 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"
# Line 33 | Line 34 | namespace mithep {
34        ~MuonIDMVA();
35  
36        enum MVAType {
37 +        kUninitialized,
38          kV2,
39          kV3,
40 <        kV8
40 >        kV8,
41 >        kIDIsoCombinedDetIso,
42 >        kIsoRingsV0,
43 >        kIDIsoCombinedIsoRingsV0,
44 >        kIDV0,
45 >        kIsoDeltaR
46        };
47  
48  
49 +      void     Initialize( std::string methodName,
50 +                           std::string weightsfile,
51 +                           MuonIDMVA::MVAType type);
52 +      void     Initialize( std::string methodName,
53 +                           MuonIDMVA::MVAType type,
54 +                           Bool_t useBinnedVersion,
55 +                           std::vector<std::string> weightsfiles );
56        void     Initialize(TString methodName,
57                            TString Subdet0Pt10To14p5Weights ,
58                            TString Subdet1Pt10To14p5Weights ,
# Line 47 | Line 61 | namespace mithep {
61                            TString Subdet0Pt20ToInfWeights,
62                            TString Subdet1Pt20ToInfWeights,
63                            MuonIDMVA::MVAType type);
64 <      
64 >
65        Bool_t   IsInitialized() const { return fIsInitialized; }
66 +      UInt_t   GetMVABin(double eta,double pt,
67 +                         Bool_t isGlobal = kTRUE, Bool_t isTrackerMuon = kTRUE ) const;
68 +      Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
69 +                        const PFCandidateCol *PFCands,
70 +                        const PileupEnergyDensityCol *PileupEnergyDensity,
71 +                        Bool_t printDebug = kFALSE);
72        Double_t MVAValue(const Muon *mu, const Vertex *vertex, MuonTools *fMuonTools,
73                          const PFCandidateCol *PFCands,
74                          const PileupEnergyDensityCol *PileupEnergyDensity,
75 +                        MuonTools::EMuonEffectiveAreaTarget EffectiveAreaTarget,
76 +                        const ElectronCol *goodElectrons,
77 +                        const MuonCol *goodMuons,            
78                          Bool_t printDebug = kFALSE);
79        Double_t MVAValue( Double_t MuPt , Double_t MuEta,
80                           Double_t                   MuTkNchi2,
# Line 75 | Line 98 | namespace mithep {
98                           Double_t                   MuChargedIso03OverPt,
99                           Double_t                   MuNeutralIso03OverPt,
100                           Double_t                   MuChargedIso04OverPt,
101 <                         Double_t                   MuNeutralIso04OverPt,
101 >                         Double_t                   MuNeutralIso04OverPt,
102                           Bool_t                     printDebug = kFALSE
103          );
104 <
104 >      Double_t MVAValue( Double_t MuPt , Double_t MuEta,
105 >                         Double_t                   MuTkNchi2,
106 >                         Double_t                   MuGlobalNchi2,
107 >                         Double_t                   MuNValidHits,
108 >                         Double_t                   MuNTrackerHits,
109 >                         Double_t                   MuNPixelHits,
110 >                         Double_t                   MuNMatches,
111 >                         Double_t                   MuD0,
112 >                         Double_t                   MuIP3d,
113 >                         Double_t                   MuIP3dSig,
114 >                         Double_t                   MuTrkKink,
115 >                         Double_t                   MuSegmentCompatibility,
116 >                         Double_t                   MuCaloCompatibility,
117 >                         Double_t                   MuHadEnergyOverPt,
118 >                         Double_t                   MuHoEnergyOverPt,
119 >                         Double_t                   MuEmEnergyOverPt,
120 >                         Double_t                   MuHadS9EnergyOverPt,
121 >                         Double_t                   MuHoS9EnergyOverPt,
122 >                         Double_t                   MuEmS9EnergyOverPt,
123 >                         Double_t                   MuTrkIso03OverPt,
124 >                         Double_t                   MuEMIso03OverPt,
125 >                         Double_t                   MuHadIso03OverPt,
126 >                         Double_t                   MuTrkIso05OverPt,
127 >                         Double_t                   MuEMIso05OverPt,
128 >                         Double_t                   MuHadIso05OverPt,
129 >                         Bool_t                     printDebug = kFALSE
130 >        );
131 >      Double_t MVAValue_IsoRings( Double_t MuPt,
132 >                                  Double_t MuEta,
133 >                                  Double_t ChargedIso_DR0p0To0p1,
134 >                                  Double_t ChargedIso_DR0p1To0p2,
135 >                                  Double_t ChargedIso_DR0p2To0p3,
136 >                                  Double_t ChargedIso_DR0p3To0p4,
137 >                                  Double_t ChargedIso_DR0p4To0p5,
138 >                                  Double_t GammaIso_DR0p0To0p1,
139 >                                  Double_t GammaIso_DR0p1To0p2,
140 >                                  Double_t GammaIso_DR0p2To0p3,
141 >                                  Double_t GammaIso_DR0p3To0p4,
142 >                                  Double_t GammaIso_DR0p4To0p5,
143 >                                  Double_t NeutralHadronIso_DR0p0To0p1,
144 >                                  Double_t NeutralHadronIso_DR0p1To0p2,
145 >                                  Double_t NeutralHadronIso_DR0p2To0p3,
146 >                                  Double_t NeutralHadronIso_DR0p3To0p4,
147 >                                  Double_t NeutralHadronIso_DR0p4To0p5,
148 >                                  Bool_t printDebug = kFALSE);
149 >      Double_t MVAValue_ID( Double_t MuPt,
150 >                            Double_t MuEta,                            
151 >                            Bool_t MuIsGlobal,
152 >                            Bool_t MuIsTracker,
153 >                            Double_t MuTkNchi2,
154 >                            Double_t MuGlobalNchi2,
155 >                            Double_t MuNValidHits,
156 >                            Double_t MuNTrackerHits,
157 >                            Double_t MuNPixelHits,
158 >                            Double_t MuNMatches,
159 >                            Double_t MuTrkKink,
160 >                            Double_t MuSegmentCompatibility,
161 >                            Double_t MuCaloCompatibility,
162 >                            Double_t MuHadEnergy,
163 >                            Double_t MuEmEnergy,
164 >                            Double_t MuHadS9Energy,
165 >                            Double_t MuEmS9Energy,
166 >                            Bool_t printDebug = kFALSE);
167  
168      protected:      
169 <      TMVA::Reader            *fTMVAReader[6];
170 <      TString                  fMethodname;
86 <      
169 >      std::vector<TMVA::Reader*> fTMVAReader;
170 >      TString                   fMethodname;
171        Bool_t                    fIsInitialized;
172 +      MVAType                   fMVAType;
173 +      Bool_t                    fUseBinnedVersion;
174 +      UInt_t                    fNMVABins;
175        
176 +      Float_t                   fMVAVar_MuPt;
177 +      Float_t                   fMVAVar_MuEta;
178        Float_t                   fMVAVar_MuTkNchi2;
179        Float_t                   fMVAVar_MuGlobalNchi2;
180        Float_t                   fMVAVar_MuNValidHits;
# Line 104 | Line 193 | namespace mithep {
193        Float_t                   fMVAVar_MuHadS9EnergyOverPt;
194        Float_t                   fMVAVar_MuHoS9EnergyOverPt;
195        Float_t                   fMVAVar_MuEmS9EnergyOverPt;
196 +      Float_t                   fMVAVar_MuHadEnergy;
197 +      Float_t                   fMVAVar_MuEmEnergy;
198 +      Float_t                   fMVAVar_MuHadS9Energy;
199 +      Float_t                   fMVAVar_MuEmS9Energy;
200        Float_t                   fMVAVar_MuChargedIso03OverPt;
201        Float_t                   fMVAVar_MuNeutralIso03OverPt;
202        Float_t                   fMVAVar_MuChargedIso04OverPt;
203        Float_t                   fMVAVar_MuNeutralIso04OverPt;
204 +      Float_t                   fMVAVar_MuTrkIso03OverPt;
205 +      Float_t                   fMVAVar_MuEMIso03OverPt;
206 +      Float_t                   fMVAVar_MuHadIso03OverPt;
207 +      Float_t                   fMVAVar_MuTrkIso05OverPt;
208 +      Float_t                   fMVAVar_MuEMIso05OverPt;
209 +      Float_t                   fMVAVar_MuHadIso05OverPt;
210 +
211 +      Float_t                   fMVAVar_ChargedIso_DR0p0To0p1;
212 +      Float_t                   fMVAVar_ChargedIso_DR0p1To0p2;
213 +      Float_t                   fMVAVar_ChargedIso_DR0p2To0p3;
214 +      Float_t                   fMVAVar_ChargedIso_DR0p3To0p4;
215 +      Float_t                   fMVAVar_ChargedIso_DR0p4To0p5;
216 +      Float_t                   fMVAVar_ChargedIso_DR0p5To0p7;
217 +      Float_t                   fMVAVar_GammaIso_DR0p0To0p1;
218 +      Float_t                   fMVAVar_GammaIso_DR0p1To0p2;
219 +      Float_t                   fMVAVar_GammaIso_DR0p2To0p3;
220 +      Float_t                   fMVAVar_GammaIso_DR0p3To0p4;
221 +      Float_t                   fMVAVar_GammaIso_DR0p4To0p5;
222 +      Float_t                   fMVAVar_GammaIso_DR0p5To0p7;
223 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p0To0p1;
224 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p1To0p2;
225 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p2To0p3;
226 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p3To0p4;
227 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p4To0p5;
228 +      Float_t                   fMVAVar_NeutralHadronIso_DR0p5To0p7;
229 +
230 +    // isolation variables II
231 +      Float_t                   fMVAVar_MuRelIsoPFCharged;
232 +      Float_t                   fMVAVar_MuRelIsoPFNeutral;
233 +      Float_t                   fMVAVar_MuRelIsoPFPhotons;
234 +      Float_t                   fMVAVar_MuDeltaRMean;
235 +      Float_t                   fMVAVar_MuDeltaRSum;
236 +      Float_t                   fMVAVar_MuDensity;
237 +
238  
112      
239      ClassDef(MuonIDMVA, 0) // Muon MVA
240        };
241   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines