CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
L1GctConfigProducers Class Reference

#include <L1Trigger/L1GctConfigProducers/interface/L1GctConfigProducers.h>

Inheritance diagram for L1GctConfigProducers:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

typedef std::shared_ptr< L1GctChannelMaskChanMaskReturnType
 
typedef std::shared_ptr< L1GctJetFinderParamsJfParamsReturnType
 
- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 

Public Member Functions

std::vector< double > etToEnergyConversion (const L1CaloGeometry *geom) const
 Legacy nonsense. More...
 
 L1GctConfigProducers (const edm::ParameterSet &)
 
ChanMaskReturnType produceChanMask (const L1GctChannelMaskRcd &)
 
JfParamsReturnType produceJfParams (const L1GctJetFinderParamsRcd &)
 
 ~L1GctConfigProducers ()
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ~ESProducer ()(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
 overrides DataProxyProvider method More...
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Private Attributes

double m_CenJetSeed
 
bool m_convertToEnergy
 
unsigned m_corrFunType
 
unsigned m_EtaBoundry
 
double m_FwdJetSeed
 
double m_htJetThresh
 
double m_htLsb
 
std::vector< std::vector< double > > m_jetCalibFunc
 
unsigned m_metEtaMask
 
unsigned m_mhtEtaMask
 
double m_mhtJetThresh
 
double m_rgnEtLsb
 
std::vector< std::vector< double > > m_tauCalibFunc
 
double m_tauIsoThresh
 
double m_TauJetSeed
 
unsigned m_tetEtaMask
 
unsigned m_thtEtaMask
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
void setWhatProduced (T *iThis, const es::Label &iLabel=es::Label())
 
template<typename T >
void setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
void setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
void setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label())
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
 override DataProxyProvider method More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 49 of file L1GctConfigProducers.h.

Member Typedef Documentation

Definition at line 55 of file L1GctConfigProducers.h.

Definition at line 54 of file L1GctConfigProducers.h.

Constructor & Destructor Documentation

L1GctConfigProducers::L1GctConfigProducers ( const edm::ParameterSet iConfig)

Definition at line 25 of file L1GctConfigProducers.cc.

References edm::ParameterSet::getParameter(), mps_fire::i, m_corrFunType, m_jetCalibFunc, m_tauCalibFunc, L1GctJetFinderParams::N_CENTRAL_ETA_VALUES, L1GctJetFinderParams::NUMBER_ETA_VALUES, produceChanMask(), produceJfParams(), edm::ESProducer::setWhatProduced(), harvestTrackValidationPlots::str, and AlCaHLTBitMon_QueryRunRegistry::string.

