CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
EGammaMvaEleEstimatorCSA14 Class Reference

#include <EGammaMvaEleEstimatorCSA14.h>

Public Types

enum  MVAType { kTrig = 0, kNonTrig = 1, kNonTrigPhys14 = 2 }
 

Public Member Functions

void bindVariables ()
 
 EGammaMvaEleEstimatorCSA14 ()
 
UInt_t GetMVABin (double eta, double pt) const
 
void initialize (std::string methodName, std::string weightsfile, EGammaMvaEleEstimatorCSA14::MVAType type)
 
void initialize (std::string methodName, EGammaMvaEleEstimatorCSA14::MVAType type, Bool_t useBinnedVersion, std::vector< std::string > weightsfiles)
 
Bool_t isInitialized () const
 
Double_t mvaValue (const reco::GsfElectron &ele, const reco::Vertex &vertex, const TransientTrackBuilder &transientTrackBuilder, noZS::EcalClusterLazyTools myEcalCluster, bool printDebug=kFALSE)
 
Double_t mvaValue (const pat::Electron &ele, bool printDebug)
 
 ~EGammaMvaEleEstimatorCSA14 ()
 

Private Attributes

Bool_t fisInitialized
 
std::string fMethodname
 
MVAType fMVAType
 
Float_t fMVAVar_abseta
 
Float_t fMVAVar_ChargedIso_DR0p0To0p1
 
Float_t fMVAVar_ChargedIso_DR0p1To0p2
 
Float_t fMVAVar_ChargedIso_DR0p2To0p3
 
Float_t fMVAVar_ChargedIso_DR0p3To0p4
 
Float_t fMVAVar_ChargedIso_DR0p4To0p5
 
Float_t fMVAVar_d0
 
Float_t fMVAVar_deta
 
Float_t fMVAVar_detacalo
 
Float_t fMVAVar_dphi
 
Float_t fMVAVar_eleEoPout
 
Float_t fMVAVar_EoP
 
Float_t fMVAVar_EoPout
 
Float_t fMVAVar_eta
 
Float_t fMVAVar_etawidth
 
Float_t fMVAVar_fbrem
 
Float_t fMVAVar_GammaIso_DR0p0To0p1
 
Float_t fMVAVar_GammaIso_DR0p1To0p2
 
Float_t fMVAVar_GammaIso_DR0p2To0p3
 
Float_t fMVAVar_GammaIso_DR0p3To0p4
 
Float_t fMVAVar_GammaIso_DR0p4To0p5
 
Float_t fMVAVar_gsfchi2
 
Float_t fMVAVar_HoE
 
Float_t fMVAVar_IoEmIoP
 
Float_t fMVAVar_ip3d
 
Float_t fMVAVar_ip3dSig
 
Float_t fMVAVar_isBarrel
 
Float_t fMVAVar_isEndcap
 
Float_t fMVAVar_kfchi2
 
Float_t fMVAVar_kfhits
 
Float_t fMVAVar_kfhitsall
 
Float_t fMVAVar_NeutralHadronIso_DR0p0To0p1
 
Float_t fMVAVar_NeutralHadronIso_DR0p1To0p2
 
Float_t fMVAVar_NeutralHadronIso_DR0p2To0p3
 
Float_t fMVAVar_NeutralHadronIso_DR0p3To0p4
 
Float_t fMVAVar_NeutralHadronIso_DR0p4To0p5
 
Float_t fMVAVar_OneMinusE1x5E5x5
 
Float_t fMVAVar_phiwidth
 
Float_t fMVAVar_PreShowerOverRaw
 
Float_t fMVAVar_pt
 
Float_t fMVAVar_R9
 
Float_t fMVAVar_rho
 
Float_t fMVAVar_SCeta
 
Float_t fMVAVar_see
 
Float_t fMVAVar_spp
 
UInt_t fNMVABins
 
std::vector< TMVA::MethodBase * > fTMVAMethod
 
std::vector< TMVA::Reader * > fTMVAReader
 
Bool_t fUseBinnedVersion
 

Detailed Description

Definition at line 43 of file EGammaMvaEleEstimatorCSA14.h.

Member Enumeration Documentation

Enumerator
kTrig 
kNonTrig 
kNonTrigPhys14 

Definition at line 48 of file EGammaMvaEleEstimatorCSA14.h.

48  {
49  kTrig = 0, // MVA for triggering electrons
50  kNonTrig = 1, // MVA for non-triggering electrons
51  kNonTrigPhys14 = 2, // MVA for non-triggering electrons in Phys14
52  };

Constructor & Destructor Documentation

EGammaMvaEleEstimatorCSA14::EGammaMvaEleEstimatorCSA14 ( )
EGammaMvaEleEstimatorCSA14::~EGammaMvaEleEstimatorCSA14 ( )

Definition at line 22 of file EGammaMvaEleEstimatorCSA14.cc.

References fTMVAMethod, fTMVAReader, and i.

23 {
24  for (unsigned int i=0;i<fTMVAReader.size(); ++i) {
25  if (fTMVAMethod[i]) delete fTMVAMethod[i];
26  if (fTMVAReader[i]) delete fTMVAReader[i];
27  }
28 }
int i
Definition: DBlmapReader.cc:9
std::vector< TMVA::MethodBase * > fTMVAMethod
std::vector< TMVA::Reader * > fTMVAReader

Member Function Documentation

