CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
EcalTimeMapDigitizer Class Reference

#include <EcalTimeMapDigitizer.h>

Classes

struct  time_average
 

Public Types

typedef EcalTimeDigi Digi
 
typedef time_average TimeSamples
 
typedef std::vector< unsigned int > VecInd
 

Public Member Functions

void add (const std::vector< PCaloHit > &hits, int bunchCrossing)
 
void blankOutUsedSamples ()
 
 EcalTimeMapDigitizer (EcalSubdetector myDet, ComponentShapeCollection *componentShapes)
 
void finalizeHits ()
 
int getTimeLayerId ()
 
void initializeMap ()
 
int maxBunch () const
 
int minBunch () const
 
void run (EcalTimeDigiCollection &output)
 
void setEventSetup (const edm::EventSetup &eventSetup)
 
void setGeometry (const CaloSubdetectorGeometry *geometry)
 
void setTimeLayerId (const int &layerId)
 
EcalSubdetector subdetector ()
 
virtual ~EcalTimeMapDigitizer ()
 

Private Member Functions

TimeSamplesfindSignal (const DetId &detId)
 
VecIndindex ()
 
const VecIndindex () const
 
const TimeSamplesoperator[] (unsigned int i) const
 
TimeSamplesoperator[] (unsigned int i)
 
unsigned int samplesSize () const
 
unsigned int samplesSizeAll () const
 
const ComponentShapeCollectionshapes () const
 
double timeOfFlight (const DetId &detId, int layer) const
 
TimeSamplesvSam (unsigned int i)
 
TimeSamplesvSamAll (unsigned int i)
 
const TimeSamplesvSamAll (unsigned int i) const
 

Private Attributes

ComponentShapeCollectionm_ComponentShapes
 
const CaloSubdetectorGeometrym_geometry
 
VecInd m_index
 
EcalSubdetector m_subDet
 
int m_timeLayerId
 
std::vector< TimeSamplesm_vSam
 

Static Private Attributes

static const int BUNCHSPACE = 25
 
static const int m_maxBunch = 5
 
static const int m_minBunch = -4
 
static const float MIN_ENERGY_THRESHOLD
 

Detailed Description

Definition at line 20 of file EcalTimeMapDigitizer.h.

Member Typedef Documentation

◆ Digi

Definition at line 75 of file EcalTimeMapDigitizer.h.

◆ TimeSamples

Definition at line 73 of file EcalTimeMapDigitizer.h.

◆ VecInd

typedef std::vector<unsigned int> EcalTimeMapDigitizer::VecInd

Definition at line 77 of file EcalTimeMapDigitizer.h.

Constructor & Destructor Documentation

◆ EcalTimeMapDigitizer()

EcalTimeMapDigitizer::EcalTimeMapDigitizer ( EcalSubdetector  myDet,
ComponentShapeCollection componentShapes 
)
explicit

Definition at line 29 of file EcalTimeMapDigitizer.cc.

References cms::cuda::assert(), gather_cfg::cout, EBDetId::detIdFromDenseIndex(), EEDetId::detIdFromDenseIndex(), EcalBarrel, EcalEndcap, mps_fire::i, EBDetId::kSizeForDenseIndexing, EEDetId::kSizeForDenseIndexing, m_index, m_maxBunch, m_minBunch, m_subDet, m_vSam, and findQualityFiles::size.

30  : m_subDet(myDet), m_ComponentShapes(componentShapes), m_geometry(nullptr) {
31  // edm::Service<edm::RandomNumberGenerator> rng ;
32  // if ( !rng.isAvailable() )
33  // {
34  // throw cms::Exception("Configuration")
35  // << "EcalTimeMapDigitizer requires the RandomNumberGeneratorService\n"
36  // "which is not present in the configuration file. You must add the service\n"
37  // "in the configuration file or remove the modules that require it.";
38  // }
39  // m_RandPoisson = new CLHEP::RandPoissonQ( rng->getEngine() ) ;
40  // m_RandGauss = new CLHEP::RandGaussQ( rng->getEngine() ) ;
41 
42  unsigned int size = 0;
43 
44  //Initialize the map
45  if (myDet == EcalBarrel) {
47  } else if (myDet == EcalEndcap) {
49  } else
50  edm::LogError("TimeDigiError") << "[EcalTimeMapDigitizer]::ERROR::This subdetector " << myDet
51  << " is not implemented";
52 
53  assert(m_maxBunch - m_minBunch + 1 <= 10);
54  assert(m_minBunch <= 0);
55 
56  m_vSam.reserve(size);
57  m_index.reserve(size);
58 
59  for (unsigned int i(0); i != size; ++i) {
60  // m_vSam.emplace_back(CaloGenericDetId( detId.det(), detId.subdetId(), i ) ,
61  // m_maxBunch-m_minBunch+1, abs(m_minBunch) );
62  if (myDet == EcalBarrel) {
64  } else {
66  }
67  }
68 
69  edm::LogInfo("TimeDigiInfo") << "[EcalTimeDigitizer]::Subdetector " << m_subDet << "::Reserved size for time digis "
70  << m_vSam.size();
71 
72 #ifdef ecal_time_debug
73  std::cout << "[EcalTimeDigitizer]::Subdetector " << m_subDet << "::Reserved size for time digis " << m_vSam.size()
74  << std::endl;
75 #endif
76 }
static EEDetId detIdFromDenseIndex(uint32_t din)
Definition: EEDetId.h:220
size
Write out results.
static const int m_maxBunch
const CaloSubdetectorGeometry * m_geometry
Log< level::Error, false > LogError
assert(be >=bs)
std::vector< TimeSamples > m_vSam
static EBDetId detIdFromDenseIndex(uint32_t di)
Definition: EBDetId.h:107
ComponentShapeCollection * m_ComponentShapes
Log< level::Info, false > LogInfo
Definition: DetId.h:17
static const int m_minBunch

◆ ~EcalTimeMapDigitizer()

EcalTimeMapDigitizer::~EcalTimeMapDigitizer ( )
virtual

Definition at line 78 of file EcalTimeMapDigitizer.cc.

78 {}

Member Function Documentation

◆ add()

void EcalTimeMapDigitizer::add ( const std::vector< PCaloHit > &  hits,
int  bunchCrossing 
)

Definition at line 80 of file EcalTimeMapDigitizer.cc.

References ComponentShapeCollection::at(), newFWLiteAna::bin, gather_cfg::cout, hcalRecHitTable_cff::detId, findSignal(), hfClusterShapes_cfi::hits, edm::isNotFinite(), m_ComponentShapes, m_maxBunch, m_minBunch, m_timeLayerId, ComponentShapeCollection::maxDepthBin(), MIN_ENERGY_THRESHOLD, mps_fire::result, shapes(), hcalRecHitTable_cff::time, timeOfFlight(), and ComponentShapeCollection::toDepthBin().

Referenced by EcalTimeDigiProducer::accumulateCaloHits(), and counter.Counter::register().

80  {
81  if (bunchCrossing >= m_minBunch && bunchCrossing <= m_maxBunch) {
82  for (std::vector<PCaloHit>::const_iterator it = hits.begin(), itEnd = hits.end(); it != itEnd; ++it) {
83  //here goes the map logic
84 
85  if (edm::isNotFinite((*it).time()))
86  continue;
87 
88  if ((*it).energy() < MIN_ENERGY_THRESHOLD) //apply a minimal cut on the hit energy
89  continue;
90 
91  //Old behavior: Just consider only the hits belonging to the specified time layer
92  //int depth2 = (((*it).depth() >> PCaloHit::kEcalDepthOffset) & PCaloHit::kEcalDepthMask);
93  //I think things make more sense if we allow all depths -- JCH
94 
95  const DetId detId((*it).id());
96 
97  double time = (*it).time();
98 
99  //time of flight is not corrected here for the vertex position
100  const double jitter(time - timeOfFlight(detId, m_timeLayerId));
101 
103 
104  if (nullptr != m_ComponentShapes) {
105  // for now we have waveform_granularity = 1., 10 BX, and waveform capacity 250 -- we want to start at 25*bunchCrossing and go to the end of waveform capacity
106  double binTime(0);
107  for (unsigned int bin(0); bin != result.waveform_capacity; ++bin) {
109  result.waveform[bin] +=
110  (*(shapes()->at((*it).depth())))(binTime - jitter - 25 * (bunchCrossing - m_minBunch)) * (*it).energy();
111  }
112 #ifdef waveform_debug
113  else {
114  std::cout << "strange depth found: " << ComponentShapeCollection::toDepthBin((*it).depth()) << std::endl;
115  } // note: understand what these depths mean
116 #endif
117  binTime += result.waveform_granularity;
118  }
119  }
120 
121  //here fill the result for the given bunch crossing
122 
123  // i think this is obsolete now that there is a real MTD
124  //if (depth2 != m_timeLayerId)
125  // continue;
126  result.average_time[bunchCrossing - m_minBunch] += jitter * (*it).energy();
127  result.tot_energy[bunchCrossing - m_minBunch] += (*it).energy();
128  result.nhits[bunchCrossing - m_minBunch]++;
129 
130 #ifdef ecal_time_debug
131  std::cout << (*it).id() << "\t" << (*it).depth() << "\t" << jitter << "\t" << (*it).energy() << "\t"
132  << result.average_time[bunchCrossing - m_minBunch] << "\t" << result.nhits[bunchCrossing - m_minBunch]
133  << "\t" << timeOfFlight(detId, m_timeLayerId) << std::endl;
134 #endif
135  }
136  }
137 }
static const int m_maxBunch
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
const ComponentShapeCollection * shapes() const
double timeOfFlight(const DetId &detId, int layer) const
ComponentShapeCollection * m_ComponentShapes
Definition: DetId.h:17
static const int m_minBunch
static int toDepthBin(int index)
TimeSamples * findSignal(const DetId &detId)
const std::shared_ptr< ComponentShape > at(int depthIndex) const
static const float MIN_ENERGY_THRESHOLD

◆ blankOutUsedSamples()

void EcalTimeMapDigitizer::blankOutUsedSamples ( )

Definition at line 149 of file EcalTimeMapDigitizer.cc.

References gather_cfg::cout, mps_fire::i, m_index, EcalTimeMapDigitizer::time_average::setZero(), findQualityFiles::size, and vSamAll().

Referenced by initializeMap().

150 {
151  const unsigned int size(m_index.size());
152 
153  for (unsigned int i(0); i != size; ++i) {
154 #ifdef ecal_time_debug
155  std::cout << "Zeroing " << m_index[i] << std::endl;
156 #endif
157  vSamAll(m_index[i])->setZero();
158  }
159 
160  m_index.clear(); // done and make ready to start over
161 }
size
Write out results.
TimeSamples * vSamAll(unsigned int i)

◆ finalizeHits()

void EcalTimeMapDigitizer::finalizeHits ( )

Definition at line 163 of file EcalTimeMapDigitizer.cc.

References EcalTimeMapDigitizer::time_average::average_time, EcalTimeMapDigitizer::time_average::calculateAverage(), gather_cfg::cout, mps_fire::i, dqmiolumiharvest::j, m_index, EcalTimeMapDigitizer::time_average::nhits, findQualityFiles::size, EcalTimeMapDigitizer::time_average::time_average_capacity, EcalTimeMapDigitizer::time_average::tot_energy, and vSamAll().

Referenced by run().

163  {
164  //Getting the size from the actual hits
165  const unsigned int size(m_index.size());
166 
167  //Here just averaging the MC truth
168  for (unsigned int i(0); i != size; ++i) {
169 #ifdef ecal_time_debug
170  std::cout << "Averaging " << m_index[i] << std::endl;
171 #endif
173 #ifdef ecal_time_debug
174  for (unsigned int j(0); j != vSamAll(m_index[i])->time_average_capacity; ++j)
175  std::cout << j << "\t" << vSamAll(m_index[i])->average_time[j] << "\t" << vSamAll(m_index[i])->nhits[j] << "\t"
176  << vSamAll(m_index[i])->tot_energy[j] << std::endl;
177 #endif
178  }
179 
180  //Noise can be added here
181 }
size
Write out results.
unsigned int nhits[time_average_capacity]
TimeSamples * vSamAll(unsigned int i)
static const unsigned short time_average_capacity
float average_time[time_average_capacity]
float tot_energy[time_average_capacity]

◆ findSignal()

EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::findSignal ( const DetId detId)
private

Definition at line 139 of file EcalTimeMapDigitizer.cc.

References hcalRecHitTable_cff::detId, m_index, mps_fire::result, and vSamAll().

Referenced by add().

139  {
140  const unsigned int di(CaloGenericDetId(detId).denseIndex());
141  TimeSamples* result(vSamAll(di));
142  if (result->zero())
143  m_index.push_back(di);
144  return result;
145 }
TimeSamples * vSamAll(unsigned int i)

◆ getTimeLayerId()

int EcalTimeMapDigitizer::getTimeLayerId ( )
inline

Definition at line 97 of file EcalTimeMapDigitizer.h.

References m_timeLayerId.

◆ index() [1/2]

EcalTimeMapDigitizer::VecInd & EcalTimeMapDigitizer::index ( )
private

Definition at line 290 of file EcalTimeMapDigitizer.cc.

References m_index.

290 { return m_index; }

◆ index() [2/2]

const EcalTimeMapDigitizer::VecInd & EcalTimeMapDigitizer::index ( ) const
private

Definition at line 292 of file EcalTimeMapDigitizer.cc.

References m_index.

292 { return m_index; }

◆ initializeMap()

void EcalTimeMapDigitizer::initializeMap ( )

Definition at line 183 of file EcalTimeMapDigitizer.cc.

References blankOutUsedSamples(), and gather_cfg::cout.

Referenced by EcalTimeDigiProducer::initializeEvent().

183  {
184 #ifdef ecal_time_debug
185  std::cout << "[EcalTimeMapDigitizer]::Zeroing the used samples" << std::endl;
186 #endif
188 }

◆ maxBunch()

int EcalTimeMapDigitizer::maxBunch ( ) const

Definition at line 288 of file EcalTimeMapDigitizer.cc.

References m_maxBunch.

288 { return m_maxBunch; }
static const int m_maxBunch

◆ minBunch()

int EcalTimeMapDigitizer::minBunch ( ) const

Definition at line 286 of file EcalTimeMapDigitizer.cc.

References m_minBunch.

286 { return m_minBunch; }
static const int m_minBunch

◆ operator[]() [1/2]

const EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::operator[] ( unsigned int  i) const
private

Definition at line 276 of file EcalTimeMapDigitizer.cc.

References mps_fire::i, and m_vSam.

276 { return &m_vSam[i]; }
std::vector< TimeSamples > m_vSam

◆ operator[]() [2/2]

EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::operator[] ( unsigned int  i)
private

Definition at line 278 of file EcalTimeMapDigitizer.cc.

References mps_fire::i, and m_vSam.

278 { return &m_vSam[i]; }
std::vector< TimeSamples > m_vSam

◆ run()

void EcalTimeMapDigitizer::run ( EcalTimeDigiCollection output)

Definition at line 201 of file EcalTimeMapDigitizer.cc.

References EcalTimeMapDigitizer::time_average::average_time, gather_cfg::cout, finalizeHits(), mps_fire::i, dqmiolumiharvest::j, m_ComponentShapes, m_index, m_minBunch, nhits, EcalTimeMapDigitizer::time_average::time_average_capacity, and vSamAll().

Referenced by EcalTimeDigiProducer::finalizeEvent().

201  {
202 #ifdef ecal_time_debug
203  std::cout << "[EcalTimeMapDigitizer]::Finalizing hits and fill output collection" << std::endl;
204 #endif
205 
206  //Do the time averages and add noise if simulated
207  finalizeHits();
208 
209  //Until we do now simulated noise we can get the size from the index vector
210  const unsigned int ssize(m_index.size());
211 
212  output.reserve(ssize);
213 
214  for (unsigned int i(0); i != ssize; ++i) {
215 #ifdef ecal_time_debug
216  std::cout << "----- in digi loop " << i << std::endl;
217 #endif
218 
219  output.push_back(Digi(vSamAll(m_index[i])->id));
220  if (nullptr != m_ComponentShapes)
221  output.back().setWaveform(vSamAll(m_index[i])->waveform);
222 
223  unsigned int nTimeHits = 0;
224  unsigned int nTimeHitsMax = vSamAll(m_index[i])->time_average_capacity;
225  float timeHits[nTimeHitsMax];
226  unsigned int timeBX[nTimeHitsMax];
227 
228  for (unsigned int j(0); j != nTimeHitsMax; ++j) //here sampling on the OOTPU
229  {
230  if (vSamAll(m_index[i])->nhits[j] > 0) {
231  timeHits[nTimeHits] = vSamAll(m_index[i])->average_time[j];
232  timeBX[nTimeHits] = m_minBunch + j;
233  nTimeHits++;
234  }
235  }
236 
237  output.back().setSize(nTimeHits);
238 
239  for (unsigned int j(0); j != nTimeHits; ++j) //filling the !zero hits
240  {
241  output.back().setSample(j, timeHits[j]);
242  if (timeBX[j] == 0) {
243 #ifdef ecal_time_debug
244  std::cout << "setting interesting sample " << j << std::endl;
245 #endif
246  output.back().setSampleOfInterest(j);
247  }
248  }
249 
250 #ifdef ecal_time_debug
251  std::cout << "digi " << output.back().id().rawId() << "\t" << output.back().size();
252  if (output.back().sampleOfInterest() > 0)
253  std::cout << "\tBX0 time " << output.back().sample(output.back().sampleOfInterest()) << std::endl;
254  else
255  std::cout << "\tNo in time hits" << std::endl;
256 #endif
257  }
258 #ifdef ecal_time_debug
259  std::cout << "[EcalTimeMapDigitizer]::Output collection size " << output.size() << std::endl;
260 #endif
261 }
ComponentShapeCollection * m_ComponentShapes
TimeSamples * vSamAll(unsigned int i)
static const unsigned short time_average_capacity
static const int m_minBunch
float average_time[time_average_capacity]
Definition: output.py:1

◆ samplesSize()

unsigned int EcalTimeMapDigitizer::samplesSize ( ) const
private

Definition at line 272 of file EcalTimeMapDigitizer.cc.

References m_vSam.

272 { return m_vSam.size(); }
std::vector< TimeSamples > m_vSam

◆ samplesSizeAll()

unsigned int EcalTimeMapDigitizer::samplesSizeAll ( ) const
private

Definition at line 274 of file EcalTimeMapDigitizer.cc.

References m_vSam.

274 { return m_vSam.size(); }
std::vector< TimeSamples > m_vSam

◆ setEventSetup()

void EcalTimeMapDigitizer::setEventSetup ( const edm::EventSetup eventSetup)

Definition at line 190 of file EcalTimeMapDigitizer.cc.

References options_cfi::eventSetup, Exception, m_ComponentShapes, and ComponentShapeCollection::setEventSetup().

Referenced by EcalTimeDigiProducer::accumulate(), and EcalTimeDigiProducer::initializeEvent().

190  {
191  if (nullptr != m_ComponentShapes)
193  else
194  throw cms::Exception(
195  "[EcalTimeMapDigitizer] setEventSetup was called, but this should only be called when componentWaveform is "
196  "activated by cfg parameter");
197 }
ComponentShapeCollection * m_ComponentShapes
void setEventSetup(const edm::EventSetup &evtSetup)

◆ setGeometry()

void EcalTimeMapDigitizer::setGeometry ( const CaloSubdetectorGeometry geometry)

Definition at line 147 of file EcalTimeMapDigitizer.cc.

References relativeConstraints::geometry, and m_geometry.

Referenced by EcalTimeDigiProducer::updateGeometry().

147 { m_geometry = geometry; }
const CaloSubdetectorGeometry * m_geometry

◆ setTimeLayerId()

void EcalTimeMapDigitizer::setTimeLayerId ( const int &  layerId)
inline

Definition at line 95 of file EcalTimeMapDigitizer.h.

References m_timeLayerId.

Referenced by EcalTimeDigiProducer::EcalTimeDigiProducer().

95 { m_timeLayerId = layerId; };

◆ shapes()

const ComponentShapeCollection * EcalTimeMapDigitizer::shapes ( ) const
private

Definition at line 199 of file EcalTimeMapDigitizer.cc.

References m_ComponentShapes.

Referenced by add().

199 { return m_ComponentShapes; }
ComponentShapeCollection * m_ComponentShapes

◆ subdetector()

EcalSubdetector EcalTimeMapDigitizer::subdetector ( )
inline

Definition at line 99 of file EcalTimeMapDigitizer.h.

References m_subDet.

99 { return m_subDet; };

◆ timeOfFlight()

double EcalTimeMapDigitizer::timeOfFlight ( const DetId detId,
int  layer 
) const
private

Definition at line 263 of file EcalTimeMapDigitizer.cc.

References cms::cuda::assert(), hcalRecHitTable_cff::detId, CaloSubdetectorGeometry::getGeometry(), m_geometry, and PV3DBase< T, PVType, FrameType >::mag().

Referenced by add().

263  {
264  //not using the layer yet
265  auto cellGeometry(m_geometry->getGeometry(detId));
266  assert(nullptr != cellGeometry);
267  GlobalPoint layerPos = (cellGeometry)->getPosition();
268  //(cellGeometry)->getPosition(double(layer) + 0.5); //depth in mm in the middle of the layer position // JCH : I am not sure this is doing what it's supposed to, probably unimplemented since CaloCellGeometry returns the same value regardless of this double
269  return layerPos.mag() * cm / c_light;
270 }
const CaloSubdetectorGeometry * m_geometry
assert(be >=bs)
T mag() const
Definition: PV3DBase.h:64
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.

◆ vSam()

EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::vSam ( unsigned int  i)
private

Definition at line 280 of file EcalTimeMapDigitizer.cc.

References mps_fire::i, and m_vSam.

280 { return &m_vSam[i]; }
std::vector< TimeSamples > m_vSam

◆ vSamAll() [1/2]

EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::vSamAll ( unsigned int  i)
private

Definition at line 282 of file EcalTimeMapDigitizer.cc.

References mps_fire::i, and m_vSam.

Referenced by blankOutUsedSamples(), finalizeHits(), findSignal(), and run().

282 { return &m_vSam[i]; }
std::vector< TimeSamples > m_vSam

◆ vSamAll() [2/2]

const EcalTimeMapDigitizer::TimeSamples * EcalTimeMapDigitizer::vSamAll ( unsigned int  i) const
private

Definition at line 284 of file EcalTimeMapDigitizer.cc.

References mps_fire::i, and m_vSam.

284 { return &m_vSam[i]; }
std::vector< TimeSamples > m_vSam

Member Data Documentation

◆ BUNCHSPACE

const int EcalTimeMapDigitizer::BUNCHSPACE = 25
staticprivate

Definition at line 133 of file EcalTimeMapDigitizer.h.

◆ m_ComponentShapes

ComponentShapeCollection* EcalTimeMapDigitizer::m_ComponentShapes
private

Definition at line 142 of file EcalTimeMapDigitizer.h.

Referenced by add(), run(), setEventSetup(), and shapes().

◆ m_geometry

const CaloSubdetectorGeometry* EcalTimeMapDigitizer::m_geometry
private

Definition at line 144 of file EcalTimeMapDigitizer.h.

Referenced by setGeometry(), and timeOfFlight().

◆ m_index

VecInd EcalTimeMapDigitizer::m_index
private

◆ m_maxBunch

const int EcalTimeMapDigitizer::m_maxBunch = 5
staticprivate

Definition at line 138 of file EcalTimeMapDigitizer.h.

Referenced by add(), EcalTimeMapDigitizer(), and maxBunch().

◆ m_minBunch

const int EcalTimeMapDigitizer::m_minBunch = -4
staticprivate

Definition at line 137 of file EcalTimeMapDigitizer.h.

Referenced by add(), EcalTimeMapDigitizer(), minBunch(), and run().

◆ m_subDet

EcalSubdetector EcalTimeMapDigitizer::m_subDet
private

Definition at line 130 of file EcalTimeMapDigitizer.h.

Referenced by EcalTimeMapDigitizer(), and subdetector().

◆ m_timeLayerId

int EcalTimeMapDigitizer::m_timeLayerId
private

Definition at line 140 of file EcalTimeMapDigitizer.h.

Referenced by add(), getTimeLayerId(), and setTimeLayerId().

◆ m_vSam

std::vector<TimeSamples> EcalTimeMapDigitizer::m_vSam
private

◆ MIN_ENERGY_THRESHOLD

const float EcalTimeMapDigitizer::MIN_ENERGY_THRESHOLD
staticprivate
Initial value:
=
5e-5

Definition at line 135 of file EcalTimeMapDigitizer.h.

Referenced by add().