CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
EcalSignalGenerator< ECALDIGITIZERTRAITS > Class Template Reference

#include <EcalSignalGenerator.h>

Inheritance diagram for EcalSignalGenerator< ECALDIGITIZERTRAITS >:
EcalBaseSignalGenerator CaloVNoiseSignalGenerator

Public Types

typedef std::unordered_map< uint32_t, double > CalibCache
 
typedef ECALDIGITIZERTRAITS::DigiCollection COLLECTION
 
typedef ECALDIGITIZERTRAITS::Digi DIGI
 

Public Member Functions

 EcalSignalGenerator ()
 
 EcalSignalGenerator (edm::ConsumesCollector &cc, const edm::InputTag &inputTag, const double EBs25notCont, const double EEs25notCont, const double peToABarrel, const double peToAEndcap, const bool timeDependent=false)
 
virtual void fill (edm::ModuleCallingContext const *mcc)
 
void initializeEvent (const edm::Event *event, const edm::EventSetup *eventSetup)
 
void initializeEvent (const edm::EventPrincipal *eventPrincipal, const edm::EventSetup *eventSetup)
 some users use EventPrincipals, not Events. We support both More...
 
 ~EcalSignalGenerator () override
 
- Public Member Functions inherited from EcalBaseSignalGenerator
 EcalBaseSignalGenerator ()
 
 ~EcalBaseSignalGenerator () override
 
- Public Member Functions inherited from CaloVNoiseSignalGenerator
 CaloVNoiseSignalGenerator ()
 
bool contains (const DetId &detId) const
 
void fillEvent (CLHEP::HepRandomEngine *)
 fill theNoiseSignals with one event's worth of noise, in units of pe More...
 
void fillEvent ()
 
void getNoiseSignals (std::vector< CaloSamples > &noiseSignals)
 
void setNoiseSignals (const std::vector< CaloSamples > &noiseSignals)
 
virtual ~CaloVNoiseSignalGenerator ()
 

Private Member Functions

void fillNoiseSignals () override
 
void fillNoiseSignals (CLHEP::HepRandomEngine *) override
 
double findLaserConstant_LC (const DetId &detId) const
 
double findLaserConstant_LC_prime (const DetId &detId) const
 
double fullScaleEnergy (const DetId &detId) const
 
const std::vector< float > GetGainRatios (const DetId &detid)
 
double peToAConversion (const DetId &detId) const
 
CaloSamples samplesInPE (const DIGI &digi)
 
bool validDigi (const DIGI &digi)
 

Private Attributes

const EcalADCToGeVConstantagc
 
const ESGainesgain
 
int ESgain
 
const ESIntercalibConstantsesmips
 
const ESMIPToGeVConstantesMipToGeV
 
double ESMIPToGeV
 
const EcalIntercalibConstantsMCical
 
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcdm_adcToGeVConstantToken
 
const double m_EBs25notCont
 
const double m_EEs25notCont
 
const edm::ESGetToken< ESGain, ESGainRcdm_esGainToken
 
const edm::ESGetToken< ESIntercalibConstants, ESIntercalibConstantsRcdm_esIntercalibConstantsToken
 
const edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcdm_esMIPToGeVConstantToken
 
const EcalGainRatiosm_gainRatios
 
const edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcdm_gainRatiosToken
 
const edm::ESGetToken< EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcdm_interCalibConstantsMCToken
 
edm::TimeValue_t m_iTime
 
const EcalLaserDbServicem_lasercals
 
const EcalLaserDbServicem_lasercals_prime
 
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecordMCm_laserDbMCToken
 
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecordm_laserDbToken
 
double m_maxEneEB
 
double m_maxEneEE
 
const double m_peToABarrel
 
const double m_peToAEndcap
 
const bool m_timeDependent
 
const edm::EDGetTokenT< COLLECTIONm_tok
 
CalibCache m_valueLCCache_LC
 
CalibCache m_valueLCCache_LC_prime
 
