1 #ifndef simcalorimetry_hgcalsimalgos_hgcalsinoisemap 2 #define simcalorimetry_hgcalsimalgos_hgcalsinoisemap 11 #include <unordered_map> 48 const std::vector<double> &parsThin,
49 const std::vector<double> &parsThick) {
78 int aimMIPtoADC = 10);
82 std::vector<double> &cceParam,
145 #include "HGCalSiNoiseMap.icc" std::vector< double > chargeAtFullScaleADCPerGain_
std::vector< std::vector< double > > & getCCEParam()
void setDefaultADCPulseShape(const hgc_digi::FEADCPulseShape &adcPulse)
bool ignoreGainDependentPulse_
std::vector< std::vector< double > > encsParam_
void setCachedOp(bool flag)
std::vector< double > ileakParam_
hgc_digi::FEADCPulseShape defaultADCPulse_
std::vector< double > & getIleakParam()
std::array< double, 3 > cellCapacitance_
void setCceParam(const std::vector< double > &parsFine, const std::vector< double > &parsThin, const std::vector< double > &parsThick)
set the cce parameters to use
std::vector< std::vector< double > > cceParam_
const SiCellOpCharacteristicsCore getSiCellOpCharacteristicsCore(const T &did)
std::map< uint32_t, SiCellOpCharacteristicsCore > siopCache_
std::vector< std::vector< double > > & getENCsParam()
const double unitToMicro_
double encCommonNoiseSub_
SiCellOpCharacteristicsCore()
SiCellOpCharacteristicsCore core
constexpr std::array< uint8_t, layerIndexSize > layer
derives from HGCalRadiation map to parse fluence parameters, provides Si-specific functions; see DN-1...
const hgc_digi::FEADCPulseShape & adcPulseForGain(GainRange_t gain)
std::array< double, 3 > & getCellVolume()
SiCellOpCharacteristics getSiCellOpCharacteristics(const T &did, GainRange_t gain=GainRange_t::AUTO, int aimMIPtoADC=10)
void setDoseMap(const std::string &, const unsigned int &)
overrides base class method with specifics for the configuration of the algo
double getTDCOnsetAuto(uint32_t gainIdx)
std::array< double, 3 > mipEqfC_
SiCellOpCharacteristics()
double getENCpad(double ileak)
std::vector< hgc_digi::FEADCPulseShape > adcPulses_
parses a txt file with dose/fluence parameters and provides functions for noise, etc.
std::array< double, 3 > & getCellCapacitance()
std::vector< double > lsbPerGain_
std::array< double, 3 > & getMipEqfC()
void setIleakParam(const std::vector< double > &pars)
set the ileak parameters to use
const double unitToMicroLog_
std::array< double, 3 > cellVolume_
std::vector< double > & getLSBPerGain()
const SiCellOpCharacteristicsCore getSiCellOpCharacteristicsCore(const T &did, GainRange_t gain, int aimMIPtoADC)
returns the charge collection efficiency and noise if gain range is set to auto, it will find the mos...
std::vector< double > & getMaxADCPerGain()
void setENCCommonNoiseSubScale(double val)
void setGeometry(const CaloSubdetectorGeometry *, GainRange_t gain=GainRange_t::AUTO, int aimMIPtoADC=10)
specialization of the base class method which sets the geometry so that it can instantiate an operati...
std::array< float, 6 > FEADCPulseShape