16 if (use_LorentzAngle_DB_) {
17 siPhase2OTLorentzAngle_ = &es.
getData(siPhase2OTLorentzAngleToken_);
20 geom_ = &es.
getData(geomToken_);
25 conf.getParameter<
ParameterSet>(
"PSPDigitizerAlgorithm"),
28 biasRailInefficiencyFlag_(
29 conf.getParameter<
ParameterSet>(
"PSPDigitizerAlgorithm").getParameter<
int>(
"BiasRailInefficiencyFlag")) {
33 LogDebug(
"PSPDigitizerAlgorithm") <<
"Algorithm constructed " 34 <<
"Configuration parameters:" 35 <<
"Threshold/Gain = " 49 double toa =
hit.tof() - tCorr;
64 constexpr
float implant = 0.1467;
65 constexpr
float bRail = 0.00375;
67 constexpr
float block_len = 16 * implant + 15.5 * bRail;
68 constexpr
float block_unit = implant + bRail;
69 float yin =
hit.entryPoint().
y() + block_len;
70 float yout =
hit.exitPoint().
y() + block_len;
78 (std::fmod(yin, block_unit) > implant || std::fmod(yout, block_unit) > implant))
const float theElectronPerADC_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void init(const edm::EventSetup &es) override
const float theThresholdInE_Endcap_
edm::ESGetToken< SiPhase2OuterTrackerLorentzAngle, SiPhase2OuterTrackerLorentzAngleSimRcd > siPhase2OTLorentzAngleToken_
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) const override
const bool use_LorentzAngle_DB_
bool isAboveThreshold(const digitizerUtility::SimHitInfo *hitInfo, float charge, float thr) const override
const bool addPixelInefficiency_
const float theThresholdInE_Barrel_
PSPDigitizerAlgorithm(const edm::ParameterSet &conf, edm::ConsumesCollector iC)
const float theTofLowerCut_
~PSPDigitizerAlgorithm() override
const int biasRailInefficiencyFlag_
const int theAdcFullScale_
bool isInBiasRailRegion(const PSimHit &hit) const
const float theTofUpperCut_
void module_killing_DB(const Phase2TrackerGeomDetUnit *pixdet) override