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

Comparing UserCode/MitPhysics/Utils/interface/MVATools.h (file contents):
Revision 1.2 by mingyang, Thu Oct 13 18:35:10 2011 UTC vs.
Revision 1.13 by fabstoec, Thu Aug 2 13:57:32 2012 UTC

# Line 25 | Line 25
25   #include "MitAna/DataTree/interface/SuperCluster.h"
26   #include "MitAna/DataTree/interface/SuperClusterCol.h"
27   #include "MitCommon/MathTools/interface/MathUtils.h"
28 <
28 > #include "MitAna/DataTree/interface/PFCandidateCol.h"
29  
30   class TRandom3;
31   namespace TMVA {//MVA
# Line 34 | Line 34 | namespace TMVA {//MVA
34  
35   namespace mithep {
36    class MVATools {
37 <    public:
38 <      MVATools();
39 <      
40 <      
41 <      //--------------------------
42 <      //MVA
43 <      //--------------------------
44 <      //void InitializeMVA(int VariableType, TString EndcapWeights,TString BarrelWeights);
45 <      //Bool_t PassMVASelection(const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho,const ElectronCol *els);
46 <      
47 <      void InitializeMVA(int VariableType, TString EndcapWeights,TString BarrelWeights);
48 <      Bool_t PassMVASelection(const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho,const ElectronCol* els,double MVAPtMin, Float_t bdtCutBarrel, Float_t bdtCutEndcap);
49 <      Int_t PassElectronVetoInt(const Photon* p, const ElectronCol* els);
50 <      Float_t GetMVAbdtValue(const Photon* p,const Vertex* vtx,const TrackCol* trackCol,const VertexCol* vtxCol,Double_t _tRho,const ElectronCol* els);
51 <      
52 <      TMVA::Reader *fReaderEndcap;
53 <      TMVA::Reader *fReaderBarrel;    
54 <      
55 <      //MVA variables 0
56 <    Float_t HoE;
57 <    Float_t covIEtaIEta;
58 <    Float_t tIso1;
59 <    Float_t tIso3;
60 <    Float_t tIso2;
61 <    Float_t R9;
62 <    
63 <    //MVA variables 1
64 <    float RelIsoEcal;
65 <    float RelIsoHcal;
66 <    
67 <    float RelEMax;
68 <    float RelETop;
69 <    float RelEBottom;
70 <    float RelELeft;
71 <    float RelERight;
72 <    float RelE2x5Max;
73 <    float RelE2x5Top;
74 <    float RelE2x5Bottom;
75 <    float RelE2x5Left;
76 <    float RelE2x5Right;
77 <    float RelE5x5;
78 <    
79 <    //MVA variables 2
80 <    float EtaWidth;
81 <    float PhiWidth;
82 <    float CoviEtaiPhi;
83 <    float CoviPhiiPhi;
84 <    float RelPreshowerEnergy;
85 <
86 <    //variables used to compute mva variables
87 <
88 <    Bool_t PassElecVeto;  
89 <
90 <    double ecalIso3;
91 <    double ecalIso4;
92 <    double hcalIso4;
93 <    
94 <    unsigned int wVtxInd;
95 <    
96 <    double trackIso1;
97 <    
98 <    // track iso only
99 <    double trackIso3;
100 <    
101 <    // track iso worst vtx
102 <    double trackIso2;
103 <    
104 <    double combIso1;
105 <    double combIso2;
106 <    
107 <    double RawEnergy;
108 <    
109 <    double dRTrack;
110 <
111 <    //spectator variables
112 <    double Pt_MVA;
113 <    double ScEta_MVA;
114 <  
115 <    Bool_t isbarrel;
37 >  public:
38 >    MVATools();
39      
40 <    // check which category it is ...
41 <    int _tCat;
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 >    
49 >    //--------------------------
50 >    //MVA
51 >    //--------------------------
52 >    
53 >    //void InitializeMVA(int VariableType, TString EndcapWeights,TString BarrelWeights);
54 >    void InitializeMVA(IdMVAType type);
55 >
56 >    // 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 >    std::vector<std::string> varNames;
76 >    std::map<std::string,unsigned int> mvaVarMapEB;
77 >    std::map<std::string,unsigned int> mvaVarMapEE;
78 >    
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 <    TMVA::Reader *reader;
171 <    Float_t bdt;
172 <    Int_t PassElecVetoInt;
169 > /*     Bool_t PassMVA; */
170 > /*     //Float_t bdt;   -> removed this, we should not have this a memeber variable !!! (fab) */
171 > /*     Int_t PassElecVetoInt; */
172 >
173  
174 <    ClassDef(MVATools, 0) // Muon tools
174 >    TMVA::Reader *reader;    
175 >    ClassDef(MVATools, 0)
176        };
177   }
178  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines