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, edm::ConsumesCollector &cc)
 
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_ = nullptr
 
const edm::ESGetToken< GBRForestD, GBRDWrapperRcdebHighEtForestToken_
 
const GBRForestDebLowEtForest_ = nullptr
 
const edm::ESGetToken< GBRForestD, GBRDWrapperRcdebLowEtForestToken_
 
const GBRForestDeeHighEtForest_ = nullptr
 
const edm::ESGetToken< GBRForestD, GBRDWrapperRcdeeHighEtForestToken_
 
const GBRForestDeeLowEtForest_ = nullptr
 
const edm::ESGetToken< GBRForestD, GBRDWrapperRcdeeLowEtForestToken_
 
bool forceHighEnergyTrainingIfSaturated_
 
const float lowEtHighEtBoundary_
 
const EgammaBDTOutputTransformer outputTransformerHighEt_
 
const EgammaBDTOutputTransformer outputTransformerLowEt_
 

Detailed Description

Definition at line 27 of file EgammaRegressionContainer.h.

Constructor & Destructor Documentation

◆ EgammaRegressionContainer()

EgammaRegressionContainer::EgammaRegressionContainer ( const edm::ParameterSet iConfig,
edm::ConsumesCollector cc 
)

Definition at line 9 of file EgammaRegressionContainer.cc.

References edm::ConsumesCollector::esConsumes(), and edm::ParameterSet::getParameter().

10  : outputTransformerLowEt_(iConfig.getParameter<double>("rangeMinLowEt"),
11  iConfig.getParameter<double>("rangeMaxLowEt")),
12  outputTransformerHighEt_(iConfig.getParameter<double>("rangeMinHighEt"),
13  iConfig.getParameter<double>("rangeMaxHighEt")),
14  forceHighEnergyTrainingIfSaturated_(iConfig.getParameter<bool>("forceHighEnergyTrainingIfSaturated")),
15  lowEtHighEtBoundary_(iConfig.getParameter<double>("lowEtHighEtBoundary")),
16  ebLowEtForestToken_{cc.esConsumes(iConfig.getParameter<edm::ESInputTag>("ebLowEtForestName"))},
17  ebHighEtForestToken_{cc.esConsumes(iConfig.getParameter<edm::ESInputTag>("ebHighEtForestName"))},
18  eeLowEtForestToken_{cc.esConsumes(iConfig.getParameter<edm::ESInputTag>("eeLowEtForestName"))},
19  eeHighEtForestToken_{cc.esConsumes(iConfig.getParameter<edm::ESInputTag>("eeHighEtForestName"))} {}
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > eeLowEtForestToken_
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > ebHighEtForestToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > eeHighEtForestToken_
const EgammaBDTOutputTransformer outputTransformerHighEt_
const EgammaBDTOutputTransformer outputTransformerLowEt_
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > ebLowEtForestToken_

◆ ~EgammaRegressionContainer()

EgammaRegressionContainer::~EgammaRegressionContainer ( )
inline

Definition at line 30 of file EgammaRegressionContainer.h.

30 {}

Member Function Documentation

◆ makePSetDescription()

edm::ParameterSetDescription EgammaRegressionContainer::makePSetDescription ( )
static

Definition at line 21 of file EgammaRegressionContainer.cc.

References submitPVResolutionJobs::desc.

Referenced by EpCombinationTool::makePSetDescription().

21  {
23  desc.add<double>("rangeMinLowEt", -1.);
24  desc.add<double>("rangeMaxLowEt", 3.0);
25  desc.add<double>("rangeMinHighEt", -1.);
26  desc.add<double>("rangeMaxHighEt", 3.0);
27  desc.add<double>("lowEtHighEtBoundary", 50.);
28  desc.add<bool>("forceHighEnergyTrainingIfSaturated", false);
29  desc.add<edm::ESInputTag>("ebLowEtForestName", edm::ESInputTag{"", "electron_eb_ECALTRK_lowpt"});
30  desc.add<edm::ESInputTag>("ebHighEtForestName", edm::ESInputTag{"", "electron_eb_ECALTRK"});
31  desc.add<edm::ESInputTag>("eeLowEtForestName", edm::ESInputTag{"", "electron_ee_ECALTRK_lowpt"});
32  desc.add<edm::ESInputTag>("eeHighEtForestName", edm::ESInputTag{"", "electron_ee_ECALTRK"});
33  return desc;
34 }

◆ operator()()

float EgammaRegressionContainer::operator() ( const float  et,
const bool  isEB,
const bool  isSaturated,
const float *  data 
) const

Definition at line 43 of file EgammaRegressionContainer.cc.