void EGammaMvaEleEstimatorCSA14::bindVariables ( )

Definition at line 489 of file EGammaMvaEleEstimatorCSA14.cc.

References fMVAVar_deta, fMVAVar_detacalo, fMVAVar_dphi, fMVAVar_eleEoPout, fMVAVar_EoP, fMVAVar_fbrem, fMVAVar_gsfchi2, fMVAVar_kfchi2, fMVAVar_OneMinusE1x5E5x5, fMVAVar_R9, fMVAVar_spp, and edm::detail::isnan().

Referenced by mvaValue().

489  {
490 
491  // this binding is needed for variables that sometime diverge.
492 
493 
494  if(fMVAVar_fbrem < -1.)
495  fMVAVar_fbrem = -1.;
496 
497  fMVAVar_deta = fabs(fMVAVar_deta);
498  if(fMVAVar_deta > 0.06)
499  fMVAVar_deta = 0.06;
500 
501 
502  fMVAVar_dphi = fabs(fMVAVar_dphi);
503  if(fMVAVar_dphi > 0.6)
504  fMVAVar_dphi = 0.6;
505 
506 
507  if(fMVAVar_EoP > 20.)
508  fMVAVar_EoP = 20.;
509 
510  if(fMVAVar_eleEoPout > 20.)
511  fMVAVar_eleEoPout = 20.;
512 
513 
515  if(fMVAVar_detacalo > 0.2)
516  fMVAVar_detacalo = 0.2;
517 
518  if(fMVAVar_OneMinusE1x5E5x5 < -1.)
520 
521  if(fMVAVar_OneMinusE1x5E5x5 > 2.)
523 
524 
525 
526  if(fMVAVar_R9 > 5)
527  fMVAVar_R9 = 5;
528 
529  if(fMVAVar_gsfchi2 > 200.)
530  fMVAVar_gsfchi2 = 200;
531 
532 
533  if(fMVAVar_kfchi2 > 10.)
534  fMVAVar_kfchi2 = 10.;
535 
536 
537  // Needed for a bug in CMSSW_420, fixed in more recent CMSSW versions
539  fMVAVar_spp = 0.;
540 
541 
542  return;
543 }
bool isnan(float x)
Definition: math.h:13
UInt_t EGammaMvaEleEstimatorCSA14::GetMVABin ( double  eta,
double  pt 
) const

Definition at line 208 of file EGammaMvaEleEstimatorCSA14.cc.

References newFWLiteAna::bin, fMVAType, kNonTrig, kNonTrigPhys14, and kTrig.

Referenced by mvaValue().

208  {
209 
210  //Default is to return the first bin
211  unsigned int bin = 0;
212 
213 
215  bin = 0;
216  if (pt < 10 && fabs(eta) < 1.479) bin = 0;
217  if (pt < 10 && fabs(eta) >= 1.479) bin = 1;
218  if (pt >= 10 && fabs(eta) < 1.479) bin = 2;
219  if (pt >= 10 && fabs(eta) >= 1.479) bin = 3;
220  }
221 
222 
224  ) {
225  bin = 0;
226  if (pt >= 10 && fabs(eta) < 1.479) bin = 0;
227  if (pt >= 10 && fabs(eta) >= 1.479) bin = 1;
228  }
229 
231  bin = 0;
232  if (pt < 10 && fabs(eta) < 0.8) bin = 0;
233  if (pt < 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 1;
234  if (pt < 10 && fabs(eta) >= 1.479) bin = 2;
235  if (pt >= 10 && fabs(eta) < 0.8) bin = 3;
236  if (pt >= 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 4;
237  if (pt >= 10 && fabs(eta) >= 1.479) bin = 5;
238  }
239 
240  return bin;
241 }
void EGammaMvaEleEstimatorCSA14::initialize ( std::string  methodName,
std::string  weightsfile,
EGammaMvaEleEstimatorCSA14::MVAType  type 
)

Definition at line 31 of file EGammaMvaEleEstimatorCSA14.cc.

Referenced by heppy::EGammaMvaEleEstimatorFWLite::initialize().

34 {
35 
36  std::vector<std::string> tempWeightFileVector;
37  tempWeightFileVector.push_back(weightsfile);
38  initialize(methodName,type,kFALSE,tempWeightFileVector);
39 }
type
Definition: HCALResponse.h:21
void initialize(std::string methodName, std::string weightsfile, EGammaMvaEleEstimatorCSA14::MVAType type)
void EGammaMvaEleEstimatorCSA14::initialize ( std::string  methodName,
EGammaMvaEleEstimatorCSA14::MVAType  type,
Bool_t  useBinnedVersion,
std::vector< std::string >  weightsfiles 
)

Definition at line 43 of file EGammaMvaEleEstimatorCSA14.cc.

References assert(), gather_cfg::cout, data, Exception, mergeVDriftHistosByStation::file, fisInitialized, fMethodname, fMVAType, fMVAVar_abseta, fMVAVar_deta, fMVAVar_detacalo, fMVAVar_dphi, fMVAVar_eleEoPout, fMVAVar_EoP, fMVAVar_etawidth, fMVAVar_fbrem, fMVAVar_gsfchi2, fMVAVar_HoE, fMVAVar_IoEmIoP, fMVAVar_isBarrel, fMVAVar_isEndcap, fMVAVar_kfchi2, fMVAVar_kfhits, fMVAVar_OneMinusE1x5E5x5, fMVAVar_phiwidth, fMVAVar_PreShowerOverRaw, fMVAVar_pt, fMVAVar_R9, fMVAVar_SCeta, fMVAVar_see, fMVAVar_spp, fNMVABins, fTMVAMethod, fTMVAReader, fUseBinnedVersion, i, kNonTrig, kNonTrigPhys14, kTrig, and SiPixelLorentzAngle_cfi::read.

