ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/MVATools.h
Revision: 1.13
Committed: Thu Aug 2 13:57:32 2012 UTC (12 years, 9 months ago) by fabstoec
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a
Changes since 1.12: +3 -2 lines
Log Message:
bug fix

File Contents

# User Rev Content
1 mingyang 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // MVATools
5     //
6     // Helper Class for photon Identification decisions.
7     //
8     // Authors: M.Yang 2011/10/12
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_MVATOOLS_H
12     #define MITPHYSICS_UTILS_MVATOOLS_H
13    
14     #include "MitAna/DataTree/interface/Photon.h"
15     #include "MitAna/DataTree/interface/PhotonCol.h"
16     #include "MitAna/DataTree/interface/TrackCol.h"
17     #include "MitAna/DataTree/interface/Electron.h"
18     #include "MitAna/DataTree/interface/ElectronCol.h"
19     #include "MitAna/DataTree/interface/BaseVertex.h"
20     #include "MitAna/DataTree/interface/DecayParticleCol.h"
21     #include "MitAna/DataTree/interface/VertexCol.h"
22     #include "MitAna/DataTree/interface/BeamSpotCol.h"
23     #include "MitAna/DataTree/interface/TriggerObjectCol.h"
24     #include "MitAna/DataTree/interface/MCParticleCol.h"
25     #include "MitAna/DataTree/interface/SuperCluster.h"
26     #include "MitAna/DataTree/interface/SuperClusterCol.h"
27     #include "MitCommon/MathTools/interface/MathUtils.h"
28 mingyang 1.8 #include "MitAna/DataTree/interface/PFCandidateCol.h"
29 mingyang 1.1
30     class TRandom3;
31     namespace TMVA {//MVA
32     class Reader;
33     }
34    
35     namespace mithep {
36     class MVATools {
37 fabstoec 1.12 public:
38 mingyang 1.4 MVATools();
39 fabstoec 1.12
40     // MVA Typles
41     enum IdMVAType {
42     kNone = 0,
43     k2011IdMVA,
44     k2012IdMVA_globe,
45     k2012IdMVA, // same as above, but more logical name...
46     k2011IdMVA_HZg
47     };
48 mingyang 1.4
49     //--------------------------
50     //MVA
51     //--------------------------
52    
53 fabstoec 1.12 //void InitializeMVA(int VariableType, TString EndcapWeights,TString BarrelWeights);
54     void InitializeMVA(IdMVAType type);
55 mingyang 1.1
56 fabstoec 1.12 // removed this (fab): if a mod want to cuty on BDT values, compute them in the mod using GetMVAbdtValue(..) and make the cut in the mod
57     //Bool_t PassMVASelection (const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho,Float_t bdtCutBarrel, Float_t bdtCutEndcap, const ElectronCol* els=0, Bool_t applyElectronVeto=kTRUE);
58     // removed this (fab): no needed naywhere...
59     //Int_t PassElectronVetoInt(const Photon* p, const ElectronCol* els);
60    
61     Double_t GetMVAbdtValue (const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho, const PFCandidateCol *fPFCands=NULL ,const ElectronCol* els=0, Bool_t applyElectronVeto=kTRUE);
62    
63     // these we can remove at some point
64     /* Float_t GetMVAbdtValue_2011 (const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho, const ElectronCol* els=0, Bool_t applyElectronVeto=kTRUE); */
65     /* Float_t GetMVAbdtValue_2012_globe(const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho, const PFCandidateCol *fPFCands=NULL ,const ElectronCol* els=0, Bool_t applyElectronVeto=kTRUE); */
66    
67    
68     private:
69    
70     TMVA::Reader *fReaderEndcap;
71     TMVA::Reader *fReaderBarrel;
72    
73     IdMVAType fMVAType;
74     std::vector<float> mvaVars;
75 fabstoec 1.13 std::vector<std::string> varNames;
76     std::map<std::string,unsigned int> mvaVarMapEB;
77     std::map<std::string,unsigned int> mvaVarMapEE;
78 fabstoec 1.12
79     // -------------------------------------------------
80     // fab: these guys should all go away...
81     //MVA Variables
82     /* float HoE; */
83     /* float covIEtaIEta; */
84     /* float tIso1abs; */
85     /* float tIso3abs; */
86     /* float tIso2abs; */
87     /* float R9; */
88    
89     /* float absIsoEcal; */
90     /* float absIsoHcal; */
91     /* float RelEMax; */
92     /* float RelETop; */
93     /* float RelEBottom; */
94     /* float RelELeft; */
95     /* float RelERight; */
96     /* float RelE2x5Max; */
97     /* float RelE2x5Top; */
98     /* float RelE2x5Bottom; */
99     /* float RelE2x5Left; */
100     /* float RelE2x5Right; */
101     /* float RelE5x5; */
102    
103     /* float EtaWidth; */
104     /* float PhiWidth; */
105     /* float CoviEtaiPhi; */
106     /* float CoviPhiiPhi; */
107    
108     /* float NVertexes; */
109     /* float RelPreshowerEnergy; */
110    
111     /* //variable for v2 and v1 */
112     /* float RelIsoEcal; */
113     /* float RelIsoHcal; */
114     /* float tIso1; */
115     /* float tIso3; */
116     /* float tIso2; */
117    
118     /* float ScEta; */
119    
120     /* //variables used to compute mva variables */
121    
122     /* Bool_t PassElecVeto; */
123    
124     /* double ecalIso3; */
125     /* double ecalIso4; */
126     /* double hcalIso4; */
127    
128     /* unsigned int wVtxInd; */
129    
130     /* double trackIso1; */
131    
132     /* // track iso only */
133     /* double trackIso3; */
134    
135     /* // track iso worst vtx */
136     /* double trackIso2; */
137    
138     /* double combIso1; */
139     /* double combIso2; */
140    
141     /* double RawEnergy; */
142    
143     /* double dRTrack; */
144    
145     /* //spectator variables */
146     /* double Pt_MVA; */
147     /* double ScEta_MVA; */
148    
149     /* Bool_t isbarrel; */
150    
151     /* // check which category it is ... */
152     /* int _tCat; */
153    
154     /* //1201 variable */
155     /* float myphoton_pfchargedisogood03; */
156     /* float myphoton_pfchargedisobad03; */
157     /* float myphoton_pfphotoniso03; */
158     /* float myphoton_sieie; */
159     /* float myphoton_sieip; */
160     /* float myphoton_etawidth; */
161     /* float myphoton_phiwidth; */
162     /* float myphoton_r9; */
163     /* float myphoton_s4ratio; */
164     /* float myphoton_SCeta; */
165     /* float event_rho; */
166     /* float myphoton_ESEffSigmaRR; */
167    
168     //MVA
169     /* Bool_t PassMVA; */
170     /* //Float_t bdt; -> removed this, we should not have this a memeber variable !!! (fab) */
171     /* Int_t PassElecVetoInt; */
172 mingyang 1.8
173    
174 fabstoec 1.12 TMVA::Reader *reader;
175     ClassDef(MVATools, 0)
176     };
177 mingyang 1.1 }
178    
179     #endif