CMS 3D CMS Logo

HGC3DClusterEgID.cc
Go to the documentation of this file.
3 
5  : isPUFilter_(pset.getParameter<bool>("isPUFilter")),
6  preselection_(pset.getParameter<std::string>("preselection")),
7  method_(pset.getParameter<std::string>("method")),
8  weightsFile_(pset.getParameter<std::string>("weightsFile")),
9  reader_(new TMVA::Reader()),
10  wp_(pset.getParameter<std::string>("wp")) {
11  // first create all the variables
12  for (const auto &psvar : pset.getParameter<std::vector<edm::ParameterSet>>("variables")) {
13  variables_.emplace_back(psvar.getParameter<std::string>("name"), psvar.getParameter<std::string>("value"));
14  }
15 }
16 
18  // Declare the variables
19  for (auto &var : variables_)
20  var.declare(*reader_);
21  // then read the weights
22  if (weightsFile_[0] != '/' && weightsFile_[0] != '.') {
23  weightsFile_ = edm::FileInPath(weightsFile_).fullPath();
24  }
25  reco::details::loadTMVAWeights(&*reader_, method_, weightsFile_);
26 }
27 
29  if (preselection_(c)) {
30  for (auto &var : variables_)
31  var.fill(c);
32  float mvaOut = reader_->EvaluateMVA(method_);
33  if (isPUFilter_)
34  cpf.setEgVsPUMVAOut(mvaOut);
35  else
36  cpf.setEgVsPionMVAOut(mvaOut);
37  return (mvaOut > wp_(c) ? 1 : 0);
38  } else {
39  if (isPUFilter_)
40  cpf.setEgVsPUMVAOut(-100.0);
41  else
42  cpf.setEgVsPionMVAOut(-100.0);
43  return 0;
44  }
45 }
electrons_cff.bool
bool
Definition: electrons_cff.py:393
l1tpf::HGC3DClusterEgID::variables_
std::vector< Var > variables_
Definition: HGC3DClusterEgID.h:46
l1tpf::HGC3DClusterEgID::prepareTMVA
void prepareTMVA()
Definition: HGC3DClusterEgID.cc:17
l1tpf::HGC3DClusterEgID::passID
float passID(l1t::HGCalMulticluster c, l1t::PFCluster &cpf)
Definition: HGC3DClusterEgID.cc:28
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
edm::FileInPath
Definition: FileInPath.h:64
l1t::HGCalMulticluster
Definition: HGCalMulticluster.h:13
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:47
l1t::PFCluster::setEgVsPionMVAOut
void setEgVsPionMVAOut(float egVsPionMVAOut)
Definition: PFCluster.h:63
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
HGC3DClusterEgID.h
std
Definition: JetResolutionObject.h:76
l1t::PFCluster
Definition: PFCluster.h:10
reco::details::loadTMVAWeights
TMVA::IMethod * loadTMVAWeights(TMVA::Reader *reader, const std::string &method, const std::string &weightFile, bool verbose=false)
Definition: TMVAZipReader.cc:52
TMVAZipReader.h
l1t::PFCluster::setEgVsPUMVAOut
void setEgVsPUMVAOut(float egVsPUMVAOut)
Definition: PFCluster.h:66
l1tpf::HGC3DClusterEgID::HGC3DClusterEgID
HGC3DClusterEgID(const edm::ParameterSet &pset)
Definition: HGC3DClusterEgID.cc:4
edm::FileInPath::fullPath
std::string fullPath() const
Definition: FileInPath.cc:163
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27