47  {
48 
49  //clean up first
50  for (unsigned int i=0;i<fTMVAReader.size(); ++i) {
51  if (fTMVAReader[i]) delete fTMVAReader[i];
52  if (fTMVAMethod[i]) delete fTMVAMethod[i];
53  }
54  fTMVAReader.clear();
55  fTMVAMethod.clear();
56  //initialize
57  fisInitialized = kTRUE;
58  fMVAType = type;
59  fMethodname = methodName;
60  fUseBinnedVersion = useBinnedVersion;
61 
62  //Define expected number of bins
63  UInt_t ExpectedNBins = 0;
64  if (type == kTrig) {
65  ExpectedNBins = 2;
66  }
67  else if (type == kNonTrig) {
68  ExpectedNBins = 4;
69  }
70  else if (type ==kNonTrigPhys14) {
71  ExpectedNBins = 6;
72  }
73 
74  fNMVABins = ExpectedNBins;
75 
76  //Check number of weight files given
77  if (fNMVABins != weightsfiles.size() ) {
78  std::cout << "Error: Expected Number of bins = " << fNMVABins << " does not equal to weightsfiles.size() = "
79  << weightsfiles.size() << std::endl;
80 
81  #ifndef STANDALONE
82  assert(fNMVABins == weightsfiles.size());
83  #endif
84  }
85 
86  //Loop over all bins
87  for (unsigned int i=0;i<fNMVABins; ++i) {
88 
89  TMVA::Reader *tmpTMVAReader = new TMVA::Reader( "!Color:!Silent:Error" );
90  tmpTMVAReader->SetVerbose(kTRUE);
91 
92  if (type == kTrig) {
93  // Pure tracking variables
94  // Pure tracking variables
95  tmpTMVAReader->AddVariable("fBrem", &fMVAVar_fbrem);
96  tmpTMVAReader->AddVariable("kfchi2", &fMVAVar_kfchi2);
97  tmpTMVAReader->AddVariable("kfhits", &fMVAVar_kfhits);
98  tmpTMVAReader->AddVariable("gsfChi2", &fMVAVar_gsfchi2);
99 
100  // Geometrical matchings
101  tmpTMVAReader->AddVariable("eledeta", &fMVAVar_deta);
102  tmpTMVAReader->AddVariable("eledphi", &fMVAVar_dphi);
103  tmpTMVAReader->AddVariable("detacalo", &fMVAVar_detacalo);
104 
105  // Pure ECAL -> shower shapes
106  tmpTMVAReader->AddVariable("noZSsee", &fMVAVar_see);
107  tmpTMVAReader->AddVariable("noZSspp", &fMVAVar_spp);
108  tmpTMVAReader->AddVariable("etawidth", &fMVAVar_etawidth);
109  tmpTMVAReader->AddVariable("phiwidth", &fMVAVar_phiwidth);
110  tmpTMVAReader->AddVariable("noZSe1x5e5x5", &fMVAVar_OneMinusE1x5E5x5);
111  tmpTMVAReader->AddVariable("noZSr9", &fMVAVar_R9);
112 
113  // Energy matching
114  tmpTMVAReader->AddVariable("HtoE", &fMVAVar_HoE);
115  tmpTMVAReader->AddVariable("EoP", &fMVAVar_EoP);
116  tmpTMVAReader->AddVariable("IoEmIoP", &fMVAVar_IoEmIoP);
117  tmpTMVAReader->AddVariable("EEleoPout", &fMVAVar_eleEoPout);
118  if(i == 1 ) tmpTMVAReader->AddVariable("PreShowerOverRaw",&fMVAVar_PreShowerOverRaw);
119 
120  tmpTMVAReader->AddSpectator("pt", &fMVAVar_pt);
121  tmpTMVAReader->AddSpectator("absEta", &fMVAVar_abseta);
122  }
123 
124 
125  if ((type == kNonTrig)||(type == kNonTrigPhys14)) {
126 
127  tmpTMVAReader->AddVariable("ele_kfhits", &fMVAVar_kfhits);
128  // Pure ECAL -> shower shapes
129  tmpTMVAReader->AddVariable("ele_oldsigmaietaieta", &fMVAVar_see);
130  tmpTMVAReader->AddVariable("ele_oldsigmaiphiiphi", &fMVAVar_spp);
131  tmpTMVAReader->AddVariable("ele_oldcircularity", &fMVAVar_OneMinusE1x5E5x5);
132  tmpTMVAReader->AddVariable("ele_oldr9", &fMVAVar_R9);
133  tmpTMVAReader->AddVariable("ele_scletawidth", &fMVAVar_etawidth);
134  tmpTMVAReader->AddVariable("ele_sclphiwidth", &fMVAVar_phiwidth);
135  tmpTMVAReader->AddVariable("ele_he", &fMVAVar_HoE);
136  if ((type == kNonTrig)&&(i == 1 || i == 3)) tmpTMVAReader->AddVariable("ele_psEoverEraw",&fMVAVar_PreShowerOverRaw);
137  if ((type == kNonTrigPhys14)&&(i == 2 || i == 5)) tmpTMVAReader->AddVariable("ele_psEoverEraw",&fMVAVar_PreShowerOverRaw);
138 
139 
140  //Pure tracking variables
141  tmpTMVAReader->AddVariable("ele_kfchi2", &fMVAVar_kfchi2);
142  tmpTMVAReader->AddVariable("ele_chi2_hits", &fMVAVar_gsfchi2);
143  // Energy matching
144  tmpTMVAReader->AddVariable("ele_fbrem", &fMVAVar_fbrem);
145  tmpTMVAReader->AddVariable("ele_ep", &fMVAVar_EoP);
146  tmpTMVAReader->AddVariable("ele_eelepout", &fMVAVar_eleEoPout);
147  tmpTMVAReader->AddVariable("ele_IoEmIop", &fMVAVar_IoEmIoP);
148 
149  // Geometrical matchings
150  tmpTMVAReader->AddVariable("ele_deltaetain", &fMVAVar_deta);
151  tmpTMVAReader->AddVariable("ele_deltaphiin", &fMVAVar_dphi);
152  tmpTMVAReader->AddVariable("ele_deltaetaseed", &fMVAVar_detacalo);
153 
154 
155 
156  tmpTMVAReader->AddSpectator("ele_pT", &fMVAVar_pt);
157  tmpTMVAReader->AddSpectator("ele_isbarrel", &fMVAVar_isBarrel);
158  tmpTMVAReader->AddSpectator("ele_isendcap", &fMVAVar_isEndcap);
159  if (type == kNonTrigPhys14) tmpTMVAReader->AddSpectator("scl_eta", &fMVAVar_SCeta);
160 
161  }
162 
163 
164 
165 
166 #ifndef STANDALONE
167  if ((fMethodname.find("BDT") == 0) && (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz"))) {
168  gzFile file = gzopen(weightsfiles[i].c_str(), "rb");
169  if (file == nullptr) { std::cout << "Error opening gzip file associated to " << weightsfiles[i] << std::endl; throw cms::Exception("Configuration","Error reading zipped XML file"); }
170  std::vector<char> data;
171  data.reserve(1024*1024*10);
172  unsigned int bufflen = 32*1024;
173  char *buff = reinterpret_cast<char *>(malloc(bufflen));
174  if (buff == nullptr) { std::cout << "Error creating buffer for " << weightsfiles[i] << std::endl; gzclose(file); throw cms::Exception("Configuration","Error reading zipped XML file"); }
175  int read;
176  while ((read = gzread(file, buff, bufflen)) != 0) {
177  if (read == -1) { std::cout << "Error reading gzip file associated to " << weightsfiles[i] << ": " << gzerror(file,&read) << std::endl; gzclose(file); free(buff); throw cms::Exception("Configuration","Error reading zipped XML file"); }
178  data.insert(data.end(), buff, buff+read);
179  }
180  if (gzclose(file) != Z_OK) { std::cout << "Error closing gzip file associated to " << weightsfiles[i] << std::endl; }
181  free(buff);
182  data.push_back('\0'); // IMPORTANT
183  fTMVAMethod.push_back(dynamic_cast<TMVA::MethodBase*>(tmpTMVAReader->BookMVA(TMVA::Types::kBDT, &data[0])));
184  } else {
185  if (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz")) {
186  std::cout << "Error: xml.gz unsupported for method " << fMethodname << ", weight file " << weightsfiles[i] << std::endl; throw cms::Exception("Configuration","Error reading zipped XML file");
187  }
188  fTMVAMethod.push_back(dynamic_cast<TMVA::MethodBase*>(tmpTMVAReader->BookMVA(fMethodname , weightsfiles[i])));
189  }
190 #else
191  if (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz")) {
192  std::cout << "Error: xml.gz unsupported for method " << fMethodname << ", weight file " << weightsfiles[i] << std::endl; abort();
193  }
194  fTMVAMethod.push_back(dynamic_cast<TMVA::MethodBase*>(tmpTMVAReader->BookMVA(fMethodname , weightsfiles[i])));
195 #endif
196  std::cout << "MVABin " << i << " : MethodName = " << fMethodname
197  << " , type == " << type << " , "
198  << "Load weights file : " << weightsfiles[i]
199  << std::endl;
200  fTMVAReader.push_back(tmpTMVAReader);
201  }
202  std::cout << "Electron ID MVA Completed\n";
203 
204 }
type
Definition: HCALResponse.h:21
int i
Definition: DBlmapReader.cc:9
std::vector< TMVA::MethodBase * > fTMVAMethod
assert(m_qm.get())
std::vector< TMVA::Reader * > fTMVAReader
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
tuple cout
Definition: gather_cfg.py:121
Bool_t EGammaMvaEleEstimatorCSA14::isInitialized ( ) const
inline

Definition at line 62 of file EGammaMvaEleEstimatorCSA14.h.

References fisInitialized.

Double_t EGammaMvaEleEstimatorCSA14::mvaValue ( const reco::GsfElectron ele,
const reco::Vertex vertex,
const TransientTrackBuilder transientTrackBuilder,
noZS::EcalClusterLazyTools  myEcalCluster,
bool  printDebug = kFALSE 
)

Definition at line 250 of file EGammaMvaEleEstimatorCSA14.cc.

References IPTools::absoluteImpactParameter3D(), newFWLiteAna::bin, bindVariables(), TransientTrackBuilder::build(), reco::GsfElectron::closestCtfTrackRef(), gather_cfg::cout, reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx(), EcalClusterLazyToolsT< EcalClusterToolsImpl >::e1x5(), EcalClusterLazyToolsT< EcalClusterToolsImpl >::e3x3(), EcalClusterLazyToolsT< EcalClusterToolsImpl >::e5x5(), reco::GsfElectron::e5x5(), reco::GsfElectron::ecalEnergy(), reco::GsfElectron::eEleClusterOverPout(), reco::GsfElectron::eSuperClusterOverP(), reco::GsfElectron::fbrem(), fisInitialized, fMethodname, fMVAType, fMVAVar_abseta, fMVAVar_d0, fMVAVar_deta, fMVAVar_detacalo, fMVAVar_dphi, fMVAVar_eleEoPout, fMVAVar_EoP, fMVAVar_eta, fMVAVar_etawidth, fMVAVar_fbrem, fMVAVar_gsfchi2, fMVAVar_HoE, fMVAVar_IoEmIoP, fMVAVar_ip3d, fMVAVar_ip3dSig, fMVAVar_isBarrel, fMVAVar_isEndcap, fMVAVar_kfchi2, fMVAVar_kfhits, fMVAVar_kfhitsall, fMVAVar_OneMinusE1x5E5x5, fMVAVar_phiwidth, fMVAVar_PreShowerOverRaw, fMVAVar_pt, fMVAVar_R9, fMVAVar_SCeta, fMVAVar_see, fMVAVar_spp, fTMVAMethod, fTMVAReader, fUseBinnedVersion, GetMVABin(), reco::GsfElectron::gsfTrack(), reco::GsfElectron::hadronicOverEm(), edm::Ref< C, T, F >::isAvailable(), edm::detail::isnan(), edm::Ref< C, T, F >::isNonnull(), kNonTrig, kNonTrigPhys14, kTrig, EcalClusterLazyToolsT< EcalClusterToolsImpl >::localCovariances(), reco::LeafCandidate::p(), reco::Vertex::position(), reco::LeafCandidate::pt(), mathSSE::sqrt(), reco::GsfElectron::superCluster(), and groupFilesInBlocks::tt.

Referenced by heppy::EGammaMvaEleEstimatorFWLite::mvaValue().

254  {
255 
256  if (!fisInitialized) {
257  std::cout << "Error: EGammaMvaEleEstimatorCSA14 not properly initialized.\n";
258  return -9999;
259  }
260 
262  std::cout << "Error: This method should be called for kTrig or kNonTrig or kNonTrigPhys14 MVA only" << std::endl;
263  return -9999;
264  }
265 
266  bool validKF= false;
267  reco::TrackRef myTrackRef = ele.closestCtfTrackRef();
268  validKF = (myTrackRef.isAvailable());
269  validKF = (myTrackRef.isNonnull());
270 
271  // Pure tracking variables
272  fMVAVar_fbrem = ele.fbrem();
273  fMVAVar_kfchi2 = (validKF) ? myTrackRef->normalizedChi2() : 0 ;
274  fMVAVar_kfhits = (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1. ;
275  fMVAVar_kfhitsall = (validKF) ? myTrackRef->numberOfValidHits() : -1. ; // save also this in your ntuple as possible alternative
276  fMVAVar_gsfchi2 = ele.gsfTrack()->normalizedChi2();
277 
278 
279  // Geometrical matchings
283 
284 
285  // Pure ECAL -> shower shapes
286  std::vector<float> vCov = myEcalCluster.localCovariances(*(ele.superCluster()->seed())) ;
287  if (!isnan(vCov[0])) fMVAVar_see = sqrt (vCov[0]); //EleSigmaIEtaIEta
288  else fMVAVar_see = 0.;
289  if (!isnan(vCov[2])) fMVAVar_spp = sqrt (vCov[2]); //EleSigmaIPhiIPhi
290  else fMVAVar_spp = 0.;
291 
292  fMVAVar_etawidth = ele.superCluster()->etaWidth();
293  fMVAVar_phiwidth = ele.superCluster()->phiWidth();
294  fMVAVar_OneMinusE1x5E5x5 = (ele.e5x5()) !=0. ? 1.-(myEcalCluster.e1x5(*(ele.superCluster()->seed()))/myEcalCluster.e5x5(*(ele.superCluster()->seed()))) : -1. ;
295  fMVAVar_R9 = myEcalCluster.e3x3(*(ele.superCluster()->seed())) / ele.superCluster()->rawEnergy();
296 
297  // Energy matching
298  fMVAVar_HoE = ele.hadronicOverEm();
300  fMVAVar_IoEmIoP = (1.0/ele.ecalEnergy()) - (1.0 / ele.p()); // in the future to be changed with ele.gsfTrack()->p()
302  fMVAVar_PreShowerOverRaw= ele.superCluster()->preshowerEnergy() / ele.superCluster()->rawEnergy();
303 
304 
305  // Spectators
306  fMVAVar_eta = ele.superCluster()->eta();
307  fMVAVar_abseta = fabs(ele.superCluster()->eta());
308  fMVAVar_pt = ele.pt();
309  fMVAVar_isBarrel = (ele.superCluster()->eta()<1.479);
310  fMVAVar_isEndcap = (ele.superCluster()->eta()>1.479);
311  fMVAVar_SCeta = ele.superCluster()->eta();
312 
313 
314  // for triggering electrons get the impact parameteres
315  if(fMVAType == kTrig) {
316  //d0
317  if (ele.gsfTrack().isNonnull()) {
318  fMVAVar_d0 = (-1.0)*ele.gsfTrack()->dxy(vertex.position());
319  } else if (ele.closestCtfTrackRef().isNonnull()) {
320  fMVAVar_d0 = (-1.0)*ele.closestCtfTrackRef()->dxy(vertex.position());
321  } else {
322  fMVAVar_d0 = -9999.0;
323  }
324 
325  //default values for IP3D
326  fMVAVar_ip3d = -999.0;
327  fMVAVar_ip3dSig = 0.0;
328  if (ele.gsfTrack().isNonnull()) {
329  const double gsfsign = ( (-ele.gsfTrack()->dxy(vertex.position())) >=0 ) ? 1. : -1.;
330 
331  const reco::TransientTrack &tt = transientTrackBuilder.build(ele.gsfTrack());
332  const std::pair<bool,Measurement1D> &ip3dpv = IPTools::absoluteImpactParameter3D(tt,vertex);
333  if (ip3dpv.first) {
334  double ip3d = gsfsign*ip3dpv.second.value();
335  double ip3derr = ip3dpv.second.error();
336  fMVAVar_ip3d = ip3d;
337  fMVAVar_ip3dSig = ip3d/ip3derr;
338  }
339  }
340  }
341 
342  // evaluate
343  bindVariables();
344  Double_t mva = -9999;
345  if (fUseBinnedVersion) {
346  int bin = GetMVABin(fMVAVar_eta,fMVAVar_pt);
347  mva = fTMVAReader[bin]->EvaluateMVA(fTMVAMethod[bin]);
348  } else {
349  mva = fTMVAReader[0]->EvaluateMVA(fTMVAMethod[0]);
350  }
351 
352 
353 
354  if(printDebug) {
355  std::cout << " *** Inside the class fMethodname " << fMethodname << " fMVAType " << fMVAType << std::endl;
356  std::cout << " fbrem " << fMVAVar_fbrem
357  << " kfchi2 " << fMVAVar_kfchi2
358  << " mykfhits " << fMVAVar_kfhits
359  << " gsfchi2 " << fMVAVar_gsfchi2
360  << " deta " << fMVAVar_deta
361  << " dphi " << fMVAVar_dphi
362  << " detacalo " << fMVAVar_detacalo
363  << " see " << fMVAVar_see
364  << " spp " << fMVAVar_spp
365  << " etawidth " << fMVAVar_etawidth
366  << " phiwidth " << fMVAVar_phiwidth
367  << " OneMinusE1x5E5x5 " << fMVAVar_OneMinusE1x5E5x5
368  << " R9 " << fMVAVar_R9
369  << " HoE " << fMVAVar_HoE
370  << " EoP " << fMVAVar_EoP
371  << " IoEmIoP " << fMVAVar_IoEmIoP
372  << " eleEoPout " << fMVAVar_eleEoPout
373  << " d0 " << fMVAVar_d0
374  << " ip3d " << fMVAVar_ip3d
375  << " eta " << fMVAVar_eta
376  << " pt " << fMVAVar_pt << std::endl;
377  std::cout << " ### MVA " << mva << std::endl;
378  }
379 
380 
381 
382  return mva;
383 }
bool isAvailable() const
Definition: Ref.h:576
virtual double p() const
magnitude of momentum vector
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
float e5x5(const reco::BasicCluster &cluster)
std::vector< TMVA::MethodBase * > fTMVAMethod
float eSuperClusterOverP() const
Definition: GsfElectron.h:243
reco::TransientTrack build(const reco::Track *p) const
std::pair< bool, Measurement1D > absoluteImpactParameter3D(const reco::TransientTrack &transientTrack, const reco::Vertex &vertex)
Definition: IPTools.cc:37
float fbrem() const
Definition: GsfElectron.h:698
float e3x3(const reco::BasicCluster &cluster)
const Point & position() const
position
Definition: Vertex.h:106
virtual double pt() const
transverse momentum
std::vector< TMVA::Reader * > fTMVAReader
TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:199
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:247
float hadronicOverEm() const
Definition: GsfElectron.h:457
bool isnan(float x)
Definition: math.h:13
T sqrt(T t)
Definition: SSEVec.h:48
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Definition: GsfElectron.h:182
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:250
float eEleClusterOverPout() const
Definition: GsfElectron.h:246
std::vector< float > localCovariances(const reco::BasicCluster &cluster, float w0=4.7)
float ecalEnergy() const
Definition: GsfElectron.h:785
float e5x5() const
Definition: GsfElectron.h:420
UInt_t GetMVABin(double eta, double pt) const
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:248
float e1x5(const reco::BasicCluster &cluster)
tuple cout
Definition: gather_cfg.py:121
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
Definition: GsfElectron.h:183
Double_t EGammaMvaEleEstimatorCSA14::mvaValue ( const pat::Electron ele,
bool  printDebug 
)

Definition at line 387 of file EGammaMvaEleEstimatorCSA14.cc.

References newFWLiteAna::bin, bindVariables(), pat::Electron::closestCtfTrackRef(), gather_cfg::cout, reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx(), reco::GsfElectron::ecalEnergy(), reco::GsfElectron::eEleClusterOverPout(), reco::GsfElectron::eSuperClusterOverP(), reco::GsfElectron::fbrem(), fisInitialized, fMethodname, fMVAType, fMVAVar_abseta, fMVAVar_deta, fMVAVar_detacalo, fMVAVar_dphi, fMVAVar_eleEoPout, fMVAVar_EoP, fMVAVar_eta, fMVAVar_etawidth, fMVAVar_fbrem, fMVAVar_gsfchi2, fMVAVar_HoE, fMVAVar_IoEmIoP, fMVAVar_isBarrel, fMVAVar_isEndcap, fMVAVar_kfchi2, fMVAVar_kfhits, fMVAVar_kfhitsall, fMVAVar_OneMinusE1x5E5x5, fMVAVar_phiwidth, fMVAVar_PreShowerOverRaw, fMVAVar_pt, fMVAVar_R9, fMVAVar_SCeta, fMVAVar_see, fMVAVar_spp, fTMVAMethod, fTMVAReader, reco::GsfElectron::full5x5_e1x5(), reco::GsfElectron::full5x5_e5x5(), reco::GsfElectron::full5x5_r9(), reco::GsfElectron::full5x5_sigmaIetaIeta(), reco::GsfElectron::full5x5_sigmaIphiIphi(), fUseBinnedVersion, GetMVABin(), pat::Electron::gsfTrack(), reco::GsfElectron::hadronicOverEm(), edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), kNonTrig, kNonTrigPhys14, kTrig, reco::LeafCandidate::p(), reco::LeafCandidate::pt(), and pat::Electron::superCluster().

