CMS 3D CMS Logo

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 41 of file EGammaMvaEleEstimatorCSA14.h.

Member Enumeration Documentation

Enumerator
kTrig 
kNonTrig 
kNonTrigPhys14 

Definition at line 46 of file EGammaMvaEleEstimatorCSA14.h.

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

Constructor & Destructor Documentation

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

Definition at line 23 of file EGammaMvaEleEstimatorCSA14.cc.

References fTMVAReader, and mps_fire::i.

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

Member Function Documentation

void EGammaMvaEleEstimatorCSA14::bindVariables ( )

Definition at line 488 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, edm::detail::isnan(), and edm::isNotFinite().

Referenced by isInitialized(), and mvaValue().

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

Definition at line 207 of file EGammaMvaEleEstimatorCSA14.cc.

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

Referenced by isInitialized(), and mvaValue().

207  {
208 
209  //Default is to return the first bin
210  unsigned int bin = 0;
211 
212 
214  bin = 0;
215  if (pt < 10 && fabs(eta) < 1.479) bin = 0;
216  if (pt < 10 && fabs(eta) >= 1.479) bin = 1;
217  if (pt >= 10 && fabs(eta) < 1.479) bin = 2;
218  if (pt >= 10 && fabs(eta) >= 1.479) bin = 3;
219  }
220 
221 
223  ) {
224  bin = 0;
225  if (pt >= 10 && fabs(eta) < 1.479) bin = 0;
226  if (pt >= 10 && fabs(eta) >= 1.479) bin = 1;
227  }
228 
230  bin = 0;
231  if (pt < 10 && fabs(eta) < 0.8) bin = 0;
232  if (pt < 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 1;
233  if (pt < 10 && fabs(eta) >= 1.479) bin = 2;
234  if (pt >= 10 && fabs(eta) < 0.8) bin = 3;
235  if (pt >= 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 4;
236  if (pt >= 10 && fabs(eta) >= 1.479) bin = 5;
237  }
238 
239  return bin;
240 }
bin
set the eta bin as selection string.
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 gather_cfg::cout, data, Exception, FrontierConditions_GlobalTag_cff::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, mps_fire::i, kNonTrig, kNonTrigPhys14, and kTrig.

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

Definition at line 249 of file EGammaMvaEleEstimatorCSA14.cc.

References IPTools::absoluteImpactParameter3D(), stringResolutionProvider_cfi::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(), electrons_cff::ip3d, edm::Ref< C, T, F >::isAvailable(), edm::isFinite(), edm::Ref< C, T, F >::isNonnull(), kNonTrig, kNonTrigPhys14, kTrig, EcalClusterLazyToolsT< EcalClusterToolsImpl >::localCovariances(), DetachedQuadStep_cff::mva, reco::LeafCandidate::p(), reco::Vertex::position(), reco::LeafCandidate::pt(), mathSSE::sqrt(), reco::GsfElectron::superCluster(), and groupFilesInBlocks::tt.

Referenced by isInitialized(), and heppy::EGammaMvaEleEstimatorFWLite::mvaValue().

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

Definition at line 386 of file EGammaMvaEleEstimatorCSA14.cc.

References stringResolutionProvider_cfi::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, DetachedQuadStep_cff::mva, reco::LeafCandidate::p(), reco::LeafCandidate::pt(), and pat::Electron::superCluster().

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

Member Data Documentation

Bool_t EGammaMvaEleEstimatorCSA14::fisInitialized
private

Definition at line 87 of file EGammaMvaEleEstimatorCSA14.h.

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

std::string EGammaMvaEleEstimatorCSA14::fMethodname
private

Definition at line 86 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

MVAType EGammaMvaEleEstimatorCSA14::fMVAType
private

Definition at line 88 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_abseta
private

Definition at line 121 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p0To0p1
private

Definition at line 128 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p1To0p2
private

Definition at line 129 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p2To0p3
private

Definition at line 130 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p3To0p4
private

Definition at line 131 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ChargedIso_DR0p4To0p5
private

Definition at line 132 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_d0
private

Definition at line 116 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_deta
private

Definition at line 98 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_detacalo
private

Definition at line 100 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_dphi
private

Definition at line 99 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_eleEoPout
private

Definition at line 112 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_EoP
private

Definition at line 110 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_EoPout
private

Definition at line 113 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_eta
private

Definition at line 120 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_etawidth
private

Definition at line 104 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_fbrem
private

Definition at line 92 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p0To0p1
private

Definition at line 133 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p1To0p2
private

Definition at line 134 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p2To0p3
private

Definition at line 135 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p3To0p4
private

Definition at line 136 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_GammaIso_DR0p4To0p5
private

Definition at line 137 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_gsfchi2
private

Definition at line 96 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_HoE
private

Definition at line 109 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_IoEmIoP
private

Definition at line 111 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ip3d
private

Definition at line 117 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_ip3dSig
private

Definition at line 118 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_isBarrel
private

Definition at line 124 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_isEndcap
private

Definition at line 125 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfchi2
private

Definition at line 93 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfhits
private

Definition at line 94 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_kfhitsall
private

Definition at line 95 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p0To0p1
private

Definition at line 138 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p1To0p2
private

Definition at line 139 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p2To0p3
private

Definition at line 140 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p3To0p4
private

Definition at line 141 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_NeutralHadronIso_DR0p4To0p5
private

Definition at line 142 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_OneMinusE1x5E5x5
private

Definition at line 106 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_phiwidth
private

Definition at line 105 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_PreShowerOverRaw
private

Definition at line 114 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_pt
private

Definition at line 122 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_R9
private

Definition at line 107 of file EGammaMvaEleEstimatorCSA14.h.

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

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_rho
private

Definition at line 123 of file EGammaMvaEleEstimatorCSA14.h.

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_SCeta
private

Definition at line 126 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_see
private

Definition at line 102 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

Float_t EGammaMvaEleEstimatorCSA14::fMVAVar_spp
private

Definition at line 103 of file EGammaMvaEleEstimatorCSA14.h.

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

UInt_t EGammaMvaEleEstimatorCSA14::fNMVABins
private

Definition at line 90 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize().

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

Definition at line 85 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().

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

Definition at line 84 of file EGammaMvaEleEstimatorCSA14.h.

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

Bool_t EGammaMvaEleEstimatorCSA14::fUseBinnedVersion
private

Definition at line 89 of file EGammaMvaEleEstimatorCSA14.h.

Referenced by initialize(), and mvaValue().