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.) | |
virtual 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) |
virtual double | totalCharge () const |
virtual double | totalCharge (double time) const |
virtual | ~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) |
double | Borel (unsigned int n, double lambda, unsigned int k) |
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< double > | 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 50 of file HcalSiPM.h.
|
protected |
Definition at line 49 of file HcalSiPM.h.
HcalSiPM::HcalSiPM | ( | int | nCells = 1 , |
double | tau = 15. |
||
) |
Definition at line 14 of file HcalSiPM.cc.
References resetSiPM(), setTau(), and theCellCount.
|
virtual |
|
protected |
Definition at line 82 of file HcalSiPM.cc.
References BorelCDF(), LogDebug, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, mitigatedMETSequence_cff::U, and up.
Referenced by hitCells().
|
protected |
Definition at line 29 of file HcalSiPM.cc.
References b, JetChargeProducer_cfi::exp, cmsBatch::log, and funct::pow().
Referenced by BorelCDF().
|
protected |
Definition at line 47 of file HcalSiPM.cc.
References b, Borel(), borelcdfs, MillePedeFileConverter_cfg::e, kinem::EPSILON, plotBeamSpotDB::first, mps_fire::i, and theCrossTalk.
Referenced by addCrossTalkCells(), and setCrossTalk().
|
protected |
Definition at line 183 of file HcalSiPM.cc.
References JetChargeProducer_cfi::exp, mps_fire::result, and theTauInv.
Referenced by hitCells(), and totalCharge().
|
inline |
Definition at line 38 of file HcalSiPM.h.
|
inline |
Definition at line 36 of file HcalSiPM.h.
|
inline |
Definition at line 37 of file HcalSiPM.h.
|
inline |
|
virtual |
Definition at line 101 of file HcalSiPM.cc.
References addCrossTalkCells(), cellCharge(), digitizers_cfi::pixel, theCellCount, theCrossTalk, theLastHitTime, theSiPM, theTau, and theTempDep.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
|
inline |
Definition at line 28 of file HcalSiPM.h.
References lumiContext::fill.
Referenced by HcalSiPM(), and setNCells().
void HcalSiPM::setCrossTalk | ( | double | xtalk | ) |
Definition at line 158 of file HcalSiPM.cc.
References BorelCDF(), borelcdfs, gen::k, theCrossTalk, and hgcalDigitizer_cfi::xTalk.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setNCells | ( | int | nCells | ) |
Definition at line 145 of file HcalSiPM.cc.
References resetSiPM(), theCellCount, and theSiPM.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setSaturationPars | ( | const std::vector< float > & | pars | ) |
Definition at line 190 of file HcalSiPM.cc.
References nonlin.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTau | ( | double | tau | ) |
Definition at line 152 of file HcalSiPM.cc.
References metsig::tau, theTau, and theTauInv.
Referenced by HcalSiPM(), and HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTemperatureDependence | ( | double | tempDep | ) |
|
inlinevirtual |
Definition at line 33 of file HcalSiPM.h.
References ntuplemaker::time, and totalCharge().
Referenced by totalCharge().
|
virtual |
Definition at line 134 of file HcalSiPM.cc.
References cellCharge(), mps_fire::i, theCellCount, and theSiPM.
|
protected |
Definition at line 71 of file HcalSiPM.h.
Referenced by BorelCDF(), and setCrossTalk().
|
protected |
Definition at line 69 of file HcalSiPM.h.
Referenced by setSaturationPars(), and ~HcalSiPM().
|
protected |
Definition at line 61 of file HcalSiPM.h.
Referenced by HcalSiPM(), hitCells(), setNCells(), and totalCharge().
|
protected |
Definition at line 65 of file HcalSiPM.h.
Referenced by BorelCDF(), hitCells(), and setCrossTalk().
|
protected |
Definition at line 67 of file HcalSiPM.h.
Referenced by hitCells().
|
protected |
Definition at line 62 of file HcalSiPM.h.
Referenced by hitCells(), setNCells(), and totalCharge().
|
protected |
Definition at line 63 of file HcalSiPM.h.
Referenced by hitCells(), and setTau().
|
protected |
Definition at line 64 of file HcalSiPM.h.
Referenced by cellCharge(), and setTau().
|
protected |
Definition at line 66 of file HcalSiPM.h.
Referenced by hitCells(), and setTemperatureDependence().