#include <Pixel3DDigitizerAlgorithm.h>
Public Member Functions | |
std::vector < DigitizerUtility::EnergyDepositUnit > | diffusion (const LocalPoint &pos, const float &ncarriers, const std::function< LocalVector(float, float)> &u_drift, const std::pair< float, float > pitches, const float &thickness) const |
std::vector < DigitizerUtility::SignalPoint > | drift (const PSimHit &hit, const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield, const std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const override |
std::vector < DigitizerUtility::SignalPoint > | drift (const PSimHit &hit, const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield, const std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points, bool diffusion_activated) const |
void | induce_signal (const PSimHit &hit, const size_t hitIndex, const uint32_t tofBin, const Phase2TrackerGeomDetUnit *pixdet, const std::vector< DigitizerUtility::SignalPoint > &collection_points) override |
void | init (const edm::EventSetup &es) override |
Pixel3DDigitizerAlgorithm (const edm::ParameterSet &conf, edm::ConsumesCollector iC) | |
bool | select_hit (const PSimHit &hit, double tCorr, double &sigScale) const override |
~Pixel3DDigitizerAlgorithm () override | |
Public Member Functions inherited from Phase2TrackerDigitizerAlgorithm | |
virtual void | accumulateSimHits (const std::vector< PSimHit >::const_iterator inputBegin, const std::vector< PSimHit >::const_iterator inputEnd, const size_t inputBeginGlobalIndex, const uint32_t tofBin, const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield) |
virtual void | digitize (const Phase2TrackerGeomDetUnit *pixdet, std::map< int, DigitizerUtility::DigiSimInfo > &digi_map, const TrackerTopology *tTopo) |
virtual void | initializeEvent (CLHEP::HepRandomEngine &eng) |
virtual bool | isAboveThreshold (const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr) const |
void | loadAccumulator (uint32_t detId, const std::map< int, float > &accumulator) |
Phase2TrackerDigitizerAlgorithm (const edm::ParameterSet &conf_common, const edm::ParameterSet &conf_specific, edm::ConsumesCollector iC) | |
virtual | ~Phase2TrackerDigitizerAlgorithm () |
Private Member Functions | |
const bool | is_inside_n_column_ (const LocalPoint &p, const float &sensor_thickness) const |
const bool | is_inside_ohmic_column_ (const LocalPoint &p, const std::pair< float, float > &pitch) const |
Private Attributes | |
const edm::ESGetToken < SiPixelFedCablingMap, SiPixelFedCablingMapRcd > | fedCablingMapToken_ |
const edm::ESGetToken < TrackerGeometry, TrackerDigiGeometryRecord > | geomToken_ |
const float | np_column_gap_ |
const float | np_column_radius_ |
const float | ohm_column_radius_ |
edm::ESGetToken < SiPixelQuality, SiPixelQualityRcd > | siPixelBadModuleToken_ |
edm::ESGetToken < SiPixelLorentzAngle, SiPixelLorentzAngleSimRcd > | siPixelLorentzAngleToken_ |
Definition at line 29 of file Pixel3DDigitizerAlgorithm.h.
Pixel3DDigitizerAlgorithm::Pixel3DDigitizerAlgorithm | ( | const edm::ParameterSet & | conf, |
edm::ConsumesCollector | iC | ||
) |
Definition at line 50 of file Pixel3DDigitizerAlgorithm.cc.
References Phase2TrackerDigitizerAlgorithm::addPixelInefficiency_, edm::ConsumesCollector::esConsumes(), Phase2TrackerDigitizerAlgorithm::pixelFlag_, siPixelBadModuleToken_, siPixelLorentzAngleToken_, Phase2TrackerDigitizerAlgorithm::theAdcFullScale_, Phase2TrackerDigitizerAlgorithm::theElectronPerADC_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_, Phase2TrackerDigitizerAlgorithm::tMax_, Phase2TrackerDigitizerAlgorithm::use_deadmodule_DB_, and Phase2TrackerDigitizerAlgorithm::use_LorentzAngle_DB_.
|
override |
Definition at line 84 of file Pixel3DDigitizerAlgorithm.cc.
std::vector< DigitizerUtility::EnergyDepositUnit > Pixel3DDigitizerAlgorithm::diffusion | ( | const LocalPoint & | pos, |
const float & | ncarriers, | ||
const std::function< LocalVector(float, float)> & | u_drift, | ||
const std::pair< float, float > | pitches, | ||
const float & | thickness | ||
) | const |
Definition at line 117 of file Pixel3DDigitizerAlgorithm.cc.
References funct::abs(), createTree::dd, mps_fire::i, LogDebug, hcaltb::N_SIGMA, mathSSE::sqrt(), HcalDetIdTransform::transform(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by drift().
|
overridevirtual |
Reimplemented from Phase2TrackerDigitizerAlgorithm.
Definition at line 214 of file Pixel3DDigitizerAlgorithm.cc.
Referenced by drift().
std::vector< DigitizerUtility::SignalPoint > Pixel3DDigitizerAlgorithm::drift | ( | const PSimHit & | hit, |
const Phase2TrackerGeomDetUnit * | pixdet, | ||
const GlobalVector & | bfield, | ||
const std::vector< DigitizerUtility::EnergyDepositUnit > & | ionization_points, | ||
bool | diffusion_activated | ||
) | const |
Definition at line 221 of file Pixel3DDigitizerAlgorithm.cc.
References Surface::bounds(), funct::cos(), diffusion(), drift(), dataset::end, funct::exp(), is_inside_n_column_(), is_inside_ohmic_column_(), Topology::localPosition(), LogDebug, PixelTopology::ncolumns(), np_column_radius_, PixelTopology::nrows(), PV3DBase< T, PVType, FrameType >::perp(), PixelTopology::pitch(), PixelTopology::pixel(), GloballyPositioned< T >::position(), Phase2TrackerDigitizerAlgorithm::pseudoRadDamage_, Phase2TrackerDigitizerAlgorithm::pseudoRadDamageRadius_, funct::sin(), GeomDet::specificSurface(), PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), GeomDet::surface(), theta(), Bounds::thickness(), TrackerMaterial_cfi::thickness, PSimHit::tof(), x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
overridevirtual |
Reimplemented from Phase2TrackerDigitizerAlgorithm.
Definition at line 378 of file Pixel3DDigitizerAlgorithm.cc.
References Phase2TrackerDigitizerAlgorithm::_signal, c_inv, GeomDet::geographicalId(), PSimHit::localPosition(), LogDebug, mag(), Phase2TrackerDigitizerAlgorithm::makeDigiSimLinks_, Phase2TrackerDigitizerAlgorithm::pixelFlag_, Phase2TrackerDigi::pixelToChannel(), pixelgpudetails::pixelToChannel(), PixelDigi::pixelToChannel(), DiDispStaMuonMonitor_cfi::pt, DetId::rawId(), GeomDet::surface(), PSimHit::tof(), and Surface::toGlobal().
|
overridevirtual |
Implements Phase2TrackerDigitizerAlgorithm.
Definition at line 27 of file Pixel3DDigitizerAlgorithm.cc.
References edm::EventSetup::getData().
|
private |
Definition at line 94 of file Pixel3DDigitizerAlgorithm.cc.
References np_column_gap_, np_column_radius_, PV3DBase< T, PVType, FrameType >::perp(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by drift().
|
private |
Definition at line 99 of file Pixel3DDigitizerAlgorithm.cc.
References ohm_column_radius_.
Referenced by drift().
|
overridevirtual |
Reimplemented from Phase2TrackerDigitizerAlgorithm.
Definition at line 89 of file Pixel3DDigitizerAlgorithm.cc.
References Phase2TrackerDigitizerAlgorithm::theTofLowerCut_, Phase2TrackerDigitizerAlgorithm::theTofUpperCut_, and PSimHit::tof().
|
private |
Definition at line 72 of file Pixel3DDigitizerAlgorithm.h.
|
private |
Definition at line 73 of file Pixel3DDigitizerAlgorithm.h.
|
private |
Definition at line 68 of file Pixel3DDigitizerAlgorithm.h.
Referenced by is_inside_n_column_().
|
private |
Definition at line 65 of file Pixel3DDigitizerAlgorithm.h.
Referenced by drift(), and is_inside_n_column_().
|
private |
Definition at line 66 of file Pixel3DDigitizerAlgorithm.h.
Referenced by is_inside_ohmic_column_().
|
private |
Definition at line 70 of file Pixel3DDigitizerAlgorithm.h.
Referenced by Pixel3DDigitizerAlgorithm().
|
private |
Definition at line 71 of file Pixel3DDigitizerAlgorithm.h.
Referenced by Pixel3DDigitizerAlgorithm().