388  {
389 
390  if (!fisInitialized) {
391  std::cout << "Error: EGammaMvaEleEstimatorCSA14 not properly initialized.\n";
392  return -9999;
393  }
394 
396  std::cout << "Error: This method should be called for kTrig or kNonTrig or kNonTrigPhys14 MVA only" << std::endl;
397  return -9999;
398  }
399 
400  bool validKF= false;
401  reco::TrackRef myTrackRef = ele.closestCtfTrackRef();
402  validKF = (myTrackRef.isAvailable());
403  validKF = (myTrackRef.isNonnull());
404 
405  // Pure tracking variables
406  fMVAVar_fbrem = ele.fbrem();
407  fMVAVar_kfchi2 = (validKF) ? myTrackRef->normalizedChi2() : 0 ;
408  fMVAVar_kfhits = (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1. ;
409  fMVAVar_kfhitsall = (validKF) ? myTrackRef->numberOfValidHits() : -1. ; // save also this in your ntuple as possible alternative
410  fMVAVar_gsfchi2 = ele.gsfTrack()->normalizedChi2();
411 
412 
413  // Geometrical matchings
417 
418 
419  // Pure ECAL -> shower shapes
420  fMVAVar_see = ele.full5x5_sigmaIetaIeta(); //EleSigmaIEtaIEta
421  fMVAVar_spp = ele.full5x5_sigmaIphiIphi(); //EleSigmaIPhiIPhi
422 
423  fMVAVar_etawidth = ele.superCluster()->etaWidth();
424  fMVAVar_phiwidth = ele.superCluster()->phiWidth();
425  fMVAVar_OneMinusE1x5E5x5 = (ele.full5x5_e5x5()) !=0. ? 1.-(ele.full5x5_e1x5()/ele.full5x5_e5x5()) : -1. ;
426  fMVAVar_R9 = ele.full5x5_r9();
427 
428  // Energy matching
429  fMVAVar_HoE = ele.hadronicOverEm();
431  fMVAVar_IoEmIoP = (1.0/ele.ecalEnergy()) - (1.0 / ele.p()); // in the future to be changed with ele.gsfTrack()->p()
433  fMVAVar_PreShowerOverRaw= ele.superCluster()->preshowerEnergy() / ele.superCluster()->rawEnergy();
434 
435 
436  // Spectators
437  fMVAVar_eta = ele.superCluster()->eta();
438  fMVAVar_abseta = fabs(ele.superCluster()->eta());
439  fMVAVar_pt = ele.pt();
440  fMVAVar_isBarrel = (ele.superCluster()->eta()<1.479);
441  fMVAVar_isEndcap = (ele.superCluster()->eta()>1.479);
442  fMVAVar_SCeta = ele.superCluster()->eta();
443 
444 
445 
446  // evaluate
447  bindVariables();
448  Double_t mva = -9999;
449  if (fUseBinnedVersion) {
450  int bin = GetMVABin(fMVAVar_eta,fMVAVar_pt);
451  mva = fTMVAReader[bin]->EvaluateMVA(fTMVAMethod[bin]);
452  } else {
453  mva = fTMVAReader[0]->EvaluateMVA(fTMVAMethod[0]);
454  }
455 
456 
457 
458  if(printDebug) {
459  std::cout << " *** Inside the class fMethodname " << fMethodname << " fMVAType " << fMVAType << std::endl;
460  std::cout << " fbrem " << fMVAVar_fbrem
461  << " kfchi2 " << fMVAVar_kfchi2
462  << " mykfhits " << fMVAVar_kfhits
463  << " gsfchi2 " << fMVAVar_gsfchi2
464  << " deta " << fMVAVar_deta
465  << " dphi " << fMVAVar_dphi
466  << " detacalo " << fMVAVar_detacalo
467  << " see " << fMVAVar_see
468  << " spp " << fMVAVar_spp
469  << " etawidth " << fMVAVar_etawidth
470  << " phiwidth " << fMVAVar_phiwidth
471  << " OneMinusE1x5E5x5 " << fMVAVar_OneMinusE1x5E5x5
472  << " R9 " << fMVAVar_R9
473  << " HoE " << fMVAVar_HoE
474  << " EoP " << fMVAVar_EoP
475  << " IoEmIoP " << fMVAVar_IoEmIoP
476  << " eleEoPout " << fMVAVar_eleEoPout
477  << " eta " << fMVAVar_eta
478  << " pt " << fMVAVar_pt << std::endl;
479  std::cout << " ### MVA " << mva << std::endl;
480  }
481 
482 
483 
484  return mva;
485 }
bool isAvailable() const
Definition: Ref.h:576
virtual double p() const
magnitude of momentum vector
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
std::vector< TMVA::MethodBase * > fTMVAMethod
float eSuperClusterOverP() const
Definition: GsfElectron.h:243
float full5x5_e5x5() const
Definition: GsfElectron.h:437
float full5x5_e1x5() const
Definition: GsfElectron.h:435
float full5x5_sigmaIphiIphi() const
Definition: GsfElectron.h:434
float fbrem() const
Definition: GsfElectron.h:698
virtual double pt() const
transverse momentum
std::vector< TMVA::Reader * > fTMVAReader
float full5x5_sigmaIetaIeta() const
Definition: GsfElectron.h:433
reco::SuperClusterRef superCluster() const
override the reco::GsfElectron::superCluster method, to access the internal storage of the superclust...
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:247
float hadronicOverEm() const
Definition: GsfElectron.h:457
reco::GsfTrackRef gsfTrack() const
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster ...
reco::TrackRef closestCtfTrackRef() const
override the reco::GsfElectron::closestCtfTrackRef method, to access the internal storage of the trac...
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:250
float eEleClusterOverPout() const
Definition: GsfElectron.h:246
float ecalEnergy() const
Definition: GsfElectron.h:785
float full5x5_r9() const
Definition: GsfElectron.h:438
UInt_t GetMVABin(double eta, double pt) const
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:248
tuple cout
Definition: gather_cfg.py:121

