#include <HcalSiPMHitResponse.h>
Public Types | |
typedef std::vector< unsigned int > | photonTimeHist |
typedef std::map< DetId, photonTimeHist > | photonTimeMap |
Public Types inherited from CaloHitResponse | |
enum | { BUNCHSPACE = 25 } |
typedef std::map< DetId, CaloSamples > | AnalogSignalMap |
Public Member Functions | |
void | add (const PCaloHit &hit, CLHEP::HepRandomEngine *) override |
process a single SimHit More... | |
void | add (const CaloSamples &signal) override |
add a signal, in units of pe More... | |
virtual void | addPEnoise (CLHEP::HepRandomEngine *engine) |
void | finalizeHits (CLHEP::HepRandomEngine *) override |
Finalize hits. More... | |
virtual int | getReadoutFrameSize (const DetId &id) const |
HcalSiPMHitResponse (const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes, bool PreMix1=false, bool HighFidelity=true) | |
void | initializeHits () override |
Initialize hits. More... | |
virtual CaloSamples | makeBlankSignal (const DetId &detId) const |
virtual void | setDetIds (const std::vector< DetId > &detIds) |
~HcalSiPMHitResponse () override | |
Public Member Functions inherited from CaloHitResponse | |
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 ¶meters, 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... | |
CaloSamples * | findSignal (const DetId &detId) |
users can look for the signal for a given cell More... | |
int | getReadoutFrameSize (const DetId &id) const |
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... | |
Protected Member Functions | |
virtual CaloSamples | makeSiPMSignal (DetId const &id, photonTimeHist const &photons, CLHEP::HepRandomEngine *) |
Private Attributes | |
double | dt |
bool | HighFidelityPreMix |
double | invdt |
int | nbins |
photonTimeMap | precisionTimedPhotons |
bool | PreMixDigis |
std::map< int, HcalSiPMShape > | shapeMap |
const std::vector< DetId > * | theDetIds |
HcalSiPM | theSiPM |
Additional Inherited Members | |
Static Public Attributes inherited from CaloHitResponse | |
static constexpr double | dt = 0.5 |
static constexpr int | invdt = 2 |
Protected Attributes inherited from CaloHitResponse | |
bool | highFidelityPreMix |
bool | ignoreTime |
bool | preMixDigis |
bool | storePrecise |
AnalogSignalMap | theAnalogSignalMap |
const CaloGeometry * | theGeometry |
const CaloVHitCorrection * | theHitCorrection |
const CaloVHitFilter * | theHitFilter |
int | theMaxBunch |
int | theMinBunch |
const CaloVSimParameterMap * | theParameterMap |
const CaloVPECorrection * | thePECorrection |
double | thePhaseShift_ |
const CaloVShape * | theShape |
const CaloShapes * | theShapes |
Definition at line 22 of file HcalSiPMHitResponse.h.
typedef std::vector<unsigned int> HcalSiPMHitResponse::photonTimeHist |
Definition at line 31 of file HcalSiPMHitResponse.h.
typedef std::map<DetId, photonTimeHist> HcalSiPMHitResponse::photonTimeMap |
Definition at line 32 of file HcalSiPMHitResponse.h.
HcalSiPMHitResponse::HcalSiPMHitResponse | ( | const CaloVSimParameterMap * | parameterMap, |
const CaloShapes * | shapes, | ||
bool | PreMix1 = false , |
||
bool | HighFidelity = true |
||
) |
Definition at line 19 of file HcalSiPMHitResponse.cc.
References HcalShapes::HAMAMATSU, HcalShapes::HE2017, HcalShapes::HE2018, shapeMap, and HcalShapes::ZECOTEK.
|
override |
Definition at line 37 of file HcalSiPMHitResponse.cc.
|
overridevirtual |
process a single SimHit
Reimplemented from CaloHitResponse.
Definition at line 100 of file HcalSiPMHitResponse.cc.
References CaloVHitFilter::accepts(), CaloHitResponse::analogSignalAmplitude(), CaloHitResponse::BUNCHSPACE, dt, HcalPulseShapes::generatePhotonTime(), getReadoutFrameSize(), triggerObjects_cff::id, hit::id, CaloHitResponse::ignoreTime, createfilelist::int, invdt, edm::isNotFinite(), LogDebug, nbins, BPHMonitor_cfi::photons, precisionTimedPhotons, CaloVSimParameterMap::simParameters(), findQualityFiles::size, CaloHitResponse::theHitFilter, CaloHitResponse::theParameterMap, CaloHitResponse::thePhaseShift_, protons_cff::time, CaloHitResponse::timeOfFlight(), and tzero.
Referenced by counter.Counter::register().
|
overridevirtual |
add a signal, in units of pe
Reimplemented from CaloHitResponse.
Definition at line 83 of file HcalSiPMHitResponse.cc.
References CaloHitResponse::add(), cms::cuda::assert(), getReadoutFrameSize(), HighFidelityPreMix, mps_fire::i, CaloSamples::id(), triggerObjects_cff::id, nbins, BPHMonitor_cfi::photons, precisionTimedPhotons, and CaloSamples::size().
Referenced by counter.Counter::register().
|
virtual |
Definition at line 144 of file HcalSiPMHitResponse.cc.
References dt, getReadoutFrameSize(), triggerObjects_cff::id, LogDebug, nbins, HcalSimParameters::photoelectronsToAnalog(), BPHMonitor_cfi::photons, precisionTimedPhotons, CaloVSimParameterMap::simParameters(), HcalSimParameters::sipmDarkCurrentuA(), theDetIds, and CaloHitResponse::theParameterMap.
Referenced by finalizeHits().
|
overridevirtual |
Finalize hits.
Reimplemented from CaloHitResponse.
Definition at line 51 of file HcalSiPMHitResponse.cc.
References CaloHitResponse::add(), addPEnoise(), HighFidelityPreMix, mps_fire::i, CaloSamples::id(), runTheMatrix::keep, CaloHitResponse::keepBlank(), LogDebug, makeSiPMSignal(), precisionTimedPhotons, PreMixDigis, CaloSamples::setPreciseSize(), CaloSamples::size(), and findQualityFiles::size.
|
virtual |
Definition at line 41 of file HcalSiPMHitResponse.cc.
References CaloHitResponse::BUNCHSPACE, HighFidelityPreMix, HcalPulseShapes::invDeltaTSiPM_, PreMixDigis, hcalSimParameters_cfi::readoutFrameSize, CaloVSimParameterMap::simParameters(), and CaloHitResponse::theParameterMap.
Referenced by add(), addPEnoise(), and makeBlankSignal().
|
overridevirtual |
Initialize hits.
Reimplemented from CaloHitResponse.
Definition at line 39 of file HcalSiPMHitResponse.cc.
References precisionTimedPhotons.
|
virtual |
Definition at line 184 of file HcalSiPMHitResponse.cc.
References dt, getReadoutFrameSize(), nbins, hcalSimParameters_cfi::readoutFrameSize, mps_fire::result, CaloVSimParameterMap::simParameters(), and CaloHitResponse::theParameterMap.
Referenced by makeSiPMSignal().
|
protectedvirtual |
Definition at line 194 of file HcalSiPMHitResponse.cc.
References HcalSimParameters::doSiPMSmearing(), dt, MillePedeFileConverter_cfg::e, HighFidelityPreMix, HcalSiPM::hitCells(), LogDebug, makeBlankSignal(), nbins, HcalSimParameters::pixels(), CaloSamples::preciseAtMod(), CaloSamples::preciseSize(), PreMixDigis, pulse(), CaloSamples::resetPrecise(), HcalSiPM::setCrossTalk(), HcalSiPM::setNCells(), HcalSiPM::setSaturationPars(), HcalSiPM::setTau(), shapeMap, HcalSimParameters::signalShape(), CaloVSimParameterMap::simParameters(), HcalSimParameters::sipmCrossTalk(), HcalSimParameters::sipmNonlinearity(), HcalSimParameters::sipmTau(), CaloHitResponse::theParameterMap, and theSiPM.
Referenced by finalizeHits().
|
virtual |
Definition at line 271 of file HcalSiPMHitResponse.cc.
References theDetIds.
|
private |
Definition at line 58 of file HcalSiPMHitResponse.h.
Referenced by add(), addPEnoise(), makeBlankSignal(), and makeSiPMSignal().
|
private |
Definition at line 56 of file HcalSiPMHitResponse.h.
Referenced by add(), finalizeHits(), getReadoutFrameSize(), and makeSiPMSignal().
|
private |
Definition at line 58 of file HcalSiPMHitResponse.h.
Referenced by add().
|
private |
Definition at line 57 of file HcalSiPMHitResponse.h.
Referenced by add(), addPEnoise(), makeBlankSignal(), and makeSiPMSignal().
|
private |
Definition at line 60 of file HcalSiPMHitResponse.h.
Referenced by add(), addPEnoise(), finalizeHits(), and initializeHits().
|
private |
Definition at line 55 of file HcalSiPMHitResponse.h.
Referenced by finalizeHits(), getReadoutFrameSize(), and makeSiPMSignal().
|
private |
Definition at line 64 of file HcalSiPMHitResponse.h.
Referenced by HcalSiPMHitResponse(), and makeSiPMSignal().
|
private |
Definition at line 62 of file HcalSiPMHitResponse.h.
Referenced by addPEnoise(), and setDetIds().
|
private |
Definition at line 54 of file HcalSiPMHitResponse.h.
Referenced by makeSiPMSignal().