CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | 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 (const edm::InputTag &inputTag, const edm::EDGetTokenT< COLLECTION > &t, 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 ()
 
void fillEvent (CLHEP::HepRandomEngine *)
 fill theNoiseSignals with one event's worth of noise, in units of pe More...
 
void getNoiseSignals (std::vector< CaloSamples > &noiseSignals)
 
void setNoiseSignals (const std::vector< CaloSamples > &noiseSignals)
 
virtual ~CaloVNoiseSignalGenerator ()
 

Private Types

enum  { NBITS = 12, MAXADC = 4095, ADCGAINSWITCH = 4079, NGAINS = 3 }
 

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
 
edm::ESHandle< EcalGainRatiosgrHandle
 
edm::ESHandle< ESGainhesgain
 
edm::ESHandle< ESIntercalibConstantshesMIPs
 
edm::ESHandle< ESMIPToGeVConstanthesMIPToGeV
 
const EcalIntercalibConstantsMCical
 
double m_EBs25notCont
 
double m_EEs25notCont
 
edm::TimeValue_t m_iTime
 
const EcalLaserDbServicem_lasercals
 
const EcalLaserDbServicem_lasercals_prime
 
double m_maxEneEB
 
double m_maxEneEE
 
double m_peToABarrel
 
double m_peToAEndcap
 
bool m_timeDependent
 
CalibCache m_valueLCCache_LC
 
CalibCache m_valueLCCache_LC_prime
 
edm::ESHandle< EcalADCToGeVConstantpAgc
 
edm::ESHandle< EcalIntercalibConstantsMCpIcal
 
double theDefaultGains [NGAINS]
 
const edm::EventtheEvent
 these fields are set in initializeEvent() More...
 
const edm::EventPrincipaltheEventPrincipal
 
edm::InputTag theInputTag
 these come from the ParameterSet More...
 
edm::EDGetTokenT< COLLECTIONtok_
 

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.

Member Enumeration Documentation

◆ anonymous enum

template<class ECALDIGITIZERTRAITS>
anonymous enum
private
Enumerator
NBITS 
MAXADC 
ADCGAINSWITCH 
NGAINS 

Definition at line 256 of file EcalSignalGenerator.h.

256  {
257  NBITS = 12, // number of available bits
258  MAXADC = 4095, // 2^12 -1, adc max range
259  ADCGAINSWITCH = 4079, // adc gain switch
260  NGAINS = 3
261  }; // number of electronic gains

Constructor & Destructor Documentation

◆ EcalSignalGenerator() [1/2]

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

Definition at line 62 of file EcalSignalGenerator.h.

◆ EcalSignalGenerator() [2/2]

template<class ECALDIGITIZERTRAITS>
EcalSignalGenerator< ECALDIGITIZERTRAITS >::EcalSignalGenerator ( const edm::InputTag inputTag,
const edm::EDGetTokenT< COLLECTION > &  t,
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  EcalMGPAGainRatio* defaultRatios = new EcalMGPAGainRatio();
73  theDefaultGains[2] = defaultRatios->gain6Over1();
74  theDefaultGains[1] = theDefaultGains[2] * (defaultRatios->gain12Over6());
75  m_EBs25notCont = EBs25notCont;
76  m_EEs25notCont = EEs25notCont;
77  m_peToABarrel = peToABarrel;
78  m_peToAEndcap = peToAEndcap;
80  }

◆ ~EcalSignalGenerator()

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

Definition at line 82 of file EcalSignalGenerator.h.

82 {}

Member Function Documentation

◆ fill()

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

Definition at line 208 of file EcalSignalGenerator.h.

208  {
209  theNoiseSignals.clear();
211  const COLLECTION* digis = nullptr;
212  // try accessing by whatever is set, Event or EventPrincipal
213  if (theEvent) {
214  if (theEvent->getByToken(tok_, pDigis)) {
215  digis = pDigis.product(); // get a ptr to the product
216  } else {
217  throw cms::Exception("EcalSignalGenerator") << "Cannot find input data " << theInputTag;
218  }
219  } else if (theEventPrincipal) {
220  std::shared_ptr<edm::Wrapper<COLLECTION> const> digisPTR =
221  edm::getProductByTag<COLLECTION>(*theEventPrincipal, theInputTag, mcc);
222  if (digisPTR) {
223  digis = digisPTR->product();
224  }
225  } else {
226  throw cms::Exception("EcalSignalGenerator") << "No Event or EventPrincipal was set";
227  }
228 
229  if (digis) {
230  // loop over digis, adding these to the existing maps
231  for (typename COLLECTION::const_iterator it = digis->begin(); it != digis->end(); ++it) {
232  // need to convert to something useful
233  if (validDigi(*it)) {
234  theNoiseSignals.push_back(samplesInPE(*it));
235  }
236  }
237  }
238  //else { std::cout << " NO digis for this input: " << theInputTag << std::endl;}
239  }

Referenced by PreMixingEcalWorker::addPileups().

◆ fillNoiseSignals() [1/2]

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

Implements CaloVNoiseSignalGenerator.

Definition at line 251 of file EcalSignalGenerator.h.

251 {}

◆ 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 252 of file EcalSignalGenerator.h.

252 {}

◆ findLaserConstant_LC()

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

Definition at line 266 of file EcalSignalGenerator.h.

266  {
267  const edm::Timestamp& evtTimeStamp = edm::Timestamp(m_iTime);
268  return (m_lasercals->getLaserCorrection(detId, evtTimeStamp));
269  }

◆ findLaserConstant_LC_prime()

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

Definition at line 273 of file EcalSignalGenerator.h.

273  {
274  const edm::Timestamp& evtTimeStamp = edm::Timestamp(m_iTime);
275  return (m_lasercals_prime->getLaserCorrection(detId, evtTimeStamp));
276  }

◆ fullScaleEnergy()

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

Definition at line 291 of file EcalSignalGenerator.h.

291 { return detId.subdetId() == EcalBarrel ? m_maxEneEB : m_maxEneEE; }

◆ GetGainRatios()

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

Definition at line 278 of file EcalSignalGenerator.h.

278  {
279  std::vector<float> gainRatios(4);
280  // get gain ratios
281  EcalMGPAGainRatio theRatio = (*grHandle)[detid];
282 
283  gainRatios[0] = 0.;
284  gainRatios[3] = 1.;
285  gainRatios[2] = theRatio.gain6Over1();
286  gainRatios[1] = theRatio.gain6Over1() * theRatio.gain12Over6();
287 
288  return gainRatios;
289  }

◆ initializeEvent() [1/2]

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

Definition at line 84 of file EcalSignalGenerator.h.

84  {
85  theEvent = event;
86  eventSetup->get<EcalGainRatiosRcd>().get(grHandle); // find the gains
87  // Ecal Intercalibration Constants
88  eventSetup->get<EcalIntercalibConstantsMCRcd>().get(pIcal);
89  ical = pIcal.product();
90  // adc to GeV
91  eventSetup->get<EcalADCToGeVConstantRcd>().get(pAgc);
92  agc = pAgc.product();
93 
96 
97  if (m_timeDependent) {
98  //----
99  // Ecal LaserCorrection Constants for laser correction ratio
101  eventSetup->get<EcalLaserDbRecord>().get(laser);
102 
103  //
104  const edm::TimeValue_t eventTimeValue = theEvent->getRun().runAuxiliary().beginTime().value();
105  //
106  // The "time" will have to match in the generation of the tag
107  // for the MC from ECAL (apd/pn, alpha, whatever time dependent is needed)
108  //
109  m_iTime = eventTimeValue;
110 
111  m_lasercals = laser.product();
112 
113  //
114  // the "prime" is exactly the same as the usual laser service, BUT
115  // it has only 1 IOV, so that effectively you are dividing IOV_n / IOV_0
116  // NB: in the creation of the tag make sure the "prime" (MC) tag is prepared properly!
117  // NB again: if many IOVs also in "MC" tag, then fancy things could be perfomed ... left for the future
118  //
120  eventSetup->get<EcalLaserDbRecordMC>().get(laser_prime);
121  m_lasercals_prime = laser_prime.product();
122 
123  //clear the laser cache for each event time
125  CalibCache().swap(m_valueLCCache_LC_prime); //--- also the "prime" ... yes
126 
127  //----
128  }
129 
130  //ES
131  eventSetup->get<ESGainRcd>().get(hesgain);
132  eventSetup->get<ESMIPToGeVConstantRcd>().get(hesMIPToGeV);
133  eventSetup->get<ESIntercalibConstantsRcd>().get(hesMIPs);
134 
135  esgain = hesgain.product();
136  esmips = hesMIPs.product();
138  if (1.1 > esgain->getESGain())
139  ESgain = 1;
140  else
141  ESgain = 2;
142  if (ESgain == 1)
144  else
146  }

Referenced by PreMixingEcalWorker::addPileups().

◆ 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 149 of file EcalSignalGenerator.h.

149  {
150  theEventPrincipal = eventPrincipal;
151  eventSetup->get<EcalGainRatiosRcd>().get(grHandle); // find the gains
152  // Ecal Intercalibration Constants
153  eventSetup->get<EcalIntercalibConstantsMCRcd>().get(pIcal);
154  ical = pIcal.product();
155  // adc to GeV
156  eventSetup->get<EcalADCToGeVConstantRcd>().get(pAgc);
157  agc = pAgc.product();
160 
161  if (m_timeDependent) {
162  //----
163  // Ecal LaserCorrection Constants for laser correction ratio
165  eventSetup->get<EcalLaserDbRecord>().get(laser);
166  edm::TimeValue_t eventTimeValue = 0;
167  if (theEventPrincipal) {
168  //
169  eventTimeValue = theEventPrincipal->runPrincipal().beginTime().value();
170  //
171  // The "time" will have to match in the generation of the tag
172  // for the MC from ECAL (apd/pn, alpha, whatever time dependent is needed)
173  //
174  } else {
175  edm::LogError("EcalSignalGenerator") << " theEventPrincipal not defined??? " << std::endl;
176  }
177  m_iTime = eventTimeValue;
178  m_lasercals = laser.product();
179 
181  eventSetup->get<EcalLaserDbRecordMC>().get(laser_prime);
182  m_lasercals_prime = laser_prime.product();
183 
184  //clear the laser cache for each event time
186  CalibCache().swap(m_valueLCCache_LC_prime); //--- also the "prime" ... yes
187  //----
188  }
189 
190  //ES
191  eventSetup->get<ESGainRcd>().get(hesgain);
192  eventSetup->get<ESMIPToGeVConstantRcd>().get(hesMIPToGeV);
193  eventSetup->get<ESIntercalibConstantsRcd>().get(hesMIPs);
194 
195  esgain = hesgain.product();
196  esmips = hesMIPs.product();
198  if (1.1 > esgain->getESGain())
199  ESgain = 1;
200  else
201  ESgain = 2;
202  if (ESgain == 1)
204  else
206  }

◆ peToAConversion()

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

Definition at line 293 of file EcalSignalGenerator.h.

293  {
294  return detId.subdetId() == EcalBarrel ? m_peToABarrel : m_peToAEndcap;
295  }

◆ 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 242 of file EcalSignalGenerator.h.

242  {
243  int DigiSum = 0;
244  for (int id = 0; id < digi.size(); id++) {
245  if (digi[id].adc() > 0)
246  ++DigiSum;
247  }
248  return (DigiSum > 0);
249  }

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

Member Data Documentation

◆ 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

◆ grHandle

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<EcalGainRatios> EcalSignalGenerator< ECALDIGITIZERTRAITS >::grHandle
private

◆ hesgain

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<ESGain> EcalSignalGenerator< ECALDIGITIZERTRAITS >::hesgain
private

◆ hesMIPs

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<ESIntercalibConstants> EcalSignalGenerator< ECALDIGITIZERTRAITS >::hesMIPs
private

◆ hesMIPToGeV

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<ESMIPToGeVConstant> EcalSignalGenerator< ECALDIGITIZERTRAITS >::hesMIPToGeV
private

◆ ical

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

◆ m_EBs25notCont

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

◆ m_EEs25notCont

template<class ECALDIGITIZERTRAITS>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_EEs25notCont
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_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>
double EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_peToABarrel
private

◆ m_peToAEndcap

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

◆ m_timeDependent

template<class ECALDIGITIZERTRAITS>
bool EcalSignalGenerator< ECALDIGITIZERTRAITS >::m_timeDependent
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

◆ pAgc

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<EcalADCToGeVConstant> EcalSignalGenerator< ECALDIGITIZERTRAITS >::pAgc
private

◆ pIcal

template<class ECALDIGITIZERTRAITS>
edm::ESHandle<EcalIntercalibConstantsMC> EcalSignalGenerator< ECALDIGITIZERTRAITS >::pIcal
private

◆ 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>
edm::InputTag EcalSignalGenerator< ECALDIGITIZERTRAITS >::theInputTag
private

these come from the ParameterSet

Definition at line 306 of file EcalSignalGenerator.h.

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

◆ tok_

template<class ECALDIGITIZERTRAITS>
edm::EDGetTokenT<COLLECTION> EcalSignalGenerator< ECALDIGITIZERTRAITS >::tok_
private
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
EcalSignalGenerator::theInputTag
edm::InputTag theInputTag
these come from the ParameterSet
Definition: EcalSignalGenerator.h:306
EcalSignalGenerator::ESgain
int ESgain
Definition: EcalSignalGenerator.h:316
edm::Handle::product
T const * product() const
Definition: Handle.h:70
ESGainRcd
Definition: ESGainRcd.h:5
EcalSignalGenerator::pIcal
edm::ESHandle< EcalIntercalibConstantsMC > pIcal
Definition: EcalSignalGenerator.h:302
EcalSignalGenerator::m_maxEneEE
double m_maxEneEE
Definition: EcalSignalGenerator.h:326
ESMIPToGeVConstantRcd
Definition: ESMIPToGeVConstantRcd.h:5
EcalSignalGenerator::grHandle
edm::ESHandle< EcalGainRatios > grHandle
Definition: EcalSignalGenerator.h:301
EcalSignalGenerator::m_EEs25notCont
double m_EEs25notCont
Definition: EcalSignalGenerator.h:320
EcalSignalGenerator::samplesInPE
CaloSamples samplesInPE(const DIGI &digi)
EcalSignalGenerator::m_iTime
edm::TimeValue_t m_iTime
Definition: EcalSignalGenerator.h:332
EcalSignalGenerator::esmips
const ESIntercalibConstants * esmips
Definition: EcalSignalGenerator.h:314
edm::Timestamp::value
TimeValue_t value() const
Definition: Timestamp.h:45
EcalSignalGenerator::NBITS
Definition: EcalSignalGenerator.h:257
EcalSignalGenerator::m_EBs25notCont
double m_EBs25notCont
Definition: EcalSignalGenerator.h:319
EcalSignalGenerator::m_maxEneEB
double m_maxEneEB
Definition: EcalSignalGenerator.h:325
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
EcalSignalGenerator::agc
const EcalADCToGeVConstant * agc
Definition: EcalSignalGenerator.h:328
edm::Handle
Definition: AssociativeIterator.h:50
EcalBarrel
Definition: EcalSubdetector.h:10
EcalSignalGenerator::m_lasercals_prime
const EcalLaserDbService * m_lasercals_prime
Definition: EcalSignalGenerator.h:336
ecalLiteDTU::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalLiteDTUSample.h:12
ecalSimParameterMap_cff.timeDependent
timeDependent
Definition: ecalSimParameterMap_cff.py:13
EcalSignalGenerator::theDefaultGains
double theDefaultGains[NGAINS]
Definition: EcalSignalGenerator.h:338
EcalLaserDbRecordMC
Definition: EcalLaserDbRecordMC.h:16
edm::RunPrincipal::beginTime
Timestamp const & beginTime() const
Definition: RunPrincipal.h:67
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
CaloVNoiseSignalGenerator::theNoiseSignals
std::vector< CaloSamples > theNoiseSignals
Definition: CaloVNoiseSignalGenerator.h:34
edm::ESHandle< EcalLaserDbService >
EcalSignalGenerator::ADCGAINSWITCH
Definition: EcalSignalGenerator.h:259
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:531
ESIntercalibConstantsRcd
Definition: ESIntercalibConstantsRcd.h:5
ESGain::getESGain
float getESGain() const
Definition: ESGain.h:13
EcalMGPAGainRatio::gain12Over6
float gain12Over6() const
Definition: EcalMGPAGainRatio.h:19
EcalLaserDbRecord
Definition: EcalLaserDbRecord.h:19
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
EcalSignalGenerator::esMipToGeV
const ESMIPToGeVConstant * esMipToGeV
Definition: EcalSignalGenerator.h:315
EcalGainRatiosRcd
Definition: EcalGainRatiosRcd.h:5
EcalSignalGenerator::CalibCache
std::unordered_map< uint32_t, double > CalibCache
Definition: EcalSignalGenerator.h:60
EcalSignalGenerator::m_lasercals
const EcalLaserDbService * m_lasercals
Definition: EcalSignalGenerator.h:335
EcalIntercalibConstantsMCRcd
Definition: EcalIntercalibConstantsMCRcd.h:5
EcalSignalGenerator::MAXADC
Definition: EcalSignalGenerator.h:258
EcalADCToGeVConstant::getEEValue
float getEEValue() const
Definition: EcalADCToGeVConstant.h:21
EcalBaseSignalGenerator::EcalBaseSignalGenerator
EcalBaseSignalGenerator()
Definition: EcalBaseSignalGenerator.h:9
EcalSignalGenerator::m_valueLCCache_LC_prime
CalibCache m_valueLCCache_LC_prime
Definition: EcalSignalGenerator.h:334
EcalSignalGenerator::pAgc
edm::ESHandle< EcalADCToGeVConstant > pAgc
Definition: EcalSignalGenerator.h:303
edmPickEvents.event
event
Definition: edmPickEvents.py:273
edm::RunAuxiliary::beginTime
Timestamp const & beginTime() const
Definition: RunAuxiliary.h:29
EcalSignalGenerator::m_valueLCCache_LC
CalibCache m_valueLCCache_LC
Definition: EcalSignalGenerator.h:333
EcalSignalGenerator::m_peToAEndcap
double m_peToAEndcap
Definition: EcalSignalGenerator.h:323
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
EcalSignalGenerator::m_timeDependent
bool m_timeDependent
Definition: EcalSignalGenerator.h:331
EcalSignalGenerator::theEvent
const edm::Event * theEvent
these fields are set in initializeEvent()
Definition: EcalSignalGenerator.h:298
EcalSignalGenerator::COLLECTION
ECALDIGITIZERTRAITS::DigiCollection COLLECTION
Definition: EcalSignalGenerator.h:58
EcalLaserDbService::getLaserCorrection
float getLaserCorrection(DetId const &xid, edm::Timestamp const &iTime) const
Definition: EcalLaserDbService.cc:30
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
edm::Run::runAuxiliary
RunAuxiliary const & runAuxiliary() const override
Definition: Run.h:62
EcalSignalGenerator::tok_
edm::EDGetTokenT< COLLECTION > tok_
Definition: EcalSignalGenerator.h:307
EcalSignalGenerator::validDigi
bool validDigi(const DIGI &digi)
Definition: EcalSignalGenerator.h:242
EcalSignalGenerator::theEventPrincipal
const edm::EventPrincipal * theEventPrincipal
Definition: EcalSignalGenerator.h:299
EcalMGPAGainRatio::gain6Over1
float gain6Over1() const
Definition: EcalMGPAGainRatio.h:20
Exception
Definition: hltDiff.cc:246
EcalSignalGenerator::esgain
const ESGain * esgain
Definition: EcalSignalGenerator.h:313
EcalSignalGenerator::hesMIPs
edm::ESHandle< ESIntercalibConstants > hesMIPs
Definition: EcalSignalGenerator.h:311
EcalSignalGenerator::m_peToABarrel
double m_peToABarrel
Definition: EcalSignalGenerator.h:322
EcalSignalGenerator::NGAINS
Definition: EcalSignalGenerator.h:260
EcalSignalGenerator::hesgain
edm::ESHandle< ESGain > hesgain
Definition: EcalSignalGenerator.h:309
SimL1EmulatorRepack_Full_cff.inputTag
inputTag
Definition: SimL1EmulatorRepack_Full_cff.py:56
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
edm::EventPrincipal::runPrincipal
RunPrincipal const & runPrincipal() const
Definition: EventPrincipal.cc:177
EcalADCToGeVConstant::getEBValue
float getEBValue() const
Definition: EcalADCToGeVConstant.h:20
EcalADCToGeVConstantRcd
Definition: EcalADCToGeVConstantRcd.h:5
EcalSignalGenerator::ical
const EcalIntercalibConstantsMC * ical
Definition: EcalSignalGenerator.h:329
EcalSignalGenerator::hesMIPToGeV
edm::ESHandle< ESMIPToGeVConstant > hesMIPToGeV
Definition: EcalSignalGenerator.h:310
EcalCondDBWriter_cfi.laser
laser
Definition: EcalCondDBWriter_cfi.py:46
edm::TimeValue_t
unsigned long long TimeValue_t
Definition: Timestamp.h:28
EcalMGPAGainRatio
Definition: EcalMGPAGainRatio.h:13
edm::Event::getRun
Run const & getRun() const
Definition: Event.cc:111
EcalSignalGenerator::ESMIPToGeV
double ESMIPToGeV
Definition: EcalSignalGenerator.h:317
edm::Timestamp
Definition: Timestamp.h:30