Member Data Documentation

Bool_t EGammaMvaEleEstimatorCSA14::fisInitialized
private

Definition at line 89 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), isInitialized(), and mvaValue().

std::string EGammaMvaEleEstimatorCSA14::fMethodname
private

Definition at line 88 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

MVAType EGammaMvaEleEstimatorCSA14::fMVAType
private

Definition at line 90 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by GetMVABin(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_abseta
private

Definition at line 123 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p0To0p1
private

Definition at line 130 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p1To0p2
private

Definition at line 131 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p2To0p3
private

Definition at line 132 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p3To0p4
private

Definition at line 133 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p4To0p5
private

Definition at line 134 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_d0
private

Definition at line 118 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_deta
private

Definition at line 100 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_detacalo
private

Definition at line 102 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_dphi
private

Definition at line 101 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_eleEoPout
private

Definition at line 114 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_EoP
private

Definition at line 112 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_EoPout
private

Definition at line 115 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_eta
private

Definition at line 122 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_etawidth
private

Definition at line 106 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_fbrem
private

Definition at line 94 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p0To0p1
private

Definition at line 135 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p1To0p2
private

Definition at line 136 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p2To0p3
private

Definition at line 137 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p3To0p4
private

Definition at line 138 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p4To0p5
private

Definition at line 139 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_gsfchi2
private

Definition at line 98 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_HoE
private

Definition at line 111 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_IoEmIoP
private

Definition at line 113 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ip3d
private

Definition at line 119 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ip3dSig
private

Definition at line 120 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_isBarrel
private

Definition at line 126 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_isEndcap
private

Definition at line 127 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfchi2
private

Definition at line 95 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfhits
private

Definition at line 96 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfhitsall
private

Definition at line 97 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p0To0p1
private

Definition at line 140 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p1To0p2
private

Definition at line 141 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p2To0p3
private

Definition at line 142 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p3To0p4
private

Definition at line 143 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p4To0p5
private

Definition at line 144 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_OneMinusE1x5E5x5
private

Definition at line 108 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_phiwidth
private

Definition at line 107 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_PreShowerOverRaw
private

Definition at line 116 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_pt
private

Definition at line 124 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_R9
private

Definition at line 109 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_rho
private

Definition at line 125 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_SCeta
private

Definition at line 128 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_see
private

Definition at line 104 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_spp
private

Definition at line 105 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by bindVariables(), initialize(), and mvaValue().

UInt_t EGammaMvaEleEstimatorCSA14::fNMVABins
private

Definition at line 92 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize().

std::vector<TMVA::MethodBase*> EGammaMvaEleEstimatorCSA14::fTMVAMethod
private

Definition at line 87 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), mvaValue(), and ~EGammaMvaEleEstimatorCSA14().

std::vector<TMVA::Reader*> EGammaMvaEleEstimatorCSA14::fTMVAReader
private

Definition at line 86 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), mvaValue(), and ~EGammaMvaEleEstimatorCSA14().

Bool_t EGammaMvaEleEstimatorCSA14::fUseBinnedVersion
private

Definition at line 91 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().