#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 | |
virtual void | add (const PCaloHit &hit) |
process a single SimHit More... | |
virtual void | add (const CaloSamples &signal) |
virtual void | finalizeHits () |
Finalize hits. More... | |
HcalSiPMHitResponse (const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes) | |
virtual void | initializeHits () |
Initialize hits. More... | |
virtual CaloSamples | makeBlankSignal (const DetId &detId) const |
virtual void | run (MixCollection< PCaloHit > &hits) |
Complete cell digitization. More... | |
virtual void | setRandomEngine (CLHEP::HepRandomEngine &engine) |
virtual | ~HcalSiPMHitResponse () |
Public Member Functions inherited from CaloHitResponse | |
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 ¶meters) const |
CaloHitResponse (const CaloVSimParameterMap *parameterMap, const CaloVShape *shape) | |
CaloHitResponse (const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes) | |
void | clear () |
frees up memory More... | |
CaloSamples * | findSignal (const DetId &detId) |
users can look for the signal for a given cell More... | |
void | initHBHEScale () |
virtual bool | keepBlank () const |
virtual CaloSamples | makeAnalogSignal (const PCaloHit &inputHit) 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... | |
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 | setHBHEScale (std::string &) |
void | setHitCorrection (const CaloVHitCorrection *hitCorrection) |
If you want to correct hits, for attenuation or delay, set this. More... | |
void | setHitFilter (const CaloVHitFilter *filter) |
if you want to reject hits, for example, from a certain subdetector, set this More... | |
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... | |
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 Member Functions | |
static double | Y11TimePDF (double t) |
Protected Types | |
typedef std::multiset < PCaloHit, PCaloHitCompareTimes > | SortedHitSet |
Protected Member Functions | |
virtual void | differentiatePreciseSamples (CaloSamples &samples, double diffNorm=1.0) const |
double | generatePhotonTime () const |
virtual CaloSamples | makeSiPMSignal (const DetId &id, const PCaloHit &hit, int &integral) const |
virtual CaloSamples | makeSiPMSignal (DetId const &id, photonTimeHist const &photons) const |
Private Attributes | |
photonTimeMap | precisionTimedPhotons |
float | theDiffNorm |
double | theRecoveryTime |
CLHEP::RandFlat * | theRndFlat |
HcalSiPM * | theSiPM |
HcalTDCParameters | theTDCParams |
int const | TIMEMULT |
float const | Y11MAX |
float const | Y11RANGE |
float const | Y11TIMETORISE |
Additional Inherited Members | |
Protected Attributes inherited from CaloHitResponse | |
bool | changeScale |
float | hcal_en_scale [100][72][4] |
AnalogSignalMap | theAnalogSignalMap |
const CaloGeometry * | theGeometry |
const CaloVHitCorrection * | theHitCorrection |
const CaloVHitFilter * | theHitFilter |
int | theMaxBunch |
int | theMinBunch |
const CaloVSimParameterMap * | theParameterMap |
const CaloVPECorrection * | thePECorrection |
double | thePhaseShift_ |
CLHEP::RandPoissonQ * | theRandPoisson |
const CaloVShape * | theShape |
const CaloShapes * | theShapes |
Definition at line 25 of file HcalSiPMHitResponse.h.
typedef std::vector<unsigned int> HcalSiPMHitResponse::photonTimeHist |
Definition at line 33 of file HcalSiPMHitResponse.h.
typedef std::map< DetId, photonTimeHist > HcalSiPMHitResponse::photonTimeMap |
Definition at line 34 of file HcalSiPMHitResponse.h.
|
protected |
Definition at line 53 of file HcalSiPMHitResponse.h.
HcalSiPMHitResponse::HcalSiPMHitResponse | ( | const CaloVSimParameterMap * | parameterMap, |
const CaloShapes * | shapes | ||
) |
Definition at line 16 of file HcalSiPMHitResponse.cc.
References theSiPM.
|
virtual |
|
virtual |
process a single SimHit
Reimplemented from CaloHitResponse.
Definition at line 67 of file HcalSiPMHitResponse.cc.
References CaloVHitFilter::accepts(), CaloHitResponse::analogSignalAmplitude(), CaloHitResponse::BUNCHSPACE, CaloVHitCorrection::delay(), HcalTDCParameters::deltaT(), PCaloHit::energy(), generatePhotonTime(), PCaloHit::id(), edm::isNotFinite(), LogDebug, HcalTDCParameters::nbins(), interactiveExample::photons, precisionTimedPhotons, CaloVSimParameterMap::simParameters(), findQualityFiles::size, CaloHitResponse::theHitCorrection, CaloHitResponse::theHitFilter, CaloHitResponse::theParameterMap, CaloHitResponse::thePhaseShift_, theTDCParams, PCaloHit::time(), cond::rpcobgas::time, TIMEMULT, CaloHitResponse::timeOfFlight(), tzero, and Y11TIMETORISE.
Referenced by finalizeHits(), and run().
|
virtual |
Definition at line 57 of file HcalSiPMHitResponse.cc.
References CaloHitResponse::findSignal(), CaloSamples::id(), and CaloHitResponse::theAnalogSignalMap.
|
protectedvirtual |
Definition at line 260 of file HcalSiPMHitResponse.cc.
References i, CaloSamples::preciseAtMod(), CaloSamples::preciseDeltaT(), and CaloSamples::preciseSize().
|
virtual |
Finalize hits.
Reimplemented from CaloHitResponse.
Definition at line 34 of file HcalSiPMHitResponse.cc.
References add(), i, CaloSamples::id(), keep, CaloHitResponse::keepBlank(), LogDebug, makeSiPMSignal(), precisionTimedPhotons, CaloSamples::size(), and findQualityFiles::size.
|
protected |
Definition at line 270 of file HcalSiPMHitResponse.cc.
References query::result, theRndFlat, Y11MAX, Y11RANGE, and Y11TimePDF().
Referenced by add().
|
virtual |
Initialize hits.
Reimplemented from CaloHitResponse.
Definition at line 30 of file HcalSiPMHitResponse.cc.
References precisionTimedPhotons.
|
virtual |
Definition at line 161 of file HcalSiPMHitResponse.cc.
References CaloSimParameters::binOfMaximum(), HcalTDCParameters::deltaT(), HcalTDCParameters::nbins(), Parameters::parameters, CaloSimParameters::readoutFrameSize(), query::result, CaloVSimParameterMap::simParameters(), CaloHitResponse::theParameterMap, and theTDCParams.
Referenced by makeSiPMSignal().
|
protectedvirtual |
Definition at line 171 of file HcalSiPMHitResponse.cc.
References CaloHitResponse::analogSignalAmplitude(), newFWLiteAna::bin, CaloSimParameters::binOfMaximum(), CaloHitResponse::BUNCHSPACE, CaloVHitCorrection::delay(), PCaloHit::energy(), HcalSiPM::hitCells(), makeBlankSignal(), interactiveExample::photons, HcalSimParameters::pixels(), query::result, HcalSiPM::setNCells(), PCaloHit::setTime(), CaloShapes::shape(), CaloVSimParameterMap::simParameters(), CaloSamples::size(), CaloHitResponse::theHitCorrection, CaloHitResponse::theParameterMap, CaloHitResponse::thePhaseShift_, CaloHitResponse::theShapes, theSiPM, PCaloHit::time(), CaloHitResponse::timeOfFlight(), CaloSimParameters::timePhase(), and tzero.
Referenced by finalizeHits(), and run().
|
protectedvirtual |
Definition at line 209 of file HcalSiPMHitResponse.cc.
References HcalTDCParameters::deltaT(), dt, HcalSiPM::hitCells(), makeBlankSignal(), HcalTDCParameters::nbins(), HcalSimParameters::pixels(), CaloSamples::preciseAtMod(), CaloSamples::preciseSize(), CaloSamples::resetPrecise(), HcalSiPM::setNCells(), HcalSiPM::setTau(), CaloVSimParameterMap::simParameters(), CaloHitResponse::theParameterMap, theSiPM, theTDCParams, and TIMEMULT.
|
virtual |
Complete cell digitization.
Reimplemented from CaloHitResponse.
Definition at line 121 of file HcalSiPMHitResponse.cc.
References CaloVHitFilter::accepts(), add(), HcalSiPMRecovery::addToHistory(), MixCollection< T >::begin(), HcalSiPMRecovery::clearHistory(), MixCollection< T >::end(), HcalSiPMRecovery::getIntegral(), i, edm::isNotFinite(), makeSiPMSignal(), CaloHitResponse::theHitFilter, CaloHitResponse::theMaxBunch, CaloHitResponse::theMinBunch, theRecoveryTime, and PCaloHit::time().
|
virtual |
Reimplemented from CaloHitResponse.
Definition at line 154 of file HcalSiPMHitResponse.cc.
References HcalSiPM::initRandomEngine(), CaloHitResponse::setRandomEngine(), theRndFlat, and theSiPM.
|
static |
Definition at line 279 of file HcalSiPMHitResponse.cc.
References create_public_lumi_plots::exp, and funct::pow().
Referenced by generatePhotonTime().
|
private |
Definition at line 72 of file HcalSiPMHitResponse.h.
Referenced by add(), finalizeHits(), and initializeHits().
|
private |
Definition at line 70 of file HcalSiPMHitResponse.h.
|
private |
Definition at line 65 of file HcalSiPMHitResponse.h.
Referenced by run().
|
private |
Definition at line 75 of file HcalSiPMHitResponse.h.
Referenced by generatePhotonTime(), setRandomEngine(), and ~HcalSiPMHitResponse().
|
private |
Definition at line 64 of file HcalSiPMHitResponse.h.
Referenced by HcalSiPMHitResponse(), makeSiPMSignal(), setRandomEngine(), and ~HcalSiPMHitResponse().
|
private |
Definition at line 73 of file HcalSiPMHitResponse.h.
Referenced by add(), makeBlankSignal(), and makeSiPMSignal().
|
private |
Definition at line 66 of file HcalSiPMHitResponse.h.
Referenced by add(), and makeSiPMSignal().
|
private |
Definition at line 68 of file HcalSiPMHitResponse.h.
Referenced by generatePhotonTime().
|
private |
Definition at line 67 of file HcalSiPMHitResponse.h.
Referenced by generatePhotonTime().
|
private |
Definition at line 69 of file HcalSiPMHitResponse.h.
Referenced by add().