CMS 3D CMS Logo

Phase2TrackerDigitizerAlgorithm.h
Go to the documentation of this file.
1 #ifndef __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizerAlgorithm_h
2 #define __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizerAlgorithm_h
3 
4 #include <map>
5 #include <memory>
6 #include <vector>
7 
15 
18 
19 // Units and Constants
21 #include "CLHEP/Units/GlobalPhysicalConstants.h"
22 #include "CLHEP/Units/GlobalSystemOfUnits.h"
23 
24 // forward declarations
25 // For the random numbers
26 namespace CLHEP {
27  class HepRandomEngine;
28  class RandGaussQ;
29  class RandFlat;
30 } // namespace CLHEP
31 
32 namespace edm {
33  class EventSetup;
34  class ParameterSet;
35 } // namespace edm
36 
37 class DetId;
43 class SiPixelQuality;
44 class TrackerGeometry;
45 class TrackerTopology;
46 
47 // REMEMBER CMS conventions:
48 // -- Energy: GeV
49 // -- momentum: GeV/c
50 // -- mass: GeV/c^2
51 // -- Distance, position: cm
52 // -- Time: ns
53 // -- Angles: radian
54 // Some constants in convenient units
55 constexpr double c_cm_ns = CLHEP::c_light * CLHEP::ns / CLHEP::cm;
56 constexpr double c_inv = 1.0 / c_cm_ns;
57 
59 public:
60  Phase2TrackerDigitizerAlgorithm(const edm::ParameterSet& conf_common, const edm::ParameterSet& conf_specific);
62 
63  // initialization that cannot be done in the constructor
64  virtual void init(const edm::EventSetup& es) = 0;
65  virtual void initializeEvent(CLHEP::HepRandomEngine& eng);
66 
67  // run the algorithm to digitize a single det
68  virtual void accumulateSimHits(const std::vector<PSimHit>::const_iterator inputBegin,
69  const std::vector<PSimHit>::const_iterator inputEnd,
70  const size_t inputBeginGlobalIndex,
71  const uint32_t tofBin,
72  const Phase2TrackerGeomDetUnit* pixdet,
73  const GlobalVector& bfield) = 0;
74  virtual void digitize(const Phase2TrackerGeomDetUnit* pixdet,
75  std::map<int, DigitizerUtility::DigiSimInfo>& digi_map,
76  const TrackerTopology* tTopo);
77  virtual bool select_hit(const PSimHit& hit, double tCorr, double& sigScale) { return true; }
78  virtual bool isAboveThreshold(const DigitizerUtility::SimHitInfo* hitInfo, float charge, float thr) { return true; }
79 
80  // For premixing
81  void loadAccumulator(uint32_t detId, const std::map<int, float>& accumulator);
82 
83 protected:
84  // Accessing Lorentz angle from DB:
86 
87  // Accessing Dead pixel modules from DB:
89 
90  // Accessing Map and Geom:
95  std::vector<double> barrel_efficiencies;
96  std::vector<double> endcap_efficiencies;
97  };
98 
99  // Internal type aliases
100  using signal_map_type = std::map<int, DigitizerUtility::Amplitude, std::less<int> >;
101  using signalMaps = std::map<uint32_t, signal_map_type>;
103  using Parameters = std::vector<edm::ParameterSet>;
104 
105  // Contains the accumulated hit info.
107 
108  const bool makeDigiSimLinks_;
109 
110  const bool use_ineff_from_db_;
111  const bool use_module_killing_; // remove or not the dead pixel modules
112  const bool use_deadmodule_DB_; // if we want to get dead pixel modules from the DataBase.
113  const bool use_LorentzAngle_DB_; // if we want to get Lorentz angle from the DataBase.
114 
116 
117  // Variables
118  // external parameters
119  // go from Geant energy GeV to number of electrons
120  const float GeVperElectron_; // 3.7E-09
121 
122  //-- drift
123  const bool alpha2Order_; // Switch on/off of E.B effect
124  const bool addXtalk_;
125  const float interstripCoupling_;
126  const float Sigma0_; //=0.0007 // Charge diffusion in microns for 300 micron Si
127  const float SigmaCoeff_; // delta in the diffusion across the strip pitch
128 
129  //-- induce_signal
130  const float clusterWidth_; // Gaussian charge cutoff width in sigma units
131 
132  //-- make_digis
133  const int thePhase2ReadoutMode_; // Flag to decide readout mode (digital/Analog dual slope etc.)
134  const float theElectronPerADC_; // Gain, number of electrons per adc count.
135  const int theAdcFullScale_; // Saturation count, 255=8bit.
136  const float theNoiseInElectrons_; // Noise (RMS) in units of electrons.
137  const float theReadoutNoise_; // Noise of the readount chain in elec,
138 
139  // inludes DCOL-Amp,TBM-Amp, Alt, AOH,OptRec.
140  const float theThresholdInE_Endcap_; // threshold in electrons Endcap.
141  const float theThresholdInE_Barrel_; // threshold in electrons Barrel.
142 
145 
148 
149  const float theTofLowerCut_; // Cut on the particle TOF
150  const float theTofUpperCut_; // Cut on the particle TOF
151  const float tanLorentzAnglePerTesla_Endcap_; //FPix Lorentz angle tangent per Tesla
152  const float tanLorentzAnglePerTesla_Barrel_; //BPix Lorentz angle tangent per Tesla
153 
154  // -- add_noise
155  const bool addNoise_;
156  const bool addNoisyPixels_;
157  const bool fluctuateCharge_;
158 
159  //-- pixel efficiency
160  const bool addPixelInefficiency_; // bool to read in inefficiencies
161 
163 
164  // pseudoRadDamage
165  const double pseudoRadDamage_; // Decrease the amount off freed charge that reaches the collector
166  const double pseudoRadDamageRadius_; // Only apply pseudoRadDamage to pixels with radius<=pseudoRadDamageRadius
167 
168  // The PDTable
169  // HepPDTable *particleTable;
170  // ParticleDataTable *particleTable;
171 
172  //-- charge fluctuation
173  const double tMax_; // The delta production cut, should be as in OSCAR = 30keV
174 
175  // Bad Pixels to be killed
177 
178  // The eloss fluctuation class from G4. Is the right place?
179  const std::unique_ptr<SiG4UniversalFluctuation> fluctuate_; // make a pointer
180  const std::unique_ptr<GaussianTailNoiseGenerator> theNoiser_;
181 
182  //-- additional member functions
183  // Private methods
184  void primary_ionization(const PSimHit& hit,
185  std::vector<DigitizerUtility::EnergyDepositUnit>& ionization_points) const;
186  void drift(const PSimHit& hit,
187  const Phase2TrackerGeomDetUnit* pixdet,
188  const GlobalVector& bfield,
189  const std::vector<DigitizerUtility::EnergyDepositUnit>& ionization_points,
190  std::vector<DigitizerUtility::SignalPoint>& collection_points) const;
191  void induce_signal(const PSimHit& hit,
192  const size_t hitIndex,
193  const uint32_t tofBin,
194  const Phase2TrackerGeomDetUnit* pixdet,
195  const std::vector<DigitizerUtility::SignalPoint>& collection_points);
196  void fluctuateEloss(int particleId,
197  float momentum,
198  float eloss,
199  float length,
200  int NumberOfSegments,
201  std::vector<float>& elossVector) const;
202  virtual void add_noise(const Phase2TrackerGeomDetUnit* pixdet);
203  virtual void add_cross_talk(const Phase2TrackerGeomDetUnit* pixdet);
204  virtual void add_noisy_cells(const Phase2TrackerGeomDetUnit* pixdet, float thePixelThreshold);
205  virtual void pixel_inefficiency(const SubdetEfficiencies& eff,
206  const Phase2TrackerGeomDetUnit* pixdet,
207  const TrackerTopology* tTopo);
208 
209  virtual void pixel_inefficiency_db(uint32_t detID);
210 
211  // access to the gain calibration payloads in the db. Only gets initialized if check_dead_pixels_ is set to true.
212  const std::unique_ptr<SiPixelGainCalibrationOfflineSimService> theSiPixelGainCalibrationService_;
214  const GlobalVector& bfield,
215  const DetId& detId) const;
216 
217  // remove dead modules using the list in the configuration file PixelDigi_cfi.py
218  virtual void module_killing_conf(uint32_t detID);
219  virtual void module_killing_DB(
220  const Phase2TrackerGeomDetUnit* pixdet); // remove dead modules uisng the list in the DB
221 
223 
224  // For random numbers
225  std::unique_ptr<CLHEP::RandGaussQ> gaussDistribution_;
226 
227  // Threshold gaussian smearing:
228  std::unique_ptr<CLHEP::RandGaussQ> smearedThreshold_Endcap_;
229  std::unique_ptr<CLHEP::RandGaussQ> smearedThreshold_Barrel_;
230 
231  //for engine passed into the constructor from Digitizer
232  CLHEP::HepRandomEngine* rengine_;
233 
234  // convert signal in electrons to ADC counts
235  int convertSignalToAdc(uint32_t detID, float signal_in_elec, float threshold);
236 
237  double calcQ(float x) const {
238  auto xx = std::min(0.5f * x * x, 12.5f);
239  return 0.5 * (1.0 - std::copysign(std::sqrt(1.f - unsafe_expf<4>(-xx * (1.f + 0.2733f / (1.f + 0.147f * xx)))), x));
240  }
242 };
243 #endif
Vector3DBase
Definition: Vector3DBase.h:8
GloballyPositioned
Definition: GloballyPositioned.h:18
Phase2TrackerDigitizerAlgorithm::addXtalk_
const bool addXtalk_
Definition: Phase2TrackerDigitizerAlgorithm.h:124
Phase2TrackerDigitizerAlgorithm::loadAccumulator
void loadAccumulator(uint32_t detId, const std::map< int, float > &accumulator)
Definition: Phase2TrackerDigitizerAlgorithm.cc:881
Phase2TrackerDigitizerAlgorithm::theNoiser_
const std::unique_ptr< GaussianTailNoiseGenerator > theNoiser_
Definition: Phase2TrackerDigitizerAlgorithm.h:180
Phase2TrackerDigitizerAlgorithm::signal_map_type
std::map< int, DigitizerUtility::Amplitude, std::less< int > > signal_map_type
Definition: Phase2TrackerDigitizerAlgorithm.h:100
Phase2TrackerDigitizerAlgorithm::~Phase2TrackerDigitizerAlgorithm
virtual ~Phase2TrackerDigitizerAlgorithm()
Definition: Phase2TrackerDigitizerAlgorithm.cc:169
Phase2TrackerDigitizerAlgorithm::calcQ
double calcQ(float x) const
Definition: Phase2TrackerDigitizerAlgorithm.h:237
Phase2TrackerDigitizerAlgorithm::makeDigiSimLinks_
const bool makeDigiSimLinks_
Definition: Phase2TrackerDigitizerAlgorithm.h:108
Phase2TrackerDigitizerAlgorithm::addNoisyPixels_
const bool addNoisyPixels_
Definition: Phase2TrackerDigitizerAlgorithm.h:156
Phase2TrackerDigitizerAlgorithm::add_noise
virtual void add_noise(const Phase2TrackerGeomDetUnit *pixdet)
Definition: Phase2TrackerDigitizerAlgorithm.cc:548
Phase2TrackerDigitizerAlgorithm::fluctuateCharge_
const bool fluctuateCharge_
Definition: Phase2TrackerDigitizerAlgorithm.h:157
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_
const float theThresholdInE_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:141
Phase2TrackerDigitizerAlgorithm::pseudoRadDamage_
const double pseudoRadDamage_
Definition: Phase2TrackerDigitizerAlgorithm.h:165
Phase2TrackerDigitizerAlgorithm::theThresholdSmearing_Barrel_
const double theThresholdSmearing_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:144
Phase2TrackerDigitizerAlgorithm::subdetEfficiencies_
const SubdetEfficiencies subdetEfficiencies_
Definition: Phase2TrackerDigitizerAlgorithm.h:222
ESHandle.h
Phase2TrackerDigitizerAlgorithm::pixel_inefficiency_db
virtual void pixel_inefficiency_db(uint32_t detID)
Definition: Phase2TrackerDigitizerAlgorithm.cc:767
Phase2TrackerDigitizerAlgorithm::theTofUpperCut_
const float theTofUpperCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:150
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
Phase2TrackerDigitizerAlgorithm::SubdetEfficiencies
Definition: Phase2TrackerDigitizerAlgorithm.h:93
min
T min(T a, T b)
Definition: MathUtil.h:58
Phase2TrackerDigitizerAlgorithm::theNoiseInElectrons_
const float theNoiseInElectrons_
Definition: Phase2TrackerDigitizerAlgorithm.h:136
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
Phase2TrackerDigitizerAlgorithm::geom_
edm::ESHandle< TrackerGeometry > geom_
Definition: Phase2TrackerDigitizerAlgorithm.h:92
Phase2TrackerDigitizerAlgorithm::addThresholdSmearing_
const bool addThresholdSmearing_
Definition: Phase2TrackerDigitizerAlgorithm.h:162
c_cm_ns
constexpr double c_cm_ns
Definition: Phase2TrackerDigitizerAlgorithm.h:55
GaussianTailNoiseGenerator
Definition: GaussianTailNoiseGenerator.h:24
Phase2TrackerDigitizerAlgorithm::use_module_killing_
const bool use_module_killing_
Definition: Phase2TrackerDigitizerAlgorithm.h:111
Phase2TrackerDigitizerAlgorithm::Sigma0_
const float Sigma0_
Definition: Phase2TrackerDigitizerAlgorithm.h:126
Phase2TrackerDigitizerAlgorithm::accumulateSimHits
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)=0
Phase2TrackerDigitizerAlgorithm::DriftDirection
LocalVector DriftDirection(const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield, const DetId &detId) const
Definition: Phase2TrackerDigitizerAlgorithm.cc:714
Phase2TrackerDigitizerAlgorithm::fedCablingMap_
edm::ESHandle< SiPixelFedCablingMap > fedCablingMap_
Definition: Phase2TrackerDigitizerAlgorithm.h:91
Phase2TrackerDigitizerAlgorithm::use_LorentzAngle_DB_
const bool use_LorentzAngle_DB_
Definition: Phase2TrackerDigitizerAlgorithm.h:113
Phase2TrackerDigitizerAlgorithm::module_killing_conf
virtual void module_killing_conf(uint32_t detID)
Definition: Phase2TrackerDigitizerAlgorithm.cc:788
Phase2TrackerDigitizerAlgorithm::theThresholdSmearing_Endcap_
const double theThresholdSmearing_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:143
PixelDigi.h
DDAxes::x
Phase2TrackerDigitizerAlgorithm::SubdetEfficiencies::SubdetEfficiencies
SubdetEfficiencies(const edm::ParameterSet &conf)
Definition: Phase2TrackerDigitizerAlgorithm.cc:173
Phase2TrackerDigitizerAlgorithm::alpha2Order_
const bool alpha2Order_
Definition: Phase2TrackerDigitizerAlgorithm.h:123
Phase2TrackerDigitizerAlgorithm::theTofLowerCut_
const float theTofLowerCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:149
DetId
Definition: DetId.h:17
Phase2TrackerDigitizerAlgorithm::module_killing_DB
virtual void module_killing_DB(const Phase2TrackerGeomDetUnit *pixdet)
Definition: Phase2TrackerDigitizerAlgorithm.cc:818
Phase2TrackerDigitizerAlgorithm::init
virtual void init(const edm::EventSetup &es)=0
Phase2TrackerDigitizerAlgorithm::primary_ionization
void primary_ionization(const PSimHit &hit, std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const
Definition: Phase2TrackerDigitizerAlgorithm.cc:183
Phase2TrackerDigitizerAlgorithm::fluctuateEloss
void fluctuateEloss(int particleId, float momentum, float eloss, float length, int NumberOfSegments, std::vector< float > &elossVector) const
Definition: Phase2TrackerDigitizerAlgorithm.cc:228
PSimHit.h
Phase2TrackerDigitizerAlgorithm::theAdcFullScale_
const int theAdcFullScale_
Definition: Phase2TrackerDigitizerAlgorithm.h:135
Phase2TrackerDigitizerAlgorithm::signalMaps
std::map< uint32_t, signal_map_type > signalMaps
Definition: Phase2TrackerDigitizerAlgorithm.h:101
Phase2TrackerDigitizerAlgorithm::tanLorentzAnglePerTesla_Endcap_
const float tanLorentzAnglePerTesla_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:151
Phase2TrackerDigitizerAlgorithm::pseudoRadDamageRadius_
const double pseudoRadDamageRadius_
Definition: Phase2TrackerDigitizerAlgorithm.h:166
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
GloballyPositioned.h
Phase2TrackerDigitizerAlgorithm::induce_signal
void induce_signal(const PSimHit &hit, const size_t hitIndex, const uint32_t tofBin, const Phase2TrackerGeomDetUnit *pixdet, const std::vector< DigitizerUtility::SignalPoint > &collection_points)
Definition: Phase2TrackerDigitizerAlgorithm.cc:389
SiPixelLorentzAngle
Definition: SiPixelLorentzAngle.h:11
edm::ESHandle< SiPixelLorentzAngle >
Phase2TrackerDigitizerAlgorithm::addNoise_
const bool addNoise_
Definition: Phase2TrackerDigitizerAlgorithm.h:155
Phase2TrackerDigitizerAlgorithm::smearedThreshold_Barrel_
std::unique_ptr< CLHEP::RandGaussQ > smearedThreshold_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:229
SiPixelGainCalibrationOfflineSimService
Definition: SiPixelGainCalibrationOfflineSimService.h:22
Phase2TrackerDigitizerAlgorithm::SiPixelBadModule_
edm::ESHandle< SiPixelQuality > SiPixelBadModule_
Definition: Phase2TrackerDigitizerAlgorithm.h:88
Phase2TrackerDigitizerAlgorithm::initializeEvent
virtual void initializeEvent(CLHEP::HepRandomEngine &eng)
Definition: Phase2TrackerDigitizerAlgorithm.cc:691
CLHEP
Definition: CocoaGlobals.h:27
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
Phase2TrackerDigi.h
edm::ParameterSet
Definition: ParameterSet.h:36
SiPixelQuality
Definition: SiPixelQuality.h:27
ParameterSet
Definition: Functions.h:16
Phase2TrackerDigitizerAlgorithm
Definition: Phase2TrackerDigitizerAlgorithm.h:58
Phase2TrackerDigitizerAlgorithm::pixelFlag_
bool pixelFlag_
Definition: Phase2TrackerDigitizerAlgorithm.h:241
Phase2TrackerDigitizerAlgorithm::tMax_
const double tMax_
Definition: Phase2TrackerDigitizerAlgorithm.h:173
Phase2TrackerDigitizerAlgorithm::select_hit
virtual bool select_hit(const PSimHit &hit, double tCorr, double &sigScale)
Definition: Phase2TrackerDigitizerAlgorithm.h:77
Phase2TrackerDigitizerAlgorithm::theHIPThresholdInE_Endcap_
const double theHIPThresholdInE_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:146
Phase2TrackerDigitizerAlgorithm::gaussDistribution_
std::unique_ptr< CLHEP::RandGaussQ > gaussDistribution_
Definition: Phase2TrackerDigitizerAlgorithm.h:225
Phase2TrackerDigitizerAlgorithm::SiPixelLorentzAngle_
edm::ESHandle< SiPixelLorentzAngle > SiPixelLorentzAngle_
Definition: Phase2TrackerDigitizerAlgorithm.h:85
Phase2TrackerDigitizerAlgorithm::theElectronPerADC_
const float theElectronPerADC_
Definition: Phase2TrackerDigitizerAlgorithm.h:134
edm::EventSetup
Definition: EventSetup.h:57
Phase2TrackerDigitizerAlgorithm::GeVperElectron_
const float GeVperElectron_
Definition: Phase2TrackerDigitizerAlgorithm.h:120
Phase2TrackerDigitizerAlgorithm::convertSignalToAdc
int convertSignalToAdc(uint32_t detID, float signal_in_elec, float threshold)
Definition: Phase2TrackerDigitizerAlgorithm.cc:968
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_
const float theThresholdInE_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:140
Phase2TrackerDigitizerAlgorithm::deadModules_
const Parameters deadModules_
Definition: Phase2TrackerDigitizerAlgorithm.h:115
Phase2TrackerDigitizerAlgorithm::digitize
virtual void digitize(const Phase2TrackerGeomDetUnit *pixdet, std::map< int, DigitizerUtility::DigiSimInfo > &digi_map, const TrackerTopology *tTopo)
Definition: Phase2TrackerDigitizerAlgorithm.cc:893
SiPixelFedCablingMap
Definition: SiPixelFedCablingMap.h:19
DigitizerUtility::SimHitInfo
Definition: DigitizerUtility.h:14
Phase2TrackerDigitizerAlgorithm::use_deadmodule_DB_
const bool use_deadmodule_DB_
Definition: Phase2TrackerDigitizerAlgorithm.h:112
Phase2TrackerDigitizerAlgorithm::isAboveThreshold
virtual bool isAboveThreshold(const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr)
Definition: Phase2TrackerDigitizerAlgorithm.h:78
Phase2TrackerDigitizerAlgorithm::_signal
signalMaps _signal
Definition: Phase2TrackerDigitizerAlgorithm.h:106
Phase2TrackerDigitizerAlgorithm::tanLorentzAnglePerTesla_Barrel_
const float tanLorentzAnglePerTesla_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:152
mixOne_premix_on_sim_cfi.accumulator
accumulator
Definition: mixOne_premix_on_sim_cfi.py:167
Phase2TrackerDigitizerAlgorithm::badPixels_
Parameters badPixels_
Definition: Phase2TrackerDigitizerAlgorithm.h:176
Phase2TrackerDigitizerAlgorithm::add_noisy_cells
virtual void add_noisy_cells(const Phase2TrackerGeomDetUnit *pixdet, float thePixelThreshold)
Definition: Phase2TrackerDigitizerAlgorithm.cc:613
Phase2TrackerDigitizerAlgorithm::add_cross_talk
virtual void add_cross_talk(const Phase2TrackerGeomDetUnit *pixdet)
Definition: Phase2TrackerDigitizerAlgorithm.cc:564
Phase2TrackerDigitizerAlgorithm::SubdetEfficiencies::barrel_efficiencies
std::vector< double > barrel_efficiencies
Definition: Phase2TrackerDigitizerAlgorithm.h:95
c_inv
constexpr double c_inv
Definition: Phase2TrackerDigitizerAlgorithm.h:56
Phase2TrackerDigitizerAlgorithm::clusterWidth_
const float clusterWidth_
Definition: Phase2TrackerDigitizerAlgorithm.h:130
Phase2TrackerDigitizerAlgorithm::Phase2TrackerDigitizerAlgorithm
Phase2TrackerDigitizerAlgorithm(const edm::ParameterSet &conf_common, const edm::ParameterSet &conf_specific)
Definition: Phase2TrackerDigitizerAlgorithm.cc:48
Phase2TrackerDigitizerAlgorithm::theReadoutNoise_
const float theReadoutNoise_
Definition: Phase2TrackerDigitizerAlgorithm.h:137
Phase2TrackerDigitizerAlgorithm::SubdetEfficiencies::endcap_efficiencies
std::vector< double > endcap_efficiencies
Definition: Phase2TrackerDigitizerAlgorithm.h:96
SiG4UniversalFluctuation
Definition: SiG4UniversalFluctuation.h:25
Phase2TrackerDigitizerAlgorithm::interstripCoupling_
const float interstripCoupling_
Definition: Phase2TrackerDigitizerAlgorithm.h:125
Phase2TrackerDigitizerAlgorithm::fluctuate_
const std::unique_ptr< SiG4UniversalFluctuation > fluctuate_
Definition: Phase2TrackerDigitizerAlgorithm.h:179
CMSUnits.h
Phase2TrackerDigitizerAlgorithm::theSiPixelGainCalibrationService_
const std::unique_ptr< SiPixelGainCalibrationOfflineSimService > theSiPixelGainCalibrationService_
Definition: Phase2TrackerDigitizerAlgorithm.h:212
Phase2TrackerDigitizerAlgorithm::thePhase2ReadoutMode_
const int thePhase2ReadoutMode_
Definition: Phase2TrackerDigitizerAlgorithm.h:133
Phase2TrackerDigitizerAlgorithm::use_ineff_from_db_
const bool use_ineff_from_db_
Definition: Phase2TrackerDigitizerAlgorithm.h:110
Phase2TrackerDigitizerFwd.h
Phase2TrackerDigitizerAlgorithm::drift
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
Definition: Phase2TrackerDigitizerAlgorithm.cc:293
EventSetup
PSimHit
Definition: PSimHit.h:15
Phase2TrackerDigitizerAlgorithm::addPixelInefficiency_
const bool addPixelInefficiency_
Definition: Phase2TrackerDigitizerAlgorithm.h:160
Phase2TrackerDigitizerAlgorithm::theHIPThresholdInE_Barrel_
const double theHIPThresholdInE_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:147
approx_exp.h
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:426
Phase2TrackerDigitizerAlgorithm::SigmaCoeff_
const float SigmaCoeff_
Definition: Phase2TrackerDigitizerAlgorithm.h:127
Phase2TrackerDigitizerAlgorithm::smearedThreshold_Endcap_
std::unique_ptr< CLHEP::RandGaussQ > smearedThreshold_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:228
Phase2TrackerDigitizerAlgorithm::rengine_
CLHEP::HepRandomEngine * rengine_
Definition: Phase2TrackerDigitizerAlgorithm.h:232
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
Phase2TrackerDigitizerAlgorithm::Parameters
std::vector< edm::ParameterSet > Parameters
Definition: Phase2TrackerDigitizerAlgorithm.h:103
hit
Definition: SiStripHitEffFromCalibTree.cc:88
Phase2TrackerDigitizerAlgorithm::pixel_inefficiency
virtual void pixel_inefficiency(const SubdetEfficiencies &eff, const Phase2TrackerGeomDetUnit *pixdet, const TrackerTopology *tTopo)
Definition: Phase2TrackerDigitizerAlgorithm.cc:658
TrackerGeometry
Definition: TrackerGeometry.h:14
DigitizerUtility.h