25  :
26  m_rgnEtLsb(iConfig.getParameter<double>("RctRegionEtLSB")),
27  m_htLsb(iConfig.getParameter<double>("GctHtLSB")),
28  m_CenJetSeed(iConfig.getParameter<double>("JetFinderCentralJetSeed")),
29  m_FwdJetSeed(iConfig.getParameter<double>("JetFinderForwardJetSeed")),
30  m_TauJetSeed(iConfig.getParameter<double>("JetFinderCentralJetSeed")), // no separate tau jet seed yet
31  m_tauIsoThresh(iConfig.getParameter<double>("TauIsoEtThreshold")),
32  m_htJetThresh(iConfig.getParameter<double>("HtJetEtThreshold")),
33  m_mhtJetThresh(iConfig.getParameter<double>("MHtJetEtThreshold")),
34  m_EtaBoundry(7), // not programmable!
35  m_corrFunType(0),
36  m_convertToEnergy (iConfig.getParameter<bool>("ConvertEtValuesToEnergy")),
39  m_metEtaMask(iConfig.getParameter<unsigned>("MEtEtaMask")),
40  m_tetEtaMask(iConfig.getParameter<unsigned>("TEtEtaMask")),
41  m_mhtEtaMask(iConfig.getParameter<unsigned>("MHtEtaMask")),
42  m_thtEtaMask(iConfig.getParameter<unsigned>("HtEtaMask"))
43 {
44 
45  //the following lines are needed to tell the framework what
46  // data is being produced
49 
50  //now do what ever other initialization is needed
51  std::string CalibStyle = iConfig.getParameter<std::string>("CalibrationStyle");
52  edm::ParameterSet calibCoeffs;
53 
54  if (CalibStyle == "PowerSeries") {
55  m_corrFunType = 1;
56  calibCoeffs = iConfig.getParameter<edm::ParameterSet>("PowerSeriesCoefficients");
57  }
58 
59  if (CalibStyle == "ORCAStyle") {
60  m_corrFunType = 2;
61  calibCoeffs = iConfig.getParameter<edm::ParameterSet>("OrcaStyleCoefficients");
62  }
63 
64  if (CalibStyle == "Simple") {
65  m_corrFunType = 3;
66  calibCoeffs = iConfig.getParameter<edm::ParameterSet>("SimpleCoefficients");
67  }
68 
69  if (CalibStyle == "PiecewiseCubic") {
70  m_corrFunType = 4;
71  calibCoeffs = iConfig.getParameter<edm::ParameterSet>("PiecewiseCubicCoefficients");
72  }
73 
74  if (CalibStyle == "PF") {
75  m_corrFunType = 5;
76  calibCoeffs = iConfig.getParameter<edm::ParameterSet>("PFCoefficients");
77  }
78 
79  // check
80  if (CalibStyle != "None") {
81 
82  // Read the coefficients from file
83  // coefficients for non-tau jet corrections
84  for (unsigned i=0; i<L1GctJetFinderParams::NUMBER_ETA_VALUES; ++i) {
85  std::stringstream ss;
87  ss << "nonTauJetCalib" << i;
88  ss >> str;
89  m_jetCalibFunc.push_back(calibCoeffs.getParameter< std::vector<double> >(str));
90  }
91  // coefficients for tau jet corrections
92  for (unsigned i=0; i<L1GctJetFinderParams::N_CENTRAL_ETA_VALUES; ++i) {
93  std::stringstream ss;
95  ss << "tauJetCalib" << i;
96  ss >> str;
97  m_tauCalibFunc.push_back(calibCoeffs.getParameter< std::vector<double> >(str));
98  }
99 
100  } else {
101  // No corrections to be applied
102  m_corrFunType = 0; // no correction
103  // Set the vector sizes to those expected by the CalibrationFunction
104  m_jetCalibFunc.resize(L1GctJetFinderParams::NUMBER_ETA_VALUES);
105  m_tauCalibFunc.resize(L1GctJetFinderParams::N_CENTRAL_ETA_VALUES);
106  }
107 
108  edm::LogWarning("L1GctConfig") << "Calibration Style option " << CalibStyle << std::endl;
109 
110 }
ChanMaskReturnType produceChanMask(const L1GctChannelMaskRcd &)
T getParameter(std::string const &) const
static const unsigned N_CENTRAL_ETA_VALUES
Number of eta bins used in correction.
JfParamsReturnType produceJfParams(const L1GctJetFinderParamsRcd &)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
std::vector< std::vector< double > > m_jetCalibFunc
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
std::vector< std::vector< double > > m_tauCalibFunc
L1GctConfigProducers::~L1GctConfigProducers ( )

Definition at line 113 of file L1GctConfigProducers.cc.

114 {
115 
116  // do anything here that needs to be done at desctruction time
117  // (e.g. close files, deallocate resources etc.)
118 
119 }

Member Function Documentation

std::vector< double > L1GctConfigProducers::etToEnergyConversion ( const L1CaloGeometry geom) const

Legacy nonsense.

Calculate Et-to-energy conversion factors for eta bins

Definition at line 172 of file L1GctConfigProducers.cc.

References DEFINE_FWK_EVENTSETUP_MODULE, L1CaloGeometry::etaBinCenter(), JetChargeProducer_cfi::exp, and mps_fire::result.

Referenced by produceJfParams().

173  {
174  // L1CaloGeometry* geom = new L1CaloGeometry();
175  std::vector<double> result;
176  // Factors for central eta bins
177  for (unsigned ieta=0; ieta<7; ieta++) {
178  double bineta = geom->etaBinCenter(ieta, true);
179  double factor = 0.5*(exp(bineta)+exp(-bineta)); // Conversion from eta to cosec(theta)
180  result.push_back(factor);
181  }
182  // Factors for forward eta bins
183  for (unsigned ieta=0; ieta<4; ieta++) {
184  double bineta = geom->etaBinCenter(ieta, false);
185  double factor = 0.5*(exp(bineta)+exp(-bineta)); // Conversion from eta to cosec(theta)
186  result.push_back(factor);
187  }
188  return result;
189 }
double etaBinCenter(unsigned int etaIndex, bool central=true) const
L1GctConfigProducers::ChanMaskReturnType L1GctConfigProducers::produceChanMask ( const L1GctChannelMaskRcd )

Definition at line 152 of file L1GctConfigProducers.cc.

References m_metEtaMask, m_mhtEtaMask, m_tetEtaMask, m_thtEtaMask, RecoTauDiscriminantConfiguration::mask, L1GctChannelMask::maskMissingEt(), L1GctChannelMask::maskMissingHt(), L1GctChannelMask::maskTotalEt(), L1GctChannelMask::maskTotalHt(), and globals_cff::x1.

Referenced by L1GctConfigProducers().