References data, ebHighEtForest_, ebLowEtForest_, eeHighEtForest_, eeLowEtForest_, EgHLTOffHistBins_cfi::et, GBRForestD::GetResponse(), CastorSimpleRecAlgoImpl::isSaturated(), outputTransformerHighEt_, outputTransformerLowEt_, and useLowEtBin().

46  {
47  if (useLowEtBin(et, isSaturated)) {
48  if (isEB)
50  else
52  } else {
53  if (isEB)
55  else
57  }
58 }
bool useLowEtBin(const float et, const bool isSaturated) const
const EgammaBDTOutputTransformer outputTransformerHighEt_
const EgammaBDTOutputTransformer outputTransformerLowEt_
double GetResponse(const float *vector) const
Definition: GBRForestD.h:49
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79

◆ setEventContent()

void EgammaRegressionContainer::setEventContent ( const edm::EventSetup iSetup)

Definition at line 36 of file EgammaRegressionContainer.cc.

References ebHighEtForest_, ebHighEtForestToken_, ebLowEtForest_, ebLowEtForestToken_, eeHighEtForest_, eeHighEtForestToken_, eeLowEtForest_, eeLowEtForestToken_, and edm::EventSetup::getData().

Referenced by EpCombinationTool::setEventContent().

36  {
41 }
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > eeLowEtForestToken_
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > ebHighEtForestToken_
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > eeHighEtForestToken_
bool getData(T &iHolder) const
Definition: EventSetup.h:122
const edm::ESGetToken< GBRForestD, GBRDWrapperRcd > ebLowEtForestToken_

◆ useLowEtBin()

bool EgammaRegressionContainer::useLowEtBin ( const float  et,
const bool  isSaturated 
) const

Definition at line 60 of file EgammaRegressionContainer.cc.

References EgHLTOffHistBins_cfi::et, forceHighEnergyTrainingIfSaturated_, CastorSimpleRecAlgoImpl::isSaturated(), and lowEtHighEtBoundary_.

Referenced by operator()().

60  {
62  return false;
63  else
64  return et < lowEtHighEtBoundary_;
65 }
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)

Member Data Documentation

◆ ebHighEtForest_

const GBRForestD* EgammaRegressionContainer::ebHighEtForest_ = nullptr
private

Definition at line 53 of file EgammaRegressionContainer.h.

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

◆ ebHighEtForestToken_

const edm::ESGetToken<GBRForestD, GBRDWrapperRcd> EgammaRegressionContainer::ebHighEtForestToken_
private

Definition at line 48 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

◆ ebLowEtForest_

const GBRForestD* EgammaRegressionContainer::ebLowEtForest_ = nullptr
private

Definition at line 52 of file EgammaRegressionContainer.h.

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

◆ ebLowEtForestToken_

const edm::ESGetToken<GBRForestD, GBRDWrapperRcd> EgammaRegressionContainer::ebLowEtForestToken_
private

Definition at line 47 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

◆ eeHighEtForest_

const GBRForestD* EgammaRegressionContainer::eeHighEtForest_ = nullptr
private

Definition at line 55 of file EgammaRegressionContainer.h.

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

◆ eeHighEtForestToken_

const edm::ESGetToken<GBRForestD, GBRDWrapperRcd> EgammaRegressionContainer::eeHighEtForestToken_
private

Definition at line 50 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

◆ eeLowEtForest_

const GBRForestD* EgammaRegressionContainer::eeLowEtForest_ = nullptr
private

Definition at line 54 of file EgammaRegressionContainer.h.

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

◆ eeLowEtForestToken_

const edm::ESGetToken<GBRForestD, GBRDWrapperRcd> EgammaRegressionContainer::eeLowEtForestToken_
private

Definition at line 49 of file EgammaRegressionContainer.h.

Referenced by setEventContent().

◆ forceHighEnergyTrainingIfSaturated_

bool EgammaRegressionContainer::forceHighEnergyTrainingIfSaturated_
private

Definition at line 44 of file EgammaRegressionContainer.h.

Referenced by useLowEtBin().

◆ lowEtHighEtBoundary_

const float EgammaRegressionContainer::lowEtHighEtBoundary_
private

Definition at line 45 of file EgammaRegressionContainer.h.

Referenced by useLowEtBin().

◆ outputTransformerHighEt_

const EgammaBDTOutputTransformer EgammaRegressionContainer::outputTransformerHighEt_
private

Definition at line 42 of file EgammaRegressionContainer.h.

Referenced by operator()().

◆ outputTransformerLowEt_

const EgammaBDTOutputTransformer EgammaRegressionContainer::outputTransformerLowEt_
private

Definition at line 41 of file EgammaRegressionContainer.h.

Referenced by operator()().