A general implementation for the response of a SiPM. More...
#include <HcalSiPM.h>
Public Member Functions | |
double | getCrossTalk () const |
int | getNCells () const |
double | getTau () const |
double | getTempDep () const |
HcalSiPM (int nCells=1, double tau=15.) | |
double | hitCells (CLHEP::HepRandomEngine *, unsigned int pes, double tempDiff=0., double photonTime=0.) |
void | resetSiPM () |
void | setCrossTalk (double xtalk) |
void | setNCells (int nCells) |
void | setSaturationPars (const std::vector< float > &pars) |
void | setTau (double tau) |
void | setTemperatureDependence (double tempDep) |
double | totalCharge () const |
double | totalCharge (double time) const |
~HcalSiPM () | |
Protected Types | |
typedef std::unordered_map< unsigned int, cdfpair > | cdfmap |
typedef std::pair< unsigned int, std::vector< double > > | cdfpair |
Protected Member Functions | |
unsigned int | addCrossTalkCells (CLHEP::HepRandomEngine *engine, unsigned int in_pes) |
const cdfpair & | BorelCDF (unsigned int k) |
double | cellCharge (double deltaTime) const |
Protected Attributes | |
cdfmap | borelcdfs |
HcalSiPMnonlinearity * | nonlin |
unsigned int | theCellCount |
double | theCrossTalk |
double | theLastHitTime |
std::vector< float > | theSiPM |
double | theTau |
double | theTauInv |
double | theTempDep |
A general implementation for the response of a SiPM.
Definition at line 22 of file HcalSiPM.h.
|
protected |
Definition at line 47 of file HcalSiPM.h.
|
protected |
Definition at line 46 of file HcalSiPM.h.
HcalSiPM::HcalSiPM | ( | int | nCells = 1 , |
double | tau = 15. |
||
) |
Definition at line 14 of file HcalSiPM.cc.
References cms::cuda::assert(), setTau(), and theCellCount.
HcalSiPM::~HcalSiPM | ( | ) |
|
protected |
Definition at line 119 of file HcalSiPM.cc.
References BorelCDF(), LogDebug, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, mitigatedMETSequence_cff::U, and up.
Referenced by hitCells().
|
protected |
Definition at line 80 of file HcalSiPM.cc.
References borelcdfs, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), MillePedeFileConverter_cfg::e, kinem::EPSILON, dqmdumpme::first, mps_fire::i, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, dqmdumpme::k, and theCrossTalk.
Referenced by addCrossTalkCells(), and setCrossTalk().
|
protected |
Definition at line 217 of file HcalSiPM.cc.
References JetChargeProducer_cfi::exp, mps_fire::result, and theTauInv.
Referenced by hitCells(), and totalCharge().
|
inline |
|
inline |
|
inline |
|
inline |
double HcalSiPM::hitCells | ( | CLHEP::HepRandomEngine * | engine, |
unsigned int | pes, | ||
double | tempDiff = 0. , |
||
double | photonTime = 0. |
||
) |
Definition at line 135 of file HcalSiPM.cc.
References addCrossTalkCells(), cellCharge(), muonClassificationByHits_cfi::pixel, theCellCount, theCrossTalk, theLastHitTime, theSiPM, theTau, and theTempDep.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
|
inline |
Definition at line 28 of file HcalSiPM.h.
References ntuplemaker::fill, and theSiPM.
Referenced by setNCells().
void HcalSiPM::setCrossTalk | ( | double | xtalk | ) |
Definition at line 192 of file HcalSiPM.cc.
References BorelCDF(), borelcdfs, dqmdumpme::k, theCrossTalk, and hgchebackDigitizer_cfi::xTalk.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setNCells | ( | int | nCells | ) |
Definition at line 178 of file HcalSiPM.cc.
References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::nCells, resetSiPM(), theCellCount, and theSiPM.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setSaturationPars | ( | const std::vector< float > & | pars | ) |
Definition at line 226 of file HcalSiPM.cc.
References nonlin.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTau | ( | double | tau | ) |
Definition at line 184 of file HcalSiPM.cc.
References metsig::tau, theTau, and theTauInv.
Referenced by HcalSiPM(), and HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTemperatureDependence | ( | double | tempDep | ) |
|
inline |
Definition at line 31 of file HcalSiPM.h.
References theLastHitTime, and totalCharge().
Referenced by totalCharge().
double HcalSiPM::totalCharge | ( | double | time | ) | const |
Definition at line 167 of file HcalSiPM.cc.
References cellCharge(), mps_fire::i, theCellCount, theSiPM, hcalRecHitTable_cff::time, and compareTotals::tot.
|
protected |
Definition at line 67 of file HcalSiPM.h.
Referenced by BorelCDF(), and setCrossTalk().
|
protected |
Definition at line 65 of file HcalSiPM.h.
Referenced by setSaturationPars(), and ~HcalSiPM().
|
protected |
Definition at line 57 of file HcalSiPM.h.
Referenced by getNCells(), HcalSiPM(), hitCells(), setNCells(), and totalCharge().
|
protected |
Definition at line 61 of file HcalSiPM.h.
Referenced by BorelCDF(), getCrossTalk(), hitCells(), and setCrossTalk().
|
protected |
Definition at line 63 of file HcalSiPM.h.
Referenced by hitCells(), and totalCharge().
|
protected |
Definition at line 58 of file HcalSiPM.h.
Referenced by hitCells(), resetSiPM(), setNCells(), and totalCharge().
|
protected |
Definition at line 59 of file HcalSiPM.h.
Referenced by getTau(), hitCells(), and setTau().
|
protected |
Definition at line 60 of file HcalSiPM.h.
Referenced by cellCharge(), and setTau().
|
protected |
Definition at line 62 of file HcalSiPM.h.
Referenced by getTempDep(), hitCells(), and setTemperatureDependence().