152  {
153 
155 
156  for (unsigned ieta=0; ieta<22; ++ieta) {
157  if (((m_metEtaMask>>ieta)&0x1)==1) mask->maskMissingEt(ieta);
158  if (((m_tetEtaMask>>ieta)&0x1)==1) mask->maskTotalEt(ieta);
159  if (((m_mhtEtaMask>>ieta)&0x1)==1) mask->maskMissingHt(ieta);
160  if (((m_thtEtaMask>>ieta)&0x1)==1) mask->maskTotalHt(ieta);
161  }
162 
163  return std::shared_ptr<L1GctChannelMask>(mask);
164 
165 }
void maskMissingEt(unsigned ieta)
mask eta range from missing Et sum
void maskTotalHt(unsigned ieta)
mask eta range from total Ht sum
void maskTotalEt(unsigned ieta)
mask eta range from total Et sum
void maskMissingHt(unsigned ieta)
mask eta range from missing Ht sum
L1GctConfigProducers::JfParamsReturnType L1GctConfigProducers::produceJfParams ( const L1GctJetFinderParamsRcd aRcd)

Definition at line 124 of file L1GctConfigProducers.cc.

References etToEnergyConversion(), relativeConstraints::geom, edm::eventsetup::EventSetupRecord::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), m_CenJetSeed, m_convertToEnergy, m_corrFunType, m_EtaBoundry, m_FwdJetSeed, m_htJetThresh, m_htLsb, m_jetCalibFunc, m_mhtJetThresh, m_rgnEtLsb, m_tauCalibFunc, m_tauIsoThresh, and m_TauJetSeed.

Referenced by L1GctConfigProducers().

125 {
126  // get geometry
127  const L1CaloGeometryRecord& geomRcd = aRcd.getRecord< L1CaloGeometryRecord >() ;
129  geomRcd.get( geom ) ;
130 
131  // construct jet finder params object
132  auto pL1GctJetFinderParams = std::make_shared<L1GctJetFinderParams>(m_rgnEtLsb,
133  m_htLsb,
134  m_CenJetSeed,
135  m_FwdJetSeed,
136  m_TauJetSeed,
140  m_EtaBoundry,
145  etToEnergyConversion(geom.product()));
146 
147  return pL1GctJetFinderParams ;
148 
149 }
std::vector< std::vector< double > > m_jetCalibFunc
void get(HolderT &iHolder) const
std::vector< double > etToEnergyConversion(const L1CaloGeometry *geom) const
Legacy nonsense.
std::vector< std::vector< double > > m_tauCalibFunc

Member Data Documentation

double L1GctConfigProducers::m_CenJetSeed
private

Definition at line 66 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

bool L1GctConfigProducers::m_convertToEnergy
private

Definition at line 74 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

unsigned L1GctConfigProducers::m_corrFunType
private

Definition at line 73 of file L1GctConfigProducers.h.

Referenced by L1GctConfigProducers(), and produceJfParams().

unsigned L1GctConfigProducers::m_EtaBoundry
private

Definition at line 72 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

double L1GctConfigProducers::m_FwdJetSeed
private

Definition at line 67 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

double L1GctConfigProducers::m_htJetThresh
private

Definition at line 70 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

double L1GctConfigProducers::m_htLsb
private

Definition at line 65 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

std::vector< std::vector<double> > L1GctConfigProducers::m_jetCalibFunc
private

Definition at line 76 of file L1GctConfigProducers.h.

Referenced by L1GctConfigProducers(), and produceJfParams().

unsigned L1GctConfigProducers::m_metEtaMask
private

Definition at line 79 of file L1GctConfigProducers.h.

Referenced by produceChanMask().

unsigned L1GctConfigProducers::m_mhtEtaMask
private

Definition at line 81 of file L1GctConfigProducers.h.

Referenced by produceChanMask().

double L1GctConfigProducers::m_mhtJetThresh
private

Definition at line 71 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

double L1GctConfigProducers::m_rgnEtLsb
private

Definition at line 64 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

std::vector< std::vector<double> > L1GctConfigProducers::m_tauCalibFunc
private

Definition at line 77 of file L1GctConfigProducers.h.

Referenced by L1GctConfigProducers(), and produceJfParams().

double L1GctConfigProducers::m_tauIsoThresh
private

Definition at line 69 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

double L1GctConfigProducers::m_TauJetSeed
private

Definition at line 68 of file L1GctConfigProducers.h.

Referenced by produceJfParams().

unsigned L1GctConfigProducers::m_tetEtaMask
private

Definition at line 80 of file L1GctConfigProducers.h.

Referenced by produceChanMask().

unsigned L1GctConfigProducers::m_thtEtaMask
private

Definition at line 82 of file L1GctConfigProducers.h.

Referenced by produceChanMask().