CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AntiElectronIDMVA5GBR.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------------------------------
2 // AntiElectronIDMVA5
3 //
4 // Helper Class for applying MVA anti-electron discrimination
5 //
6 // Authors: I.Naranjo, C.Veelken
7 //--------------------------------------------------------------------------------------------------
8 
9 #ifndef RECOTAUTAG_RECOTAU_AntiElectronIDMVA5GBR_H
10 #define RECOTAUTAG_RECOTAU_AntiElectronIDMVA5GBR_H
11 
18 
19 #include "TMVA/Tools.h"
20 #include "TMVA/Reader.h"
21 
23 
24 #include <vector>
25 
27 {
28  public:
29 
32 
33  void Initialize_from_file(const std::string& methodName, const std::string& gbrFile);
34 
35  double MVAValue(Float_t TauEtaAtEcalEntrance,
36  Float_t TauPt,
37  Float_t TauLeadChargedPFCandEtaAtEcalEntrance,
38  Float_t TauLeadChargedPFCandPt,
39  Float_t TaudCrackEta,
40  Float_t TaudCrackPhi,
41  Float_t TauEmFraction,
42  Float_t TauSignalPFGammaCands,
43  Float_t TauLeadPFChargedHadrHoP,
44  Float_t TauLeadPFChargedHadrEoP,
45  Float_t TauVisMass,
46  Float_t TauHadrMva,
47  const std::vector<Float_t>& GammasdEta,
48  const std::vector<Float_t>& GammasdPhi,
49  const std::vector<Float_t>& GammasPt,
50  Float_t TauKFNumHits,
51  Float_t TauGSFNumHits,
52  Float_t TauGSFChi2,
53  Float_t TauGSFTrackResol,
54  Float_t TauGSFTracklnPt,
55  Float_t TauGSFTrackEta,
56  Float_t TauPhi,
57  Float_t TauSignalPFChargedCands,
58  Float_t TauHasGsf,
59  Float_t ElecEta,
60  Float_t ElecPhi,
61  Float_t ElecPt,
62  Float_t ElecEe,
63  Float_t ElecEgamma,
64  Float_t ElecPin,
65  Float_t ElecPout,
66  Float_t ElecFbrem,
67  Float_t ElecChi2GSF,
68  Float_t ElecGSFNumHits,
69  Float_t ElecGSFTrackResol,
70  Float_t ElecGSFTracklnPt,
71  Float_t ElecGSFTrackEta);
72 
73  double MVAValue(Float_t TauEtaAtEcalEntrance,
74  Float_t TauPt,
75  Float_t TauLeadChargedPFCandEtaAtEcalEntrance,
76  Float_t TauLeadChargedPFCandPt,
77  Float_t TaudCrackEta,
78  Float_t TaudCrackPhi,
79  Float_t TauEmFraction,
80  Float_t TauSignalPFGammaCands,
81  Float_t TauLeadPFChargedHadrHoP,
82  Float_t TauLeadPFChargedHadrEoP,
83  Float_t TauVisMass,
84  Float_t TauHadrMva,
85  Float_t TauGammaEtaMom,
86  Float_t TauGammaPhiMom,
87  Float_t TauGammaEnFrac,
88  Float_t TauKFNumHits,
89  Float_t TauGSFNumHits,
90  Float_t TauGSFChi2,
91  Float_t TauGSFTrackResol,
92  Float_t TauGSFTracklnPt,
93  Float_t TauGSFTrackEta,
94  Float_t TauPhi,
95  Float_t TauSignalPFChargedCands,
96  Float_t TauHasGsf,
97  Float_t ElecEta,
98  Float_t ElecPhi,
99  Float_t ElecPt,
100  Float_t ElecEe,
101  Float_t ElecEgamma,
102  Float_t ElecPin,
103  Float_t ElecPout,
104  Float_t ElecFbrem,
105  Float_t ElecChi2GSF,
106  Float_t ElecGSFNumHits,
107  Float_t ElecGSFTrackResol,
108  Float_t ElecGSFTracklnPt,
109  Float_t ElecGSFTrackEta);
110 
111  // CV: this function can be called for all categories
112  double MVAValue(const reco::PFTau& thePFTau,
113  const reco::GsfElectron& theGsfEle);
114  // CV: this function can be called for category 1 only !!
115  double MVAValue(const reco::PFTau& thePFTau);
116 
117  private:
118 
119  double dCrackEta(double eta);
120  double minimum(double a,double b);
121  double dCrackPhi(double phi, double eta);
124  TFile* fin_;
141 
158 
160 };
161 
162 #endif
void Initialize_from_file(const std::string &methodName, const std::string &gbrFile)
T eta() const
double minimum(double a, double b)
double b
Definition: hdecay.h:120
double dCrackPhi(double phi, double eta)
double a
Definition: hdecay.h:121
double MVAValue(Float_t TauEtaAtEcalEntrance, Float_t TauPt, Float_t TauLeadChargedPFCandEtaAtEcalEntrance, Float_t TauLeadChargedPFCandPt, Float_t TaudCrackEta, Float_t TaudCrackPhi, Float_t TauEmFraction, Float_t TauSignalPFGammaCands, Float_t TauLeadPFChargedHadrHoP, Float_t TauLeadPFChargedHadrEoP, Float_t TauVisMass, Float_t TauHadrMva, const std::vector< Float_t > &GammasdEta, const std::vector< Float_t > &GammasdPhi, const std::vector< Float_t > &GammasPt, Float_t TauKFNumHits, Float_t TauGSFNumHits, Float_t TauGSFChi2, Float_t TauGSFTrackResol, Float_t TauGSFTracklnPt, Float_t TauGSFTrackEta, Float_t TauPhi, Float_t TauSignalPFChargedCands, Float_t TauHasGsf, Float_t ElecEta, Float_t ElecPhi, Float_t ElecPt, Float_t ElecEe, Float_t ElecEgamma, Float_t ElecPin, Float_t ElecPout, Float_t ElecFbrem, Float_t ElecChi2GSF, Float_t ElecGSFNumHits, Float_t ElecGSFTrackResol, Float_t ElecGSFTracklnPt, Float_t ElecGSFTrackEta)
double dCrackEta(double eta)
Definition: DDAxes.h:10