12 #include "CLHEP/Random/RandGaussQ.h" 13 #include "CLHEP/Random/RandFlat.h" 50 if (use_ineff_from_db_)
51 theSiPixelGainCalibrationService_->setESObjects(es);
53 if (use_deadmodule_DB_)
56 if (use_LorentzAngle_DB_)
66 conf.getParameter<
ParameterSet>(
"PixelDigitizerAlgorithm"),
70 LogInfo(
"PixelDigitizerAlgorithm") <<
"Algorithm constructed " 71 <<
"Configuration parameters:" 72 <<
"Threshold/Gain = " 73 <<
"threshold in electron Endcap = " 75 <<
"threshold in electron Barrel = " 78 <<
" The delta cut-off is set to " <<
tMax 82 LogDebug(
"PixelDigitizerAlgorithm") <<
"Algorithm deleted";
85 std::vector<PSimHit>::const_iterator inputEnd,
86 const size_t inputBeginGlobalIndex,
87 const unsigned int tofBin,
93 size_t simHitGlobalIndex = inputBeginGlobalIndex;
94 for (
auto it = inputBegin; it != inputEnd; ++it, ++simHitGlobalIndex) {
96 if ((*it).detUnitId() != detId)
100 << (*it).particleType() <<
" " << (*it).pabs() <<
" " 101 << (*it).energyLoss() <<
" " << (*it).tof() <<
" " 102 << (*it).trackId() <<
" " << (*it).processType() <<
" " 104 << (*it).entryPoint() <<
" " << (*it).exitPoint();
106 std::vector<DigitizerUtility::EnergyDepositUnit> ionization_points;
107 std::vector<DigitizerUtility::SignalPoint> collection_points;
114 drift (*it, pixdet, bfield, ionization_points, collection_points);
117 induce_signal(*it, simHitGlobalIndex, tofBin, pixdet, collection_points);
void primary_ionization(const PSimHit &hit, std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
const float theThresholdInE_Endcap
void init(const edm::EventSetup &es) override
const float theElectronPerADC
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
void drift(const PSimHit &hit, const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield, const std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points, std::vector< DigitizerUtility::SignalPoint > &collection_points) const
void accumulateSimHits(const std::vector< PSimHit >::const_iterator inputBegin, const std::vector< PSimHit >::const_iterator inputEnd, const size_t inputBeginGlobalIndex, const unsigned int tofBin, const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield) override
const float theTofUpperCut
const Plane & surface() const
The nominal surface of the GeomDet.
uint32_t rawId() const
get the raw id
const float theThresholdInE_Barrel
PixelDigitizerAlgorithm(const edm::ParameterSet &conf, CLHEP::HepRandomEngine &)
const int theAdcFullScale
DetId geographicalId() const
The label of this GeomDet.
void induce_signal(const PSimHit &hit, const size_t hitIndex, const unsigned int tofBin, const Phase2TrackerGeomDetUnit *pixdet, const std::vector< DigitizerUtility::SignalPoint > &collection_points)
const bool AddPixelInefficiency
const float theTofLowerCut
~PixelDigitizerAlgorithm() override