double theDefaultGains [NGAINS]
 
const edm::EventtheEvent
 these fields are set in initializeEvent() More...
 
const edm::EventPrincipaltheEventPrincipal
 
const edm::InputTag theInputTag
 these come from the ParameterSet More...
 

Static Private Attributes

static constexpr int ADCGAINSWITCH = 4079
 
static constexpr int MAXADC = 4095
 
static constexpr int NBITS = 12
 
static constexpr int NGAINS = 3
 

Additional Inherited Members

- Protected Attributes inherited from CaloVNoiseSignalGenerator
std::vector< CaloSamplestheNoiseSignals
 

Detailed Description

template<class ECALDIGITIZERTRAITS>
class EcalSignalGenerator< ECALDIGITIZERTRAITS >

Definition at line 55 of file EcalSignalGenerator.h.

Member Typedef Documentation

◆ CalibCache

template<class ECALDIGITIZERTRAITS>
typedef std::unordered_map<uint32_t, double> EcalSignalGenerator< ECALDIGITIZERTRAITS >::CalibCache

Definition at line 60 of file EcalSignalGenerator.h.

◆ COLLECTION

template<class ECALDIGITIZERTRAITS>
typedef ECALDIGITIZERTRAITS::DigiCollection EcalSignalGenerator< ECALDIGITIZERTRAITS >::COLLECTION

Definition at line 58 of file EcalSignalGenerator.h.

◆ DIGI

template<class ECALDIGITIZERTRAITS>
typedef ECALDIGITIZERTRAITS::Digi EcalSignalGenerator< ECALDIGITIZERTRAITS >::DIGI

Definition at line 57 of file EcalSignalGenerator.h.

Constructor & Destructor Documentation

◆ EcalSignalGenerator() [1/2]

template<class ECALDIGITIZERTRAITS>
EcalSignalGenerator< ECALDIGITIZERTRAITS >::EcalSignalGenerator ( )
inline

◆ EcalSignalGenerator() [2/2]

template<class ECALDIGITIZERTRAITS>
EcalSignalGenerator< ECALDIGITIZERTRAITS >::EcalSignalGenerator ( edm::ConsumesCollector cc,
const edm::InputTag inputTag,
const double  EBs25notCont,
const double  EEs25notCont,
const double  peToABarrel,
const double  peToAEndcap,
const bool  timeDependent = false 
)
inline

Definition at line 64 of file EcalSignalGenerator.h.

72  m_gainRatiosToken(cc.esConsumes()),
73  m_interCalibConstantsMCToken(cc.esConsumes()),
74  m_adcToGeVConstantToken(cc.esConsumes()),
75  m_esGainToken(cc.esConsumes()),
76  m_esMIPToGeVConstantToken(cc.esConsumes()),
77  m_esIntercalibConstantsToken(cc.esConsumes()),
78  theEvent(nullptr),
79  theEventPrincipal(nullptr),
81  m_tok(cc.consumes<COLLECTION>(inputTag)),
82  m_EBs25notCont(EBs25notCont),
83  m_EEs25notCont(EEs25notCont),
84  m_peToABarrel(peToABarrel),
85  m_peToAEndcap(peToAEndcap),
87  EcalMGPAGainRatio* defaultRatios = new EcalMGPAGainRatio();
88  theDefaultGains[2] = defaultRatios->gain6Over1();
89  theDefaultGains[1] = theDefaultGains[2] * (defaultRatios->gain12Over6());
90 
91  if (m_timeDependent) {
92  m_laserDbToken = cc.esConsumes();
93  m_laserDbMCToken = cc.esConsumes();
94  }
95  }
const edm::Event * theEvent
these fields are set in initializeEvent()
double theDefaultGains[NGAINS]
ECALDIGITIZERTRAITS::DigiCollection COLLECTION
const edm::ESGetToken< ESIntercalibConstants, ESIntercalibConstantsRcd > m_esIntercalibConstantsToken
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > m_adcToGeVConstantToken
const edm::InputTag theInputTag
these come from the ParameterSet
uint32_t cc[maxCellsPerHit]
Definition: gpuFishbone.h:49
const edm::ESGetToken< EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcd > m_interCalibConstantsMCToken
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecordMC > m_laserDbMCToken
const edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > m_gainRatiosToken
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > m_laserDbToken
const edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > m_esMIPToGeVConstantToken
float gain12Over6() const
const edm::EventPrincipal * theEventPrincipal
float gain6Over1() const
const edm::ESGetToken< ESGain, ESGainRcd > m_esGainToken
const edm::EDGetTokenT< COLLECTION > m_tok

◆ ~EcalSignalGenerator()

template<class ECALDIGITIZERTRAITS>
EcalSignalGenerator< ECALDIGITIZERTRAITS >::~EcalSignalGenerator ( )
inlineoverride

Definition at line 97 of file EcalSignalGenerator.h.

97 {}

Member Function Documentation

◆ fill()

template<class ECALDIGITIZERTRAITS>
virtual void EcalSignalGenerator< ECALDIGITIZERTRAITS >::fill ( edm::ModuleCallingContext const *  mcc)
inlinevirtual

Definition at line 201 of file EcalSignalGenerator.h.

Referenced by PreMixingEcalWorker::addPileups().

201  {
202  theNoiseSignals.clear();
204  const COLLECTION* digis = nullptr;
205  // try accessing by whatever is set, Event or EventPrincipal
206  if (theEvent) {
207  if (theEvent->getByToken(m_tok, pDigis)) {
208  digis = pDigis.product(); // get a ptr to the product
209  } else {
210  throw cms::Exception("EcalSignalGenerator") << "Cannot find input data " << theInputTag;
211  }
212  } else if (theEventPrincipal) {
213  std::shared_ptr<edm::Wrapper<COLLECTION> const> digisPTR =
214  edm::getProductByTag<COLLECTION>(*theEventPrincipal, theInputTag, mcc);
215  if (digisPTR) {
216  digis = digisPTR->product();
217  }
218  } else {
219  throw cms::Exception("EcalSignalGenerator") << "No Event or EventPrincipal was set";
220  }
221 
222  if (digis) {
223  // loop over digis, adding these to the existing maps
224  for (typename COLLECTION::const_iterator it = digis->begin(); it != digis->end(); ++it) {
225  // need to convert to something useful
226  if (validDigi(*it)) {
227  theNoiseSignals.push_back(samplesInPE(*it));
228  }
229  }
230  }
231  //else { std::cout << " NO digis for this input: " << theInputTag << std::endl;}
232  }
const edm::Event * theEvent
these fields are set in initializeEvent()
ECALDIGITIZERTRAITS::DigiCollection COLLECTION
const edm::InputTag theInputTag
these come from the ParameterSet
T const * product() const
Definition: Handle.h:70
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:526
std::vector< CaloSamples > theNoiseSignals
bool validDigi(const DIGI &digi)
const edm::EventPrincipal * theEventPrincipal
CaloSamples samplesInPE(const DIGI &digi)
const edm::EDGetTokenT< COLLECTION > m_tok

◆ fillNoiseSignals() [1/2]

template<class ECALDIGITIZERTRAITS>
void EcalSignalGenerator< ECALDIGITIZERTRAITS >::fillNoiseSignals ( )
inlineoverrideprivatevirtual

Implements CaloVNoiseSignalGenerator.

Definition at line 244 of file EcalSignalGenerator.h.

244 {}

◆ fillNoiseSignals() [2/2]

template<class ECALDIGITIZERTRAITS>
void EcalSignalGenerator< ECALDIGITIZERTRAITS >::fillNoiseSignals ( CLHEP::HepRandomEngine *  )
inlineoverrideprivatevirtual

if you want to fill signals on demand, override this subclass is responsible for clearing theNoiseSignals before adding

Implements CaloVNoiseSignalGenerator.

Definition at line 245 of file EcalSignalGenerator.h.

245 {}

◆ findLaserConstant_LC()

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::findLaserConstant_LC ( const DetId detId) const
inlineprivate

Definition at line 257 of file EcalSignalGenerator.h.

257  {
258  const edm::Timestamp& evtTimeStamp = edm::Timestamp(m_iTime);
259  return (m_lasercals->getLaserCorrection(detId, evtTimeStamp));
260  }
edm::TimeValue_t m_iTime
float getLaserCorrection(DetId const &xid, edm::Timestamp const &iTime) const
const EcalLaserDbService * m_lasercals

◆ findLaserConstant_LC_prime()

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::findLaserConstant_LC_prime ( const DetId detId) const
inlineprivate

Definition at line 264 of file EcalSignalGenerator.h.

264  {
265  const edm::Timestamp& evtTimeStamp = edm::Timestamp(m_iTime);
266  return (m_lasercals_prime->getLaserCorrection(detId, evtTimeStamp));
267  }
edm::TimeValue_t m_iTime
float getLaserCorrection(DetId const &xid, edm::Timestamp const &iTime) const
const EcalLaserDbService * m_lasercals_prime

◆ fullScaleEnergy()

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::fullScaleEnergy ( const DetId detId) const
inlineprivate

◆ GetGainRatios()

template<class ECALDIGITIZERTRAITS>
const std::vector<float> EcalSignalGenerator< ECALDIGITIZERTRAITS >::GetGainRatios ( const DetId detid)
inlineprivate

Definition at line 269 of file EcalSignalGenerator.h.

269  {
270  std::vector<float> gainRatios(4);
271  // get gain ratios
272  EcalMGPAGainRatio theRatio = (*m_gainRatios)[detid];
273 
274  gainRatios[0] = 0.;
275  gainRatios[3] = 1.;
276  gainRatios[2] = theRatio.gain6Over1();
277  gainRatios[1] = theRatio.gain6Over1() * theRatio.gain12Over6();
278 
279  return gainRatios;
280  }
float gain12Over6() const
float gain6Over1() const

◆ initializeEvent() [1/2]

template<class ECALDIGITIZERTRAITS>
void EcalSignalGenerator< ECALDIGITIZERTRAITS >::initializeEvent ( const edm::Event event,
const edm::EventSetup eventSetup 
)
inline

Definition at line 99 of file EcalSignalGenerator.h.

Referenced by PreMixingEcalWorker::addPileups().

99  {
100  theEvent = event;
101  m_gainRatios = &eventSetup->getData(m_gainRatiosToken); // find the gains
102  // Ecal Intercalibration Constants
104  // adc to GeV
106 
109 
110  if (m_timeDependent) {
111  //----
112  //
113  const edm::TimeValue_t eventTimeValue = theEvent->getRun().runAuxiliary().beginTime().value();
114  //
115  // The "time" will have to match in the generation of the tag
116  // for the MC from ECAL (apd/pn, alpha, whatever time dependent is needed)
117  //
118  m_iTime = eventTimeValue;
119 
120  // Ecal LaserCorrection Constants for laser correction ratio
122 
123  //
124  // the "prime" is exactly the same as the usual laser service, BUT
125  // it has only 1 IOV, so that effectively you are dividing IOV_n / IOV_0
126  // NB: in the creation of the tag make sure the "prime" (MC) tag is prepared properly!
127  // NB again: if many IOVs also in "MC" tag, then fancy things could be perfomed ... left for the future
128  //
130 
131  //clear the laser cache for each event time
133  CalibCache().swap(m_valueLCCache_LC_prime); //--- also the "prime" ... yes
134  //----
135  }
136 
137  //ES
138  esgain = &eventSetup->getData(m_esGainToken);
141  if (1.1 > esgain->getESGain())
142  ESgain = 1;
143  else
144  ESgain = 2;
145  if (ESgain == 1)
147  else
149  }
const edm::Event * theEvent
these fields are set in initializeEvent()
double theDefaultGains[NGAINS]
const edm::ESGetToken< ESIntercalibConstants, ESIntercalibConstantsRcd > m_esIntercalibConstantsToken
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > m_adcToGeVConstantToken
float getESValueHigh() const
CalibCache m_valueLCCache_LC_prime
const edm::ESGetToken< EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcd > m_interCalibConstantsMCToken
RunAuxiliary const & runAuxiliary() const final
Definition: Run.cc:24
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecordMC > m_laserDbMCToken
const EcalGainRatios * m_gainRatios
const edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > m_gainRatiosToken
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > m_laserDbToken
const EcalIntercalibConstantsMC * ical
const edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > m_esMIPToGeVConstantToken
edm::TimeValue_t m_iTime
float getESValueLow() const
static constexpr int MAXADC
Run const & getRun() const
Definition: Event.cc:112
const EcalADCToGeVConstant * agc
unsigned long long TimeValue_t
Definition: Timestamp.h:21
Timestamp const & beginTime() const
Definition: RunAuxiliary.h:28
TimeValue_t value() const
Definition: Timestamp.h:38
const EcalLaserDbService * m_lasercals_prime
std::unordered_map< uint32_t, double > CalibCache
const EcalLaserDbService * m_lasercals
const ESIntercalibConstants * esmips
float getESGain() const
Definition: ESGain.h:13
const edm::ESGetToken< ESGain, ESGainRcd > m_esGainToken
const ESMIPToGeVConstant * esMipToGeV

◆ initializeEvent() [2/2]

template<class ECALDIGITIZERTRAITS>
void EcalSignalGenerator< ECALDIGITIZERTRAITS >::initializeEvent ( const edm::EventPrincipal eventPrincipal,
const edm::EventSetup eventSetup 
)
inline

some users use EventPrincipals, not Events. We support both

Definition at line 152 of file EcalSignalGenerator.h.

152  {
153  theEventPrincipal = eventPrincipal;
154  m_gainRatios = &eventSetup->getData(m_gainRatiosToken); // find the gains
155  // Ecal Intercalibration Constants
157  // adc to GeV
161 
162  if (m_timeDependent) {
163  //----
164  edm::TimeValue_t eventTimeValue = 0;
165  if (theEventPrincipal) {
166  //
167  eventTimeValue = theEventPrincipal->runPrincipal().beginTime().value();
168  //
169  // The "time" will have to match in the generation of the tag
170  // for the MC from ECAL (apd/pn, alpha, whatever time dependent is needed)
171  //
172  } else {
173  edm::LogError("EcalSignalGenerator") << " theEventPrincipal not defined??? " << std::endl;
174  }
175  m_iTime = eventTimeValue;
176 
177  // Ecal LaserCorrection Constants for laser correction ratio
180 
181  //clear the laser cache for each event time
183  CalibCache().swap(m_valueLCCache_LC_prime); //--- also the "prime" ... yes
184  //----
185  }
186 
187  //ES
188  esgain = &eventSetup->getData(m_esGainToken);
191  if (1.1 > esgain->getESGain())
192  ESgain = 1;
193  else
194  ESgain = 2;
195  if (ESgain == 1)
197  else
199  }
double theDefaultGains[NGAINS]
const edm::ESGetToken< ESIntercalibConstants, ESIntercalibConstantsRcd > m_esIntercalibConstantsToken
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > m_adcToGeVConstantToken
float getESValueHigh() const
CalibCache m_valueLCCache_LC_prime
const edm::ESGetToken< EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcd > m_interCalibConstantsMCToken
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecordMC > m_laserDbMCToken
Log< level::Error, false > LogError
const EcalGainRatios * m_gainRatios
const edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > m_gainRatiosToken
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > m_laserDbToken
Timestamp const & beginTime() const
Definition: RunPrincipal.h:67
const EcalIntercalibConstantsMC * ical
const edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > m_esMIPToGeVConstantToken
edm::TimeValue_t m_iTime
float getESValueLow() const
static constexpr int MAXADC
const EcalADCToGeVConstant * agc
unsigned long long TimeValue_t
Definition: Timestamp.h:21
RunPrincipal const & runPrincipal() const
const edm::EventPrincipal * theEventPrincipal
TimeValue_t value() const
Definition: Timestamp.h:38
const EcalLaserDbService * m_lasercals_prime
std::unordered_map< uint32_t, double > CalibCache
const EcalLaserDbService * m_lasercals
const ESIntercalibConstants * esmips
float getESGain() const
Definition: ESGain.h:13
const edm::ESGetToken< ESGain, ESGainRcd > m_esGainToken
const ESMIPToGeVConstant * esMipToGeV

◆ peToAConversion()

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::peToAConversion ( const DetId detId) const
inlineprivate

Definition at line 284 of file EcalSignalGenerator.h.

284  {
285  return detId.subdetId() == EcalBarrel ? m_peToABarrel : m_peToAEndcap;
286  }

◆ samplesInPE()

template<class ECALDIGITIZERTRAITS>
CaloSamples EcalSignalGenerator< ECALDIGITIZERTRAITS >::samplesInPE ( const DIGI digi)
private

◆ validDigi()

template<class ECALDIGITIZERTRAITS>
bool EcalSignalGenerator< ECALDIGITIZERTRAITS >::validDigi ( const DIGI digi)
inlineprivate

Definition at line 235 of file EcalSignalGenerator.h.

Referenced by EcalSignalGenerator< EEDigitizerTraits >::fill().

235  {
236  int DigiSum = 0;
237  for (int id = 0; id < digi.size(); id++) {
238  if (digi[id].adc() > 0)
239  ++DigiSum;
240  }
241  return (DigiSum > 0);
242  }
uint16_t *__restrict__ uint16_t const *__restrict__ adc

Member Data Documentation

◆ ADCGAINSWITCH

template<class ECALDIGITIZERTRAITS>
constexpr int EcalSignalGenerator< ECALDIGITIZERTRAITS >::ADCGAINSWITCH = 4079
staticprivate

Definition at line 251 of file EcalSignalGenerator.h.

◆ agc

template<class ECALDIGITIZERTRAITS>
const EcalADCToGeVConstant* EcalSignalGenerator< ECALDIGITIZERTRAITS >::agc
private

◆ esgain

template<class ECALDIGITIZERTRAITS>
const ESGain* EcalSignalGenerator< ECALDIGITIZERTRAITS >::esgain
private

◆ ESgain

template<class ECALDIGITIZERTRAITS>
int EcalSignalGenerator< ECALDIGITIZERTRAITS >::ESgain
private

◆ esmips

template<class ECALDIGITIZERTRAITS>
const ESIntercalibConstants* EcalSignalGenerator< ECALDIGITIZERTRAITS >::esmips
private

◆ esMipToGeV

template<class ECALDIGITIZERTRAITS>
const ESMIPToGeVConstant* EcalSignalGenerator< ECALDIGITIZERTRAITS >::esMipToGeV
private

◆ ESMIPToGeV

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::ESMIPToGeV
private

◆ ical

template<class ECALDIGITIZERTRAITS>
const EcalIntercalibConstantsMC* EcalSignalGenerator< ECALDIGITIZERTRAITS >::ical
private

◆ m_adcToGeVConstantToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<EcalADCToGeVConstant, EcalADCToGeVConstantRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_adcToGeVConstantToken
private

◆ m_EBs25notCont

template<class ECALDIGITIZERTRAITS>
const double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_EBs25notCont
private

◆ m_EEs25notCont

template<class ECALDIGITIZERTRAITS>
const double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_EEs25notCont
private

◆ m_esGainToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<ESGain, ESGainRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_esGainToken
private

◆ m_esIntercalibConstantsToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<ESIntercalibConstants, ESIntercalibConstantsRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_esIntercalibConstantsToken
private

◆ m_esMIPToGeVConstantToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<ESMIPToGeVConstant, ESMIPToGeVConstantRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_esMIPToGeVConstantToken
private

◆ m_gainRatios

template<class ECALDIGITIZERTRAITS>
const EcalGainRatios* EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_gainRatios
private

◆ m_gainRatiosToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<EcalGainRatios, EcalGainRatiosRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_gainRatiosToken
private

◆ m_interCalibConstantsMCToken

template<class ECALDIGITIZERTRAITS>
const edm::ESGetToken<EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcd> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_interCalibConstantsMCToken
private

◆ m_iTime

template<class ECALDIGITIZERTRAITS>
edm::TimeValue_t EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_iTime
private

◆ m_lasercals

template<class ECALDIGITIZERTRAITS>
const EcalLaserDbService* EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_lasercals
private

◆ m_lasercals_prime

template<class ECALDIGITIZERTRAITS>
const EcalLaserDbService* EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_lasercals_prime
private

◆ m_laserDbMCToken

template<class ECALDIGITIZERTRAITS>
edm::ESGetToken<EcalLaserDbService, EcalLaserDbRecordMC> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_laserDbMCToken
private

◆ m_laserDbToken

template<class ECALDIGITIZERTRAITS>
edm::ESGetToken<EcalLaserDbService, EcalLaserDbRecord> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_laserDbToken
private

◆ m_maxEneEB

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_maxEneEB
private

◆ m_maxEneEE

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_maxEneEE
private

◆ m_peToABarrel

template<class ECALDIGITIZERTRAITS>
const double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_peToABarrel
private

◆ m_peToAEndcap

template<class ECALDIGITIZERTRAITS>
const double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_peToAEndcap
private

◆ m_timeDependent

template<class ECALDIGITIZERTRAITS>
const bool EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_timeDependent
private

◆ m_tok

template<class ECALDIGITIZERTRAITS>
const edm::EDGetTokenT<COLLECTION> EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_tok
private

◆ m_valueLCCache_LC

template<class ECALDIGITIZERTRAITS>
CalibCache EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_valueLCCache_LC
private

◆ m_valueLCCache_LC_prime

template<class ECALDIGITIZERTRAITS>
CalibCache EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_valueLCCache_LC_prime
private

◆ MAXADC

template<class ECALDIGITIZERTRAITS>
constexpr int EcalSignalGenerator< ECALDIGITIZERTRAITS >::MAXADC = 4095
staticprivate

◆ NBITS

template<class ECALDIGITIZERTRAITS>
constexpr int EcalSignalGenerator< ECALDIGITIZERTRAITS >::NBITS = 12
staticprivate

Definition at line 249 of file EcalSignalGenerator.h.

◆ NGAINS

template<class ECALDIGITIZERTRAITS>
constexpr int EcalSignalGenerator< ECALDIGITIZERTRAITS >::NGAINS = 3
staticprivate

Definition at line 252 of file EcalSignalGenerator.h.

◆ theDefaultGains

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::theDefaultGains[NGAINS]
private

◆ theEvent

template<class ECALDIGITIZERTRAITS>
const edm::Event* EcalSignalGenerator< ECALDIGITIZERTRAITS >::theEvent
private

◆ theEventPrincipal

template<class ECALDIGITIZERTRAITS>
const edm::EventPrincipal* EcalSignalGenerator< ECALDIGITIZERTRAITS >::theEventPrincipal
private

◆ theInputTag

template<class ECALDIGITIZERTRAITS>
const edm::InputTag EcalSignalGenerator< ECALDIGITIZERTRAITS >::theInputTag
private

these come from the ParameterSet

Definition at line 304 of file EcalSignalGenerator.h.

Referenced by EcalSignalGenerator< EEDigitizerTraits >::fill().