CMS 3D CMS Logo

EGammaMvaEleEstimatorFWLite.cc
Go to the documentation of this file.
1 
6 
7 namespace heppy {
8 
9  EGammaMvaEleEstimatorFWLite::EGammaMvaEleEstimatorFWLite() : estimator_(nullptr), estimatorCSA14_(nullptr) {}
10 
12  delete estimator_;
13  delete estimatorCSA14_;
14  }
15 
17  MVAType type,
18  bool useBinnedVersion,
19  std::vector<std::string> weightsfiles) {
20  delete estimator_;
21  estimator_ = nullptr;
22  delete estimatorCSA14_;
23  estimatorCSA14_ = nullptr;
24  std::vector<std::string> weightspaths;
25  weightspaths.reserve(weightsfiles.size());
26  for (const std::string& s : weightsfiles) {
27  weightspaths.push_back(edm::FileInPath(s).fullPath());
28  }
29  switch (type) {
32  estimator_->initialize(methodName, EGammaMvaEleEstimator::kTrig, useBinnedVersion, weightspaths);
33  break;
36  estimator_->initialize(methodName, EGammaMvaEleEstimator::kTrigNoIP, useBinnedVersion, weightspaths);
37  break;
40  estimator_->initialize(methodName, EGammaMvaEleEstimator::kNonTrig, useBinnedVersion, weightspaths);
41  break;
44  estimatorCSA14_->initialize(methodName, EGammaMvaEleEstimatorCSA14::kTrig, useBinnedVersion, weightspaths);
45  break;
48  estimatorCSA14_->initialize(methodName, EGammaMvaEleEstimatorCSA14::kNonTrig, useBinnedVersion, weightspaths);
49  break;
53  methodName, EGammaMvaEleEstimatorCSA14::kNonTrigPhys14, useBinnedVersion, weightspaths);
54  break;
55  default:
56  return;
57  }
58  }
59 
61  const pat::Electron& ele, const reco::Vertex& vertex, double rho, bool full5x5, bool printDebug) {
62  if (estimator_)
63  return estimator_->mvaValue(ele, vertex, rho, full5x5, printDebug);
64  else if (estimatorCSA14_)
65  return estimatorCSA14_->mvaValue(ele, printDebug);
66  else
67  throw cms::Exception("LogicError", "You must call unitialize before mvaValue\n");
68  }
69 
70 } // namespace heppy
EGammaMvaEleEstimator
Definition: EGammaMvaEleEstimator.h:38
HLT_FULL_cff.printDebug
printDebug
Definition: HLT_FULL_cff.py:35515
EGammaMvaEleEstimatorCSA14::mvaValue
Double_t mvaValue(const reco::GsfElectron &ele, const reco::Vertex &vertex, const TransientTrackBuilder &transientTrackBuilder, noZS::EcalClusterLazyTools myEcalCluster, bool printDebug=kFALSE)
Definition: EGammaMvaEleEstimatorCSA14.cc:251
heppy::EGammaMvaEleEstimatorFWLite::estimator_
EGammaMvaEleEstimator * estimator_
Definition: EGammaMvaEleEstimatorFWLite.h:37
heppy::EGammaMvaEleEstimatorFWLite::kTrig
Definition: EGammaMvaEleEstimatorFWLite.h:23
heppy::EGammaMvaEleEstimatorFWLite::kNonTrig
Definition: EGammaMvaEleEstimatorFWLite.h:25
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
EGammaMvaEleEstimatorCSA14::kNonTrigPhys14
Definition: EGammaMvaEleEstimatorCSA14.h:46
EGammaMvaEleEstimator::kTrig
Definition: EGammaMvaEleEstimator.h:44
EGammaMvaEleEstimator::kTrigNoIP
Definition: EGammaMvaEleEstimator.h:45
EGammaMvaEleEstimatorCSA14::initialize
void initialize(std::string methodName, std::string weightsfile, EGammaMvaEleEstimatorCSA14::MVAType type)
Definition: EGammaMvaEleEstimatorCSA14.cc:25
EGammaMvaEleEstimator::initialize
void initialize(std::string methodName, std::string weightsfile, EGammaMvaEleEstimator::MVAType type)
Definition: EGammaMvaEleEstimator.cc:42
heppy::EGammaMvaEleEstimatorFWLite::mvaValue
float mvaValue(const pat::Electron &ele, const reco::Vertex &vertex, double rho, bool full5x5, bool printDebug=false)
Definition: EGammaMvaEleEstimatorFWLite.cc:60
heppy::EGammaMvaEleEstimatorFWLite::EGammaMvaEleEstimatorFWLite
EGammaMvaEleEstimatorFWLite()
Definition: EGammaMvaEleEstimatorFWLite.cc:9
FileInPath.h
edm::FileInPath
Definition: FileInPath.h:64
alignCSCRings.s
s
Definition: alignCSCRings.py:92
heppy::EGammaMvaEleEstimatorFWLite::MVAType
MVAType
Definition: EGammaMvaEleEstimatorFWLite.h:22
heppy::EGammaMvaEleEstimatorFWLite::kNonTrigPhys14
Definition: EGammaMvaEleEstimatorFWLite.h:28
EGammaMvaEleEstimator.h
heppy::EGammaMvaEleEstimatorFWLite::kNonTrigCSA14
Definition: EGammaMvaEleEstimatorFWLite.h:27
EGammaMvaEleEstimatorCSA14
Definition: EGammaMvaEleEstimatorCSA14.h:38
heppy
TAKEN FROM http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/ElectroWeakAnalysis/Utilities/src/PdfWeig...
Definition: AlphaT.h:16
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
bphysicsOniaDQM_cfi.vertex
vertex
Definition: bphysicsOniaDQM_cfi.py:7
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
heppy::EGammaMvaEleEstimatorFWLite::initialize
void initialize(std::string methodName, MVAType type, bool useBinnedVersion, std::vector< std::string > weightsfiles)
Definition: EGammaMvaEleEstimatorFWLite.cc:16
EGammaMvaEleEstimatorFWLite.h
EGammaMvaEleEstimator::kNonTrig
Definition: EGammaMvaEleEstimator.h:46
EGammaMvaEleEstimator::mvaValue
Double_t mvaValue(const reco::GsfElectron &ele, const reco::Vertex &vertex, const TransientTrackBuilder &transientTrackBuilder, EcalClusterLazyTools const &myEcalCluster, bool printDebug=kFALSE)
Definition: EGammaMvaEleEstimator.cc:954
heppy::EGammaMvaEleEstimatorFWLite::kTrigCSA14
Definition: EGammaMvaEleEstimatorFWLite.h:26
EGammaMvaEleEstimatorCSA14::kNonTrig
Definition: EGammaMvaEleEstimatorCSA14.h:45
Exception
Definition: hltDiff.cc:245
heppy::EGammaMvaEleEstimatorFWLite::kTrigNoIP
Definition: EGammaMvaEleEstimatorFWLite.h:24
EGammaMvaEleEstimatorCSA14.h
pat::Electron
Analysis-level electron class.
Definition: Electron.h:51
heppy::EGammaMvaEleEstimatorFWLite::~EGammaMvaEleEstimatorFWLite
~EGammaMvaEleEstimatorFWLite()
Definition: EGammaMvaEleEstimatorFWLite.cc:11
heppy::EGammaMvaEleEstimatorFWLite::estimatorCSA14_
EGammaMvaEleEstimatorCSA14 * estimatorCSA14_
Definition: EGammaMvaEleEstimatorFWLite.h:38
EGammaMvaEleEstimatorCSA14::kTrig
Definition: EGammaMvaEleEstimatorCSA14.h:44
reco::Vertex
Definition: Vertex.h:35