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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines