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
89  ical = pIcal.product();
90  // adc to GeV
92  agc = pAgc.product();
93 
96 
97  if (m_timeDependent) {
98  //----
99  // Ecal LaserCorrection Constants for laser correction ratio
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);
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
154  ical = pIcal.product();
155  // adc to GeV
157  agc = pAgc.product();
160 
161  if (m_timeDependent) {
162  //----
163  // Ecal LaserCorrection Constants for laser correction ratio
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);
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
ecalMGPA::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:11
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::MAXADC
Definition: EcalSignalGenerator.h:258
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
ecalSimParameterMap_cff.timeDependent
timeDependent
Definition: ecalSimParameterMap_cff.py:14
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
EcalSignalGenerator::NGAINS
Definition: EcalSignalGenerator.h:260
CaloVNoiseSignalGenerator::theNoiseSignals
std::vector< CaloSamples > theNoiseSignals
Definition: CaloVNoiseSignalGenerator.h:34
edm::ESHandle< EcalLaserDbService >
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
EcalSignalGenerator::ADCGAINSWITCH
Definition: EcalSignalGenerator.h:259
OrderedSet.t
t
Definition: OrderedSet.py:90
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
EcalADCToGeVConstant::getEEValue
float getEEValue() const
Definition: EcalADCToGeVConstant.h:21
edm::LogError
Definition: MessageLogger.h:183
EcalBaseSignalGenerator::EcalBaseSignalGenerator
EcalBaseSignalGenerator()
Definition: EcalBaseSignalGenerator.h:10
EcalSignalGenerator::m_valueLCCache_LC_prime
CalibCache m_valueLCCache_LC_prime
Definition: EcalSignalGenerator.h:334
EcalSignalGenerator::pAgc
edm::ESHandle< EcalADCToGeVConstant > pAgc
Definition: EcalSignalGenerator.h:303
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
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:26
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
edm::Run::runAuxiliary
RunAuxiliary const & runAuxiliary() const override
Definition: Run.h:61
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
options_cfi.eventSetup
eventSetup
Definition: options_cfi.py:12
EcalSignalGenerator::hesMIPs
edm::ESHandle< ESIntercalibConstants > hesMIPs
Definition: EcalSignalGenerator.h:311
EcalSignalGenerator::m_peToABarrel
double m_peToABarrel
Definition: EcalSignalGenerator.h:322
EcalSignalGenerator::hesgain
edm::ESHandle< ESGain > hesgain
Definition: EcalSignalGenerator.h:309
SimL1EmulatorRepack_Full_cff.inputTag
inputTag
Definition: SimL1EmulatorRepack_Full_cff.py:56
edm::EventPrincipal::runPrincipal
RunPrincipal const & runPrincipal() const
Definition: EventPrincipal.cc:176
event
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of "!*" before the partial wildcard feature was incorporated). The per-event "cost" of each negative criterion with multiple relevant triggers is about the same as ! *was in the past
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:107
EcalSignalGenerator::ESMIPToGeV
double ESMIPToGeV
Definition: EcalSignalGenerator.h:317
edm::Timestamp
Definition: Timestamp.h:30