CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Attributes | Protected Attributes
CaloHitResponse Class Reference

Creates electronics signals from hits. More...

#include <CaloHitResponse.h>

Inheritance diagram for CaloHitResponse:
HcalSiPMHitResponse

Public Types

enum  { BUNCHSPACE = 25 }
 
typedef std::map< DetId,
CaloSamples
AnalogSignalMap
 

Public Member Functions

virtual void add (const PCaloHit &hit, CLHEP::HepRandomEngine *)
 process a single SimHit More...
 
virtual void add (const CaloSamples &signal)
 add a signal, in units of pe More...
 
void addHit (const PCaloHit *hit, CaloSamples &frame) const
 adds the amplitude for a single hit to the frame More...
 
double analogSignalAmplitude (const DetId &id, float energy, const CaloSimParameters &parameters, CLHEP::HepRandomEngine *) const
 
 CaloHitResponse (const CaloVSimParameterMap *parameterMap, const CaloVShape *shape, bool PreMix1=false, bool HighFidelity=false)
 
 CaloHitResponse (const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes, bool PreMix1=false, bool HighFidelity=false)
 
void clear ()
 frees up memory More...
 
virtual void finalizeHits (CLHEP::HepRandomEngine *)
 Finalize hits. More...
 
CaloSamplesfindSignal (const DetId &detId)
 users can look for the signal for a given cell More...
 
int getReadoutFrameSize (const DetId &id) const
 
virtual void initializeHits ()
 Initialize hits. More...
 
virtual bool keepBlank () const
 
virtual CaloSamples makeAnalogSignal (const PCaloHit &inputHit, CLHEP::HepRandomEngine *) const
 creates the signal corresponding to this hit More...
 
CaloSamples makeBlankSignal (const DetId &detId) const
 creates an empty signal for this DetId More...
 
int nSignals () const
 number of signals in the current cache More...
 
virtual void run (const MixCollection< PCaloHit > &hits, CLHEP::HepRandomEngine *)
 Complete cell digitization. More...
 
void setBunchRange (int minBunch, int maxBunch)
 tells it which pileup bunches to do More...
 
void setGeometry (const CaloGeometry *geometry)
 geometry needed for time-of-flight More...
 
void setHitCorrection (const CaloVHitCorrection *hitCorrection)
 If you want to correct hits, for attenuation or delay, set this. More...
 
void setHitFilter (const CaloVHitFilter *filter)
 
void setIgnoreGeantTime (bool gt)
 
void setPECorrection (const CaloVPECorrection *peCorrection)
 if you want to correct the photoelectrons More...
 
void setPhaseShift (const double &thePhaseShift)
 setting the phase shift for asynchronous trigger (e.g. test beams) More...
 
void setStorePrecise (bool sp)
 
double timeOfFlight (const DetId &detId) const
 
bool withinBunchRange (int bunchCrossing) const
 check if crossing is within bunch range: More...
 
virtual ~CaloHitResponse ()
 doesn't delete the pointers passed in More...
 

Static Public Attributes

static constexpr double dt = 0.5
 
static constexpr int invdt = 2
 

Protected Attributes

bool highFidelityPreMix
 
bool ignoreTime
 
bool preMixDigis
 
bool storePrecise
 
AnalogSignalMap theAnalogSignalMap
 
const CaloGeometrytheGeometry
 
const CaloVHitCorrectiontheHitCorrection
 
const CaloVHitFiltertheHitFilter
 
int theMaxBunch
 
int theMinBunch
 
const CaloVSimParameterMaptheParameterMap
 
const CaloVPECorrectionthePECorrection
 
double thePhaseShift_
 
const CaloVShapetheShape
 
const CaloShapestheShapes
 

Detailed Description

Creates electronics signals from hits.

Definition at line 33 of file CaloHitResponse.h.

Member Typedef Documentation

Definition at line 35 of file CaloHitResponse.h.

Member Enumeration Documentation

anonymous enum
Enumerator
BUNCHSPACE 

Definition at line 37 of file CaloHitResponse.h.

Constructor & Destructor Documentation

CaloHitResponse::CaloHitResponse ( const CaloVSimParameterMap parameterMap,
const CaloVShape shape,
bool  PreMix1 = false,
bool  HighFidelity = false 
)

Definition at line 21 of file CaloHitResponse.cc.

26  theParameterMap(parametersMap),
27  theShapes(nullptr),
28  theShape(shape),
29  theHitCorrection(nullptr),
30  thePECorrection(nullptr),
31  theHitFilter(nullptr),
32  theGeometry(nullptr),
33  theMinBunch(-10),
34  theMaxBunch(10),
35  thePhaseShift_(1.),
36  storePrecise(HighFidelity),
37  preMixDigis(PreMix1),
38  highFidelityPreMix(HighFidelity),
39  ignoreTime(false) {}
const CaloGeometry * theGeometry
const CaloVPECorrection * thePECorrection
const CaloVHitCorrection * theHitCorrection
AnalogSignalMap theAnalogSignalMap
const CaloShapes * theShapes
const CaloVSimParameterMap * theParameterMap
const CaloVHitFilter * theHitFilter
const CaloVShape * theShape
CaloHitResponse::CaloHitResponse ( const CaloVSimParameterMap parameterMap,
const CaloShapes shapes,
bool  PreMix1 = false,
bool  HighFidelity = false 
)

Definition at line 41 of file CaloHitResponse.cc.

46  theParameterMap(parametersMap),
47  theShapes(shapes),
48  theShape(nullptr),
49  theHitCorrection(nullptr),
50  thePECorrection(nullptr),
51  theHitFilter(nullptr),
52  theGeometry(nullptr),
53  theMinBunch(-10),
54  theMaxBunch(10),
55  thePhaseShift_(1.),
56  storePrecise(HighFidelity),
57  preMixDigis(PreMix1),
58  highFidelityPreMix(HighFidelity),
59  ignoreTime(false) {}
const CaloGeometry * theGeometry
const CaloVPECorrection * thePECorrection
const CaloVHitCorrection * theHitCorrection
AnalogSignalMap theAnalogSignalMap
const CaloShapes * theShapes
const CaloVSimParameterMap * theParameterMap
const CaloVHitFilter * theHitFilter
const CaloVShape * theShape
CaloHitResponse::~CaloHitResponse ( )
virtual

doesn't delete the pointers passed in

Definition at line 61 of file CaloHitResponse.cc.

61 {}

Member Function Documentation

void CaloHitResponse::add ( const PCaloHit hit,
CLHEP::HepRandomEngine *  engine 
)
virtual

process a single SimHit

Reimplemented in HcalSiPMHitResponse.

Definition at line 87 of file CaloHitResponse.cc.

References CaloVHitFilter::accepts(), mps_fire::i, edm::isNotFinite(), keep, keepBlank(), LogDebug, makeAnalogSignal(), CaloSamples::size(), findQualityFiles::size, theHitFilter, and PCaloHit::time().

Referenced by HcalSiPMHitResponse::add(), CaloTDigitizer< Traits, runHelper >::add(), CaloTDigitizer< Traits, runHelper >::addNoiseSignals(), HcalSiPMHitResponse::finalizeHits(), counter.Counter::register(), and run().

87  {
88  // check the hit time makes sense
89  if (edm::isNotFinite(hit.time())) {
90  return;
91  }
92 
93  // maybe it's not from this subdetector
94  if (theHitFilter == nullptr || theHitFilter->accepts(hit)) {
95  LogDebug("CaloHitResponse") << hit;
96  CaloSamples signal(makeAnalogSignal(hit, engine));
97  bool keep(keepBlank()); // here we check for blank signal if not keeping them
98  if (!keep) {
99  const unsigned int size(signal.size());
100  if (0 != size) {
101  for (unsigned int i(0); i != size; ++i) {
102  keep = keep || signal[i] > 1.e-7;
103  }
104  }
105  }
106 
107  if (keep)
108  add(signal);
109  }
110 }
double time() const
Definition: PCaloHit.h:30
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
virtual bool keepBlank() const
const int keep
virtual CaloSamples makeAnalogSignal(const PCaloHit &inputHit, CLHEP::HepRandomEngine *) const
creates the signal corresponding to this hit
virtual bool accepts(const PCaloHit &hit) const =0
virtual void add(const PCaloHit &hit, CLHEP::HepRandomEngine *)
process a single SimHit
const CaloVHitFilter * theHitFilter
tuple size
Write out results.
#define LogDebug(id)
void CaloHitResponse::add ( const CaloSamples signal)
virtual

add a signal, in units of pe

Reimplemented in HcalSiPMHitResponse.

Definition at line 112 of file CaloHitResponse.cc.

References findSignal(), CaloSamples::id(), gpuClustering::id, and theAnalogSignalMap.

Referenced by counter.Counter::register().

112  {
113  DetId id(signal.id());
114  CaloSamples *oldSignal = findSignal(id);
115  if (oldSignal == nullptr) {
116  theAnalogSignalMap[id] = signal;
117 
118  } else {
119  (*oldSignal) += signal;
120  }
121 }
uint16_t *__restrict__ id
AnalogSignalMap theAnalogSignalMap
Definition: DetId.h:17
CaloSamples * findSignal(const DetId &detId)
users can look for the signal for a given cell
DetId id() const
get the (generic) id
Definition: CaloSamples.h:21
void CaloHitResponse::addHit ( const PCaloHit hit,
CaloSamples frame 
) const

adds the amplitude for a single hit to the frame

double CaloHitResponse::analogSignalAmplitude ( const DetId id,
float  energy,
const CaloSimParameters parameters,
CLHEP::HepRandomEngine *  engine 
) const

finds the amplitude contribution from this hit, applying photostatistics, if needed. Results are in photoelectrons

Definition at line 168 of file CaloHitResponse.cc.

References CaloVPECorrection::correctPE(), CaloSimParameters::doPhotostatistics(), CaloSimParameters::simHitToPhotoelectrons(), and thePECorrection.

Referenced by HcalSiPMHitResponse::add(), and makeAnalogSignal().

171  {
172  // OK, the "energy" in the hit could be a real energy, deposited energy,
173  // or pe count. This factor converts to photoelectrons
174  // GMA Smeared in photon production it self
175  double npe = energy * parameters.simHitToPhotoelectrons(detId);
176  // do we need to doPoisson statistics for the photoelectrons?
177  if (parameters.doPhotostatistics()) {
178  npe = CLHEP::RandPoissonQ::shoot(engine, npe);
179  }
180  if (thePECorrection)
181  npe = thePECorrection->correctPE(detId, npe, engine);
182  return npe;
183 }
bool doPhotostatistics() const
whether or not to apply Poisson statistics to photoelectrons
virtual double correctPE(const DetId &detId, double npe, CLHEP::HepRandomEngine *) const =0
const CaloVPECorrection * thePECorrection
double simHitToPhotoelectrons() const
void CaloHitResponse::clear ( void  )
inline

frees up memory

Definition at line 87 of file CaloHitResponse.h.

References theAnalogSignalMap.

Referenced by CaloTDigitizer< Traits, runHelper >::run().

87 { theAnalogSignalMap.clear(); }
AnalogSignalMap theAnalogSignalMap
void CaloHitResponse::finalizeHits ( CLHEP::HepRandomEngine *  )
virtual

Finalize hits.

Reimplemented in HcalSiPMHitResponse.

Definition at line 68 of file CaloHitResponse.cc.

References highFidelityPreMix, makeBlankSignal(), preMixDigis, mps_fire::result, and theAnalogSignalMap.

Referenced by CaloTDigitizer< Traits, runHelper >::run().

68  {
69  // Convert any remaining HighFidelityPreMix DIGIs
70  if (!(preMixDigis and highFidelityPreMix)) {
71  for (AnalogSignalMap::iterator itr = theAnalogSignalMap.begin(); itr != theAnalogSignalMap.end(); ++itr) {
72  CaloSamples result(makeBlankSignal(itr->first));
73  result += itr->second;
74  itr->second = result;
75  }
76  }
77 }
CaloSamples makeBlankSignal(const DetId &detId) const
creates an empty signal for this DetId
tuple result
Definition: mps_fire.py:311
AnalogSignalMap theAnalogSignalMap
CaloSamples * CaloHitResponse::findSignal ( const DetId detId)

users can look for the signal for a given cell

Definition at line 185 of file CaloHitResponse.cc.

References mps_fire::result, and theAnalogSignalMap.

Referenced by add(), and CaloTDigitizer< Traits, runHelper >::run().

185  {
186  CaloSamples *result = nullptr;
187  AnalogSignalMap::iterator signalItr = theAnalogSignalMap.find(detId);
188  if (signalItr == theAnalogSignalMap.end()) {
189  result = nullptr;
190  } else {
191  result = &(signalItr->second);
192  }
193  return result;
194 }
tuple result
Definition: mps_fire.py:311
AnalogSignalMap theAnalogSignalMap
int CaloHitResponse::getReadoutFrameSize ( const DetId id) const

Definition at line 196 of file CaloHitResponse.cc.

References BUNCHSPACE, highFidelityPreMix, invdt, preMixDigis, CaloSimParameters::readoutFrameSize(), CaloVSimParameterMap::simParameters(), and theParameterMap.

Referenced by makeBlankSignal().

196  {
198  int readoutFrameSize = parameters.readoutFrameSize();
200  //preserve fidelity of time info
201  readoutFrameSize *= BUNCHSPACE * invdt;
202  }
203  return readoutFrameSize;
204 }
static constexpr int invdt
Main class for Parameters in different subdetectors.
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
int readoutFrameSize() const
for now, the LinearFrames and trhe digis will be one-to-one.
const CaloVSimParameterMap * theParameterMap
virtual void CaloHitResponse::initializeHits ( )
inlinevirtual

Initialize hits.

Reimplemented in HcalSiPMHitResponse.

Definition at line 62 of file CaloHitResponse.h.

Referenced by CaloTDigitizer< Traits, runHelper >::initializeHits().

62 {}
virtual bool CaloHitResponse::keepBlank ( ) const
inlinevirtual

Definition at line 59 of file CaloHitResponse.h.

Referenced by add(), and HcalSiPMHitResponse::finalizeHits().

59 { return true; }
CaloSamples CaloHitResponse::makeAnalogSignal ( const PCaloHit inputHit,
CLHEP::HepRandomEngine *  engine 
) const
virtual

creates the signal corresponding to this hit

Definition at line 123 of file CaloHitResponse.cc.

References analogSignalAmplitude(), newFWLiteAna::bin, BUNCHSPACE, CaloVHitCorrection::delay(), dt, PCaloHit::energy(), highFidelityPreMix, PCaloHit::id(), ignoreTime, invdt, makeBlankSignal(), CaloSamples::preciseAtMod(), CaloSamples::preciseSize(), preMixDigis, CaloSamples::resetPrecise(), mps_fire::result, CaloShapes::shape(), CaloVSimParameterMap::simParameters(), CaloSamples::size(), storePrecise, theHitCorrection, theParameterMap, thePhaseShift_, theShape, theShapes, PCaloHit::time(), timeOfFlight(), CaloVShape::timeToRise(), and tzero.

Referenced by add().

123  {
124  DetId detId(hit.id());
126  double signal = analogSignalAmplitude(detId, hit.energy(), parameters, engine);
127 
128  double time = hit.time();
129  double tof = timeOfFlight(detId);
130  if (ignoreTime)
131  time = tof;
132  if (theHitCorrection != nullptr) {
133  time += theHitCorrection->delay(hit, engine);
134  }
135  double jitter = time - tof;
136 
137  const CaloVShape *shape = theShape;
138  if (!shape) {
139  shape = theShapes->shape(detId, storePrecise);
140  }
141  // assume bins count from zero, go for center of bin
142  const double tzero = (shape->timeToRise() + parameters.timePhase() - jitter -
143  BUNCHSPACE * (parameters.binOfMaximum() - thePhaseShift_));
144  double binTime = tzero;
145 
147 
148  if (storePrecise) {
149  result.resetPrecise();
150  int sampleBin(0);
151  // use 0.5ns binning for precise sample
152  for (int bin = 0; bin < result.preciseSize(); bin++) {
153  sampleBin = (preMixDigis and highFidelityPreMix) ? bin : bin / (BUNCHSPACE * invdt);
154  double pulseBit = (*shape)(binTime)*signal * dt;
155  result[sampleBin] += pulseBit;
156  result.preciseAtMod(bin) += pulseBit;
157  binTime += dt;
158  }
159  } else {
160  for (int bin = 0; bin < result.size(); bin++) {
161  result[bin] += (*shape)(binTime)*signal;
162  binTime += BUNCHSPACE;
163  }
164  }
165  return result;
166 }
CaloSamples makeBlankSignal(const DetId &detId) const
creates an empty signal for this DetId
virtual const CaloVShape * shape(const DetId &detId, bool precise=false) const
Definition: CaloShapes.h:14
Electronic response of the preamp.
Definition: CaloVShape.h:11
static constexpr int invdt
Main class for Parameters in different subdetectors.
tuple result
Definition: mps_fire.py:311
virtual double timeToRise() const =0
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
double timeOfFlight(const DetId &detId) const
const CaloVHitCorrection * theHitCorrection
virtual double delay(const PCaloHit &hit, CLHEP::HepRandomEngine *) const =0
unsigned int id
Definition: DetId.h:17
double analogSignalAmplitude(const DetId &id, float energy, const CaloSimParameters &parameters, CLHEP::HepRandomEngine *) const
const CaloShapes * theShapes
const CaloVSimParameterMap * theParameterMap
static constexpr double dt
static const double tzero[3]
const CaloVShape * theShape
CaloSamples CaloHitResponse::makeBlankSignal ( const DetId detId) const

creates an empty signal for this DetId

Definition at line 206 of file CaloHitResponse.cc.

References CaloSimParameters::binOfMaximum(), BUNCHSPACE, dt, getReadoutFrameSize(), invdt, CaloSimParameters::readoutFrameSize(), mps_fire::result, CaloVSimParameterMap::simParameters(), storePrecise, and theParameterMap.

Referenced by finalizeHits(), makeAnalogSignal(), and CaloTDigitizer< Traits, runHelper >::run().

206  {
208  int readoutFrameSize = getReadoutFrameSize(detId);
209  int preciseSize(storePrecise ? parameters.readoutFrameSize() * BUNCHSPACE * invdt : 0);
210  CaloSamples result(detId, readoutFrameSize, preciseSize);
211  result.setPresamples(parameters.binOfMaximum() - 1);
212  if (storePrecise) {
213  result.setPreciseSize(preciseSize);
214  result.setPrecise(result.presamples() * BUNCHSPACE * invdt, dt);
215  }
216  return result;
217 }
int getReadoutFrameSize(const DetId &id) const
static constexpr int invdt
Main class for Parameters in different subdetectors.
tuple result
Definition: mps_fire.py:311
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
int readoutFrameSize() const
for now, the LinearFrames and trhe digis will be one-to-one.
const CaloVSimParameterMap * theParameterMap
static constexpr double dt
int binOfMaximum() const
int CaloHitResponse::nSignals ( ) const
inline

number of signals in the current cache

Definition at line 106 of file CaloHitResponse.h.

References theAnalogSignalMap.

Referenced by CaloTDigitizer< Traits, runHelper >::run().

106 { return theAnalogSignalMap.size(); }
AnalogSignalMap theAnalogSignalMap
void CaloHitResponse::run ( const MixCollection< PCaloHit > &  hits,
CLHEP::HepRandomEngine *  engine 
)
virtual

Complete cell digitization.

Definition at line 79 of file CaloHitResponse.cc.

References add(), MixCollection< T >::begin(), MixCollection< T >::end(), and withinBunchRange().

79  {
80  for (MixCollection<PCaloHit>::MixItr hitItr = hits.begin(); hitItr != hits.end(); ++hitItr) {
81  if (withinBunchRange(hitItr.bunch())) {
82  add(*hitItr, engine);
83  } // loop over hits
84  }
85 }
bool withinBunchRange(int bunchCrossing) const
check if crossing is within bunch range:
iterator end() const
virtual void add(const PCaloHit &hit, CLHEP::HepRandomEngine *)
process a single SimHit
iterator begin() const
void CaloHitResponse::setBunchRange ( int  minBunch,
int  maxBunch 
)

tells it which pileup bunches to do

Definition at line 63 of file CaloHitResponse.cc.

References HiMixEmbGEN_cff::maxBunch, HiMixEmbGEN_cff::minBunch, theMaxBunch, and theMinBunch.

void CaloHitResponse::setGeometry ( const CaloGeometry geometry)
inline

geometry needed for time-of-flight

Definition at line 57 of file CaloHitResponse.h.

References relativeConstraints::geometry, and theGeometry.

Referenced by CastorDigiProducer::checkGeometry(), and HcalTBDigiProducer::updateGeometry().

57 { theGeometry = geometry; }
const CaloGeometry * theGeometry
void CaloHitResponse::setHitCorrection ( const CaloVHitCorrection hitCorrection)
inline

If you want to correct hits, for attenuation or delay, set this.

Definition at line 81 of file CaloHitResponse.h.

References theHitCorrection.

Referenced by CastorDigiProducer::CastorDigiProducer().

81 { theHitCorrection = hitCorrection; }
const CaloVHitCorrection * theHitCorrection
void CaloHitResponse::setHitFilter ( const CaloVHitFilter filter)
inline

if you want to reject hits, for example, from a certain subdetector, set this

Definition at line 78 of file CaloHitResponse.h.

References alcazmumu_cfi::filter, and theHitFilter.

Referenced by CastorDigiProducer::CastorDigiProducer(), and HcalTBDigiProducer::HcalTBDigiProducer().

78 { theHitFilter = filter; }
const CaloVHitFilter * theHitFilter
void CaloHitResponse::setIgnoreGeantTime ( bool  gt)
inline
void CaloHitResponse::setPECorrection ( const CaloVPECorrection peCorrection)
inline

if you want to correct the photoelectrons

Definition at line 84 of file CaloHitResponse.h.

References thePECorrection.

84 { thePECorrection = peCorrection; }
const CaloVPECorrection * thePECorrection
void CaloHitResponse::setPhaseShift ( const double &  thePhaseShift)
inline

setting the phase shift for asynchronous trigger (e.g. test beams)

Definition at line 118 of file CaloHitResponse.h.

References thePhaseShift_.

Referenced by HcalTBDigiProducer::setPhaseShift().

118 { thePhaseShift_ = thePhaseShift; }
void CaloHitResponse::setStorePrecise ( bool  sp)
inline

Definition at line 126 of file CaloHitResponse.h.

References storePrecise.

Referenced by CaloTDigitizer< Traits, runHelper >::run().

126 { storePrecise = sp; }
double CaloHitResponse::timeOfFlight ( const DetId detId) const

time-of-flight, in ns, to get to this cell returns 0 if no geometry has been set

Definition at line 219 of file CaloHitResponse.cc.

References HLT_FULL_cff::distance, CaloSubdetectorGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), DetId::rawId(), mps_fire::result, and theGeometry.

Referenced by HcalSiPMHitResponse::add(), and makeAnalogSignal().

219  {
220  // not going to assume there's one of these per subdetector.
221  // Take the whole CaloGeometry and find the right subdet
222  double result = 0.;
223  if (theGeometry == nullptr) {
224  edm::LogWarning("CaloHitResponse") << "No Calo Geometry set, so no time of flight correction";
225  } else {
226  auto cellGeometry = theGeometry->getSubdetectorGeometry(detId)->getGeometry(detId);
227  if (cellGeometry == nullptr) {
228  edm::LogWarning("CaloHitResponse") << "No Calo cell found for ID" << detId.rawId()
229  << " so no time-of-flight subtraction will be done";
230  } else {
231  double distance = cellGeometry->getPosition().mag();
232  result = distance * cm / c_light; // Units of c_light: mm/ns
233  }
234  }
235  return result;
236 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
const CaloGeometry * theGeometry
tuple result
Definition: mps_fire.py:311
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.
Log< level::Warning, false > LogWarning
bool CaloHitResponse::withinBunchRange ( int  bunchCrossing) const
inline

check if crossing is within bunch range:

Definition at line 122 of file CaloHitResponse.h.

References theMaxBunch, and theMinBunch.

Referenced by CaloTDigitizer< Traits, runHelper >::add(), and run().

122  {
123  return (bunchCrossing >= theMinBunch && bunchCrossing <= theMaxBunch);
124  }

Member Data Documentation

constexpr double CaloHitResponse::dt = 0.5
static

Definition at line 38 of file CaloHitResponse.h.

Referenced by makeAnalogSignal(), and makeBlankSignal().

bool CaloHitResponse::highFidelityPreMix
protected

Definition at line 148 of file CaloHitResponse.h.

Referenced by finalizeHits(), getReadoutFrameSize(), and makeAnalogSignal().

bool CaloHitResponse::ignoreTime
protected
constexpr int CaloHitResponse::invdt = 2
static

Definition at line 39 of file CaloHitResponse.h.

Referenced by getReadoutFrameSize(), makeAnalogSignal(), and makeBlankSignal().

bool CaloHitResponse::preMixDigis
protected

Definition at line 147 of file CaloHitResponse.h.

Referenced by finalizeHits(), getReadoutFrameSize(), and makeAnalogSignal().

bool CaloHitResponse::storePrecise
protected

Definition at line 146 of file CaloHitResponse.h.

Referenced by makeAnalogSignal(), makeBlankSignal(), and setStorePrecise().

AnalogSignalMap CaloHitResponse::theAnalogSignalMap
protected

Definition at line 131 of file CaloHitResponse.h.

Referenced by add(), clear(), finalizeHits(), findSignal(), and nSignals().

const CaloGeometry* CaloHitResponse::theGeometry
protected

Definition at line 140 of file CaloHitResponse.h.

Referenced by setGeometry(), and timeOfFlight().

const CaloVHitCorrection* CaloHitResponse::theHitCorrection
protected

Definition at line 136 of file CaloHitResponse.h.

Referenced by makeAnalogSignal(), and setHitCorrection().

const CaloVHitFilter* CaloHitResponse::theHitFilter
protected

Definition at line 138 of file CaloHitResponse.h.

Referenced by HcalSiPMHitResponse::add(), add(), and setHitFilter().

int CaloHitResponse::theMaxBunch
protected

Definition at line 143 of file CaloHitResponse.h.

Referenced by setBunchRange(), and withinBunchRange().

int CaloHitResponse::theMinBunch
protected

Definition at line 142 of file CaloHitResponse.h.

Referenced by setBunchRange(), and withinBunchRange().

const CaloVSimParameterMap* CaloHitResponse::theParameterMap
protected
const CaloVPECorrection* CaloHitResponse::thePECorrection
protected

Definition at line 137 of file CaloHitResponse.h.

Referenced by analogSignalAmplitude(), and setPECorrection().

double CaloHitResponse::thePhaseShift_
protected

Definition at line 145 of file CaloHitResponse.h.

Referenced by HcalSiPMHitResponse::add(), makeAnalogSignal(), and setPhaseShift().

const CaloVShape* CaloHitResponse::theShape
protected

Definition at line 135 of file CaloHitResponse.h.

Referenced by makeAnalogSignal().

const CaloShapes* CaloHitResponse::theShapes
protected

Definition at line 134 of file CaloHitResponse.h.

Referenced by makeAnalogSignal().