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