CMS 3D CMS Logo

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

#include <HGC3DClusterEgID.h>

Classes

class  Var
 

Public Member Functions

 HGC3DClusterEgID (const edm::ParameterSet &pset)
 
std::string method ()
 
float passID (l1t::HGCalMulticluster c, l1t::PFCluster &cpf)
 
void prepareTMVA ()
 

Private Attributes

bool isPUFilter_
 
std::string method_
 
StringCutObjectSelector
< l1t::HGCalMulticluster
preselection_
 
std::unique_ptr< TMVA::Reader > reader_
 
std::vector< Varvariables_
 
std::string weightsFile_
 
StringObjectFunction
< l1t::HGCalMulticluster
wp_
 

Detailed Description

Definition at line 21 of file HGC3DClusterEgID.h.

Constructor & Destructor Documentation

l1tpf::HGC3DClusterEgID::HGC3DClusterEgID ( const edm::ParameterSet pset)

Definition at line 4 of file HGC3DClusterEgID.cc.

References edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and variables_.

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 }
StringCutObjectSelector< l1t::HGCalMulticluster > preselection_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< Var > variables_
StringObjectFunction< l1t::HGCalMulticluster > wp_
std::unique_ptr< TMVA::Reader > reader_

Member Function Documentation

std::string l1tpf::HGC3DClusterEgID::method ( )
inline
float l1tpf::HGC3DClusterEgID::passID ( l1t::HGCalMulticluster  c,
l1t::PFCluster cpf 
)

Definition at line 28 of file HGC3DClusterEgID.cc.

References l1t::PFCluster::setEgVsPionMVAOut(), l1t::PFCluster::setEgVsPUMVAOut(), and isotrackApplyRegressor::var.

28  {
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 }
void setEgVsPionMVAOut(float egVsPionMVAOut)
Definition: PFCluster.h:63
void setEgVsPUMVAOut(float egVsPUMVAOut)
Definition: PFCluster.h:66
StringCutObjectSelector< l1t::HGCalMulticluster > preselection_
list var
if using global norm cols_to_minmax = [&#39;t_delta&#39;, &#39;t_hmaxNearP&#39;,&#39;t_emaxNearP&#39;, &#39;t_hAnnular&#39;, &#39;t_eAnnular&#39;,&#39;t_pt&#39;,&#39;t_nVtx&#39;,&#39;t_ieta&#39;,&#39;t_eHcal10&#39;, &#39;t_eHcal30&#39;,&#39;t_rhoh&#39;,&#39;t_eHcal&#39;] df[cols_to_minmax] = df[cols_to_minmax].apply(lambda x: (x - x.min()) / (x.max() - x.min()) if (x.max() - x.min() &gt; 0) else 1.0/200.0)
std::vector< Var > variables_
StringObjectFunction< l1t::HGCalMulticluster > wp_
std::unique_ptr< TMVA::Reader > reader_
void l1tpf::HGC3DClusterEgID::prepareTMVA ( )

Definition at line 17 of file HGC3DClusterEgID.cc.

References edm::FileInPath::fullPath(), reco::details::loadTMVAWeights(), and isotrackApplyRegressor::var.

Referenced by l1tpf::PFClusterProducerFromHGC3DClusters::PFClusterProducerFromHGC3DClusters().

17  {
18  // Declare the variables
19  for (auto &var : variables_)
20  var.declare(*reader_);
21  // then read the weights
22  if (weightsFile_[0] != '/' && weightsFile_[0] != '.') {
24  }
26 }
list var
if using global norm cols_to_minmax = [&#39;t_delta&#39;, &#39;t_hmaxNearP&#39;,&#39;t_emaxNearP&#39;, &#39;t_hAnnular&#39;, &#39;t_eAnnular&#39;,&#39;t_pt&#39;,&#39;t_nVtx&#39;,&#39;t_ieta&#39;,&#39;t_eHcal10&#39;, &#39;t_eHcal30&#39;,&#39;t_rhoh&#39;,&#39;t_eHcal&#39;] df[cols_to_minmax] = df[cols_to_minmax].apply(lambda x: (x - x.min()) / (x.max() - x.min()) if (x.max() - x.min() &gt; 0) else 1.0/200.0)
std::vector< Var > variables_
TMVA::IMethod * loadTMVAWeights(TMVA::Reader *reader, const std::string &method, const std::string &weightFile, bool verbose=false)
std::unique_ptr< TMVA::Reader > reader_
std::string fullPath() const
Definition: FileInPath.cc:161

Member Data Documentation

bool l1tpf::HGC3DClusterEgID::isPUFilter_
private

Definition at line 44 of file HGC3DClusterEgID.h.

std::string l1tpf::HGC3DClusterEgID::method_
private

Definition at line 47 of file HGC3DClusterEgID.h.

Referenced by method().

StringCutObjectSelector<l1t::HGCalMulticluster> l1tpf::HGC3DClusterEgID::preselection_
private

Definition at line 45 of file HGC3DClusterEgID.h.

std::unique_ptr<TMVA::Reader> l1tpf::HGC3DClusterEgID::reader_
private

Definition at line 48 of file HGC3DClusterEgID.h.

std::vector<Var> l1tpf::HGC3DClusterEgID::variables_
private

Definition at line 46 of file HGC3DClusterEgID.h.

Referenced by HGC3DClusterEgID().

std::string l1tpf::HGC3DClusterEgID::weightsFile_
private

Definition at line 47 of file HGC3DClusterEgID.h.

StringObjectFunction<l1t::HGCalMulticluster> l1tpf::HGC3DClusterEgID::wp_
private

Definition at line 49 of file HGC3DClusterEgID.h.