CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
EgammaRegressionContainer Class Reference

#include <EgammaRegressionContainer.h>

Public Member Functions

 EgammaRegressionContainer (const edm::ParameterSet &iConfig)
 
float operator() (const float et, const bool isEB, const bool isSaturated, const float *data) const
 
void setEventContent (const edm::EventSetup &iSetup)
 
bool useLowEtBin (const float et, const bool isSaturated) const
 
 ~EgammaRegressionContainer ()
 

Static Public Member Functions

static edm::ParameterSetDescription makePSetDescription ()
 

Private Attributes

const GBRForestDebHighEtForest_
 
const std::string ebHighEtForestName_
 
const GBRForestDebLowEtForest_
 
const std::string ebLowEtForestName_
 
const GBRForestDeeHighEtForest_
 
const std::string eeHighEtForestName_
 
const GBRForestDeeLowEtForest_
 
const std::string eeLowEtForestName_
 
bool forceHighEnergyTrainingIfSaturated_
 
const float lowEtHighEtBoundary_
 
const EgammaBDTOutputTransformer outputTransformerHighEt_
 
const EgammaBDTOutputTransformer outputTransformerLowEt_
 

Detailed Description

Definition at line 24 of file EgammaRegressionContainer.h.

Constructor & Destructor Documentation

EgammaRegressionContainer::EgammaRegressionContainer ( const edm::ParameterSet iConfig)

Definition at line 10 of file EgammaRegressionContainer.cc.

11  : outputTransformerLowEt_(iConfig.getParameter<double>("rangeMinLowEt"),
12  iConfig.getParameter<double>("rangeMaxLowEt")),
13  outputTransformerHighEt_(iConfig.getParameter<double>("rangeMinHighEt"),
14  iConfig.getParameter<double>("rangeMaxHighEt")),
15  forceHighEnergyTrainingIfSaturated_(iConfig.getParameter<bool>("forceHighEnergyTrainingIfSaturated")),
16  lowEtHighEtBoundary_(iConfig.getParameter<double>("lowEtHighEtBoundary")),
17  ebLowEtForestName_(iConfig.getParameter<std::string>("ebLowEtForestName")),
18  ebHighEtForestName_(iConfig.getParameter<std::string>("ebHighEtForestName")),
19  eeLowEtForestName_(iConfig.getParameter<std::string>("eeLowEtForestName")),
20  eeHighEtForestName_(iConfig.getParameter<std::string>("eeHighEtForestName")),
21  ebLowEtForest_(nullptr),
22  ebHighEtForest_(nullptr),
23  eeLowEtForest_(nullptr),
24  eeHighEtForest_(nullptr) {}
T getParameter(std::string const &) const
const EgammaBDTOutputTransformer outputTransformerHighEt_
const EgammaBDTOutputTransformer outputTransformerLowEt_
EgammaRegressionContainer::~EgammaRegressionContainer ( )
inline

Member Function Documentation

edm::ParameterSetDescription EgammaRegressionContainer::makePSetDescription ( )
static

Definition at line 26 of file EgammaRegressionContainer.cc.

References edm::ParameterSetDescription::add(), edm::EventSetup::get(), patZpeak::handle, Skims_PA_cff::name, edm::ESHandle< T >::product(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EpCombinationTool::makePSetDescription().

26  {
28  desc.add<double>("rangeMinLowEt", -1.);
29  desc.add<double>("rangeMaxLowEt", 3.0);
30  desc.add<double>("rangeMinHighEt", -1.);
31  desc.add<double>("rangeMaxHighEt", 3.0);
32  desc.add<double>("lowEtHighEtBoundary", 50.);
33  desc.add<bool>("forceHighEnergyTrainingIfSaturated", false);
34  desc.add<std::string>("ebLowEtForestName", "electron_eb_ECALTRK_lowpt");
35  desc.add<std::string>("ebHighEtForestName", "electron_eb_ECALTRK");
36  desc.add<std::string>("eeLowEtForestName", "electron_ee_ECALTRK_lowpt");
37  desc.add<std::string>("eeHighEtForestName", "electron_ee_ECALTRK");
38  return desc;
39 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
float EgammaRegressionContainer::operator() ( const float  et,
const bool  isEB,
const bool  isSaturated,
const float *  data 
) const

Definition at line 56 of file EgammaRegressionContainer.cc.

References ebHighEtForest_, ebLowEtForest_, eeHighEtForest_, eeLowEtForest_, GBRForestD::GetResponse(), outputTransformerHighEt_, outputTransformerLowEt_, and useLowEtBin().

59  {
60  if (useLowEtBin(et, isSaturated)) {
61  if (isEB)
63  else
65  } else {
66  if (isEB)
68  else
70  }
71 }
double GetResponse(const float *vector) const
Definition: GBRForestD.h:52
const EgammaBDTOutputTransformer outputTransformerHighEt_
const EgammaBDTOutputTransformer outputTransformerLowEt_
bool useLowEtBin(const float et, const bool isSaturated) const
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
void EgammaRegressionContainer::setEventContent ( const edm::EventSetup iSetup)

Definition at line 49 of file EgammaRegressionContainer.cc.

References ebHighEtForest_, ebHighEtForestName_, ebLowEtForest_, ebLowEtForestName_, eeHighEtForest_, eeHighEtForestName_, eeLowEtForest_, and eeLowEtForestName_.

Referenced by EpCombinationTool::setEventContent(), EGRegressionModifierV3::EleRegs::setEventContent(), and EGRegressionModifierV3::PhoRegs::setEventContent().

49  {
50  ebLowEtForest_ = getForest(iSetup, ebLowEtForestName_);
51  ebHighEtForest_ = getForest(iSetup, ebHighEtForestName_);
52  eeLowEtForest_ = getForest(iSetup, eeLowEtForestName_);
53  eeHighEtForest_ = getForest(iSetup, eeHighEtForestName_);
54 }
bool EgammaRegressionContainer::useLowEtBin ( const float  et,
const bool  isSaturated 
) const

Definition at line 73 of file EgammaRegressionContainer.cc.

References forceHighEnergyTrainingIfSaturated_, and lowEtHighEtBoundary_.

Referenced by operator()().

73  {
75  return false;
76  else
77  return et < lowEtHighEtBoundary_;
78 }
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)

Member Data Documentation

const GBRForestD* EgammaRegressionContainer::ebHighEtForest_
private

Definition at line 49 of file EgammaRegressionContainer.h.

Referenced by operator()(), and setEventContent().

const std::string EgammaRegressionContainer::ebHighEtForestName_
private

Definition at line 44 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

const GBRForestD* EgammaRegressionContainer::ebLowEtForest_
private

Definition at line 48 of file EgammaRegressionContainer.h.

Referenced by operator()(), and setEventContent().

const std::string EgammaRegressionContainer::ebLowEtForestName_
private

Definition at line 43 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

const GBRForestD* EgammaRegressionContainer::eeHighEtForest_
private

Definition at line 51 of file EgammaRegressionContainer.h.

Referenced by operator()(), and setEventContent().

const std::string EgammaRegressionContainer::eeHighEtForestName_
private

Definition at line 46 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

const GBRForestD* EgammaRegressionContainer::eeLowEtForest_
private

Definition at line 50 of file EgammaRegressionContainer.h.

Referenced by operator()(), and setEventContent().

const std::string EgammaRegressionContainer::eeLowEtForestName_
private

Definition at line 45 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

bool EgammaRegressionContainer::forceHighEnergyTrainingIfSaturated_
private

Definition at line 41 of file EgammaRegressionContainer.h.

Referenced by useLowEtBin().

const float EgammaRegressionContainer::lowEtHighEtBoundary_
private

Definition at line 42 of file EgammaRegressionContainer.h.

Referenced by useLowEtBin().

const EgammaBDTOutputTransformer EgammaRegressionContainer::outputTransformerHighEt_
private

Definition at line 39 of file EgammaRegressionContainer.h.

Referenced by operator()().

const EgammaBDTOutputTransformer EgammaRegressionContainer::outputTransformerLowEt_
private

Definition at line 38 of file EgammaRegressionContainer.h.

Referenced by operator()().