CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Public Attributes
PixelDigitizerAlgorithm Class Reference

#include <PixelDigitizerAlgorithm.h>

Inheritance diagram for PixelDigitizerAlgorithm:
Phase2TrackerDigitizerAlgorithm

Classes

class  TimewalkCurve
 
class  TimewalkModel
 

Public Member Functions

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) override
 
void add_cross_talk (const Phase2TrackerGeomDetUnit *pixdet) override
 
void init (const edm::EventSetup &es) override
 
bool isAboveThreshold (const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr) override
 
 PixelDigitizerAlgorithm (const edm::ParameterSet &conf)
 
bool select_hit (const PSimHit &hit, double tCorr, double &sigScale) override
 
 ~PixelDigitizerAlgorithm () override
 
- Public Member Functions inherited from Phase2TrackerDigitizerAlgorithm
virtual void digitize (const Phase2TrackerGeomDetUnit *pixdet, std::map< int, DigitizerUtility::DigiSimInfo > &digi_map, const TrackerTopology *tTopo)
 
virtual void initializeEvent (CLHEP::HepRandomEngine &eng)
 
void loadAccumulator (uint32_t detId, const std::map< int, float > &accumulator)
 
 Phase2TrackerDigitizerAlgorithm (const edm::ParameterSet &conf_common, const edm::ParameterSet &conf_specific)
 
virtual ~Phase2TrackerDigitizerAlgorithm ()
 

Public Attributes

bool apply_timewalk_
 
const double even_column_interchannelCoupling_next_column_
 
const double even_row_interchannelCoupling_next_row_
 
const double odd_column_interchannelCoupling_next_column_
 
const double odd_row_interchannelCoupling_next_row_
 
const TimewalkModel timewalk_model_
 

Additional Inherited Members

- Protected Types inherited from Phase2TrackerDigitizerAlgorithm
using Frame = GloballyPositioned< double >
 
using Parameters = std::vector< edm::ParameterSet >
 
using signal_map_type = std::map< int, DigitizerUtility::Amplitude, std::less< int > >
 
using signalMaps = std::map< uint32_t, signal_map_type >
 
- Protected Member Functions inherited from Phase2TrackerDigitizerAlgorithm
virtual void add_noise (const Phase2TrackerGeomDetUnit *pixdet)
 
virtual void add_noisy_cells (const Phase2TrackerGeomDetUnit *pixdet, float thePixelThreshold)
 
double calcQ (float x) const
 
int convertSignalToAdc (uint32_t detID, float signal_in_elec, float threshold)
 
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
 
LocalVector DriftDirection (const Phase2TrackerGeomDetUnit *pixdet, const GlobalVector &bfield, const DetId &detId) const
 
void fluctuateEloss (int particleId, float momentum, float eloss, float length, int NumberOfSegments, std::vector< float > &elossVector) 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)
 
virtual void module_killing_conf (uint32_t detID)
 
virtual void module_killing_DB (const Phase2TrackerGeomDetUnit *pixdet)
 
virtual void pixel_inefficiency (const SubdetEfficiencies &eff, const Phase2TrackerGeomDetUnit *pixdet, const TrackerTopology *tTopo)
 
virtual void pixel_inefficiency_db (uint32_t detID)
 
void primary_ionization (const PSimHit &hit, std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const
 
- Protected Attributes inherited from Phase2TrackerDigitizerAlgorithm
signalMaps _signal
 
const bool addNoise_
 
const bool addNoisyPixels_
 
const bool addPixelInefficiency_
 
const bool addThresholdSmearing_
 
const bool addXtalk_
 
const bool alpha2Order_
 
Parameters badPixels_
 
const float clusterWidth_
 
const Parameters deadModules_
 
edm::ESHandle< SiPixelFedCablingMapfedCablingMap_
 
const std::unique_ptr< SiG4UniversalFluctuationfluctuate_
 
const bool fluctuateCharge_
 
std::unique_ptr< CLHEP::RandGaussQ > gaussDistribution_
 
edm::ESHandle< TrackerGeometrygeom_
 
const float GeVperElectron_
 
const float interstripCoupling_
 
const bool makeDigiSimLinks_
 
bool pixelFlag_
 
const double pseudoRadDamage_
 
const double pseudoRadDamageRadius_
 
CLHEP::HepRandomEngine * rengine_
 
const float Sigma0_
 
const float SigmaCoeff_
 
edm::ESHandle< SiPixelQualitySiPixelBadModule_
 
edm::ESHandle< SiPixelLorentzAngleSiPixelLorentzAngle_
 
std::unique_ptr< CLHEP::RandGaussQ > smearedThreshold_Barrel_
 
std::unique_ptr< CLHEP::RandGaussQ > smearedThreshold_Endcap_
 
const SubdetEfficiencies subdetEfficiencies_
 
const float tanLorentzAnglePerTesla_Barrel_
 
const float tanLorentzAnglePerTesla_Endcap_
 
const int theAdcFullScale_
 
const float theElectronPerADC_
 
const double theHIPThresholdInE_Barrel_
 
const double theHIPThresholdInE_Endcap_
 
const float theNoiseInElectrons_
 
const std::unique_ptr< GaussianTailNoiseGeneratortheNoiser_
 
const int thePhase2ReadoutMode_
 
const float theReadoutNoise_
 
const std::unique_ptr< SiPixelGainCalibrationOfflineSimServicetheSiPixelGainCalibrationService_
 
const float theThresholdInE_Barrel_
 
const float theThresholdInE_Endcap_
 
const double theThresholdSmearing_Barrel_
 
const double theThresholdSmearing_Endcap_
 
const float theTofLowerCut_
 
const float theTofUpperCut_
 
const double tMax_
 
const bool use_deadmodule_DB_
 
const bool use_ineff_from_db_
 
const bool use_LorentzAngle_DB_
 
const bool use_module_killing_
 

Detailed Description

Definition at line 6 of file PixelDigitizerAlgorithm.h.

Constructor & Destructor Documentation

◆ PixelDigitizerAlgorithm()

PixelDigitizerAlgorithm::PixelDigitizerAlgorithm ( const edm::ParameterSet conf)

Definition at line 40 of file PixelDigitizerAlgorithm.cc.

42  conf.getParameter<ParameterSet>("PixelDigitizerAlgorithm")),
44  .getParameter<double>("Odd_row_interchannelCoupling_next_row")),
46  .getParameter<double>("Even_row_interchannelCoupling_next_row")),
48  conf.getParameter<ParameterSet>("PixelDigitizerAlgorithm")
49  .getParameter<double>("Odd_column_interchannelCoupling_next_column")),
51  conf.getParameter<ParameterSet>("PixelDigitizerAlgorithm")
52  .getParameter<double>("Even_column_interchannelCoupling_next_column")),
53  apply_timewalk_(conf.getParameter<ParameterSet>("PixelDigitizerAlgorithm").getParameter<bool>("ApplyTimewalk")),
55  conf.getParameter<ParameterSet>("PixelDigitizerAlgorithm").getParameter<edm::ParameterSet>("TimewalkModel")) {
56  pixelFlag_ = true;
57  LogDebug("PixelDigitizerAlgorithm") << "Algorithm constructed "
58  << "Configuration parameters:"
59  << "Threshold/Gain = "
60  << "threshold in electron Endcap = " << theThresholdInE_Endcap_
61  << "threshold in electron Barrel = " << theThresholdInE_Barrel_ << " "
63  << " The delta cut-off is set to " << tMax_ << " pix-inefficiency "
65 }

References Phase2TrackerDigitizerAlgorithm::addPixelInefficiency_, LogDebug, Phase2TrackerDigitizerAlgorithm::pixelFlag_, Phase2TrackerDigitizerAlgorithm::theAdcFullScale_, Phase2TrackerDigitizerAlgorithm::theElectronPerADC_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_, and Phase2TrackerDigitizerAlgorithm::tMax_.

◆ ~PixelDigitizerAlgorithm()

PixelDigitizerAlgorithm::~PixelDigitizerAlgorithm ( )
override

Definition at line 66 of file PixelDigitizerAlgorithm.cc.

66 { LogDebug("PixelDigitizerAlgorithm") << "Algorithm deleted"; }

References LogDebug.

Member Function Documentation

◆ accumulateSimHits()

void PixelDigitizerAlgorithm::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 
)
overridevirtual

Implements Phase2TrackerDigitizerAlgorithm.

Definition at line 67 of file PixelDigitizerAlgorithm.cc.

72  {
73  // produce SignalPoint's for all SimHit's in detector
74  // Loop over hits
75  uint32_t detId = pixdet->geographicalId().rawId();
76  size_t simHitGlobalIndex = inputBeginGlobalIndex; // This needs to be stored to create the digi-sim link later
77 
78  // find the relevant hits
79  std::vector<PSimHit> matchedSimHits;
80  std::copy_if(inputBegin, inputEnd, std::back_inserter(matchedSimHits), [detId](auto const& hit) -> bool {
81  return hit.detUnitId() == detId;
82  });
83  // loop over a much reduced set of SimHits
84  for (auto const& hit : matchedSimHits) {
85  LogDebug("PixelDigitizerAlgorithm") << hit.particleType() << " " << hit.pabs() << " " << hit.energyLoss() << " "
86  << hit.tof() << " " << hit.trackId() << " " << hit.processType() << " "
87  << hit.detUnitId() << hit.entryPoint() << " " << hit.exitPoint();
88 
89  std::vector<DigitizerUtility::EnergyDepositUnit> ionization_points;
90  std::vector<DigitizerUtility::SignalPoint> collection_points;
91 
92  double signalScale = 1.0;
93  // fill collection_points for this SimHit, indpendent of topology
94  if (select_hit(hit, (pixdet->surface().toGlobal(hit.localPosition()).mag() * c_inv), signalScale)) {
95  primary_ionization(hit, ionization_points); // fills ionization_points
96 
97  // transforms ionization_points -> collection_points
98  drift(hit, pixdet, bfield, ionization_points, collection_points);
99 
100  // compute induced signal on readout elements and add to _signal
101  // hit needed only for SimHit<-->Digi link
102  induce_signal(hit, simHitGlobalIndex, tofBin, pixdet, collection_points);
103  }
104  ++simHitGlobalIndex;
105  }
106 }

References c_inv, Phase2TrackerDigitizerAlgorithm::drift(), GeomDet::geographicalId(), Phase2TrackerDigitizerAlgorithm::induce_signal(), LogDebug, mag(), Phase2TrackerDigitizerAlgorithm::primary_ionization(), DetId::rawId(), select_hit(), GeomDet::surface(), and Surface::toGlobal().

◆ add_cross_talk()

void PixelDigitizerAlgorithm::add_cross_talk ( const Phase2TrackerGeomDetUnit pixdet)
overridevirtual

Reimplemented from Phase2TrackerDigitizerAlgorithm.

Definition at line 120 of file PixelDigitizerAlgorithm.cc.

120  {
121  if (!pixelFlag_)
122  return;
123 
124  const Phase2TrackerTopology* topol = &pixdet->specificTopology();
125 
126  // cross-talk calculation valid for the case of 25x100 pixels
127  const float pitch_first = 0.0025;
128  const float pitch_second = 0.0100;
129 
130  // 0.5 um tolerance when comparing the pitch to accommodate the small changes in different TK geometrie (temporary fix)
131  const double pitch_tolerance(0.0005);
132 
133  if (std::abs(topol->pitch().first - pitch_first) > pitch_tolerance ||
134  std::abs(topol->pitch().second - pitch_second) > pitch_tolerance)
135  return;
136 
137  uint32_t detID = pixdet->geographicalId().rawId();
138  signal_map_type& theSignal = _signal[detID];
139  signal_map_type signalNew;
140 
141  int numRows = topol->nrows();
142  int numColumns = topol->ncolumns();
143 
144  for (auto& s : theSignal) {
145  float signalInElectrons = s.second.ampl(); // signal in electrons
146 
147  auto hitChan = PixelDigi::channelToPixel(s.first);
148 
149  float signalInElectrons_odd_row_Xtalk_next_row = signalInElectrons * odd_row_interchannelCoupling_next_row_;
150  float signalInElectrons_even_row_Xtalk_next_row = signalInElectrons * even_row_interchannelCoupling_next_row_;
151  float signalInElectrons_odd_column_Xtalk_next_column =
153  float signalInElectrons_even_column_Xtalk_next_column =
155 
156  // subtract the charge which will be shared
157  s.second.set(signalInElectrons - signalInElectrons_odd_row_Xtalk_next_row -
158  signalInElectrons_even_row_Xtalk_next_row - signalInElectrons_odd_column_Xtalk_next_column -
159  signalInElectrons_even_column_Xtalk_next_column);
160 
161  if (hitChan.first != 0) {
162  auto XtalkPrev = std::make_pair(hitChan.first - 1, hitChan.second);
163  int chanXtalkPrev = pixelFlag_ ? PixelDigi::pixelToChannel(XtalkPrev.first, XtalkPrev.second)
164  : Phase2TrackerDigi::pixelToChannel(XtalkPrev.first, XtalkPrev.second);
165  if (hitChan.first % 2 == 1)
166  signalNew.emplace(chanXtalkPrev,
167  DigitizerUtility::Amplitude(signalInElectrons_even_row_Xtalk_next_row, nullptr, -1.0));
168  else
169  signalNew.emplace(chanXtalkPrev,
170  DigitizerUtility::Amplitude(signalInElectrons_odd_row_Xtalk_next_row, nullptr, -1.0));
171  }
172  if (hitChan.first < numRows - 1) {
173  auto XtalkNext = std::make_pair(hitChan.first + 1, hitChan.second);
174  int chanXtalkNext = pixelFlag_ ? PixelDigi::pixelToChannel(XtalkNext.first, XtalkNext.second)
175  : Phase2TrackerDigi::pixelToChannel(XtalkNext.first, XtalkNext.second);
176  if (hitChan.first % 2 == 1)
177  signalNew.emplace(chanXtalkNext,
178  DigitizerUtility::Amplitude(signalInElectrons_odd_row_Xtalk_next_row, nullptr, -1.0));
179  else
180  signalNew.emplace(chanXtalkNext,
181  DigitizerUtility::Amplitude(signalInElectrons_even_row_Xtalk_next_row, nullptr, -1.0));
182  }
183 
184  if (hitChan.second != 0) {
185  auto XtalkPrev = std::make_pair(hitChan.first, hitChan.second - 1);
186  int chanXtalkPrev = pixelFlag_ ? PixelDigi::pixelToChannel(XtalkPrev.first, XtalkPrev.second)
187  : Phase2TrackerDigi::pixelToChannel(XtalkPrev.first, XtalkPrev.second);
188  if (hitChan.second % 2 == 1)
189  signalNew.emplace(chanXtalkPrev,
190  DigitizerUtility::Amplitude(signalInElectrons_even_column_Xtalk_next_column, nullptr, -1.0));
191  else
192  signalNew.emplace(chanXtalkPrev,
193  DigitizerUtility::Amplitude(signalInElectrons_odd_column_Xtalk_next_column, nullptr, -1.0));
194  }
195  if (hitChan.second < numColumns - 1) {
196  auto XtalkNext = std::make_pair(hitChan.first, hitChan.second + 1);
197  int chanXtalkNext = pixelFlag_ ? PixelDigi::pixelToChannel(XtalkNext.first, XtalkNext.second)
198  : Phase2TrackerDigi::pixelToChannel(XtalkNext.first, XtalkNext.second);
199  if (hitChan.second % 2 == 1)
200  signalNew.emplace(chanXtalkNext,
201  DigitizerUtility::Amplitude(signalInElectrons_odd_column_Xtalk_next_column, nullptr, -1.0));
202  else
203  signalNew.emplace(chanXtalkNext,
204  DigitizerUtility::Amplitude(signalInElectrons_even_column_Xtalk_next_column, nullptr, -1.0));
205  }
206  }
207  for (auto const& l : signalNew) {
208  int chan = l.first;
209  auto iter = theSignal.find(chan);
210  if (iter != theSignal.end()) {
211  iter->second += l.second.ampl();
212  } else {
213  theSignal.emplace(chan, DigitizerUtility::Amplitude(l.second.ampl(), nullptr, -1.0));
214  }
215  }
216 }

References Phase2TrackerDigitizerAlgorithm::_signal, funct::abs(), officialStyle::chan, PixelDigi::channelToPixel(), even_column_interchannelCoupling_next_column_, even_row_interchannelCoupling_next_row_, GeomDet::geographicalId(), cmsLHEtoEOSManager::l, PixelTopology::ncolumns(), PixelTopology::nrows(), odd_column_interchannelCoupling_next_column_, odd_row_interchannelCoupling_next_row_, PixelTopology::pitch(), Phase2TrackerDigitizerAlgorithm::pixelFlag_, Phase2TrackerDigi::pixelToChannel(), PixelDigi::pixelToChannel(), DetId::rawId(), alignCSCRings::s, and PixelGeomDetUnit::specificTopology().

◆ init()

void PixelDigitizerAlgorithm::init ( const edm::EventSetup es)
overridevirtual

Implements Phase2TrackerDigitizerAlgorithm.

Definition at line 25 of file PixelDigitizerAlgorithm.cc.

25  {
26  if (use_ineff_from_db_) // load gain calibration service fromdb...
27  theSiPixelGainCalibrationService_->setESObjects(es);
28 
31 
32  if (use_LorentzAngle_DB_) // Get Lorentz angle from DB record
34 
35  // gets the map and geometry from the DB (to kill ROCs)
38 }

References edm::EventSetup::get(), and edm::get().

◆ isAboveThreshold()

bool PixelDigitizerAlgorithm::isAboveThreshold ( const DigitizerUtility::SimHitInfo hitInfo,
float  charge,
float  thr 
)
overridevirtual

Reimplemented from Phase2TrackerDigitizerAlgorithm.

Definition at line 270 of file PixelDigitizerAlgorithm.cc.

270  {
271  if (charge < thr)
272  return false;
273  if (apply_timewalk_ && hitInfo) {
274  float corrected_time = hitInfo->time();
275  double time = corrected_time + timewalk_model_(charge, thr);
276  return (time >= theTofLowerCut_ && time < theTofUpperCut_);
277  } else
278  return true;
279 }

References apply_timewalk_, ALCARECOTkAlJpsiMuMu_cff::charge, Phase2TrackerDigitizerAlgorithm::theTofLowerCut_, Phase2TrackerDigitizerAlgorithm::theTofUpperCut_, DigitizerUtility::SimHitInfo::time(), ntuplemaker::time, and timewalk_model_.

◆ select_hit()

bool PixelDigitizerAlgorithm::select_hit ( const PSimHit hit,
double  tCorr,
double &  sigScale 
)
overridevirtual

Reimplemented from Phase2TrackerDigitizerAlgorithm.

Definition at line 110 of file PixelDigitizerAlgorithm.cc.

110  {
111  double time = hit.tof() - tCorr;
112  return (time >= theTofLowerCut_ && time < theTofUpperCut_);
113 }

References Phase2TrackerDigitizerAlgorithm::theTofLowerCut_, Phase2TrackerDigitizerAlgorithm::theTofUpperCut_, and ntuplemaker::time.

Referenced by accumulateSimHits().

Member Data Documentation

◆ apply_timewalk_

bool PixelDigitizerAlgorithm::apply_timewalk_

Definition at line 63 of file PixelDigitizerAlgorithm.h.

Referenced by isAboveThreshold().

◆ even_column_interchannelCoupling_next_column_

const double PixelDigitizerAlgorithm::even_column_interchannelCoupling_next_column_

Definition at line 60 of file PixelDigitizerAlgorithm.h.

Referenced by add_cross_talk().

◆ even_row_interchannelCoupling_next_row_

const double PixelDigitizerAlgorithm::even_row_interchannelCoupling_next_row_

Definition at line 58 of file PixelDigitizerAlgorithm.h.

Referenced by add_cross_talk().

◆ odd_column_interchannelCoupling_next_column_

const double PixelDigitizerAlgorithm::odd_column_interchannelCoupling_next_column_

Definition at line 59 of file PixelDigitizerAlgorithm.h.

Referenced by add_cross_talk().

◆ odd_row_interchannelCoupling_next_row_

const double PixelDigitizerAlgorithm::odd_row_interchannelCoupling_next_row_

Definition at line 57 of file PixelDigitizerAlgorithm.h.

Referenced by add_cross_talk().

◆ timewalk_model_

const TimewalkModel PixelDigitizerAlgorithm::timewalk_model_

Definition at line 64 of file PixelDigitizerAlgorithm.h.

Referenced by isAboveThreshold().

Phase2TrackerDigitizerAlgorithm::signal_map_type
std::map< int, DigitizerUtility::Amplitude, std::less< int > > signal_map_type
Definition: Phase2TrackerDigitizerAlgorithm.h:100
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_
const float theThresholdInE_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:141
SiPixelQualityRcd
Definition: SiPixelQualityRcd.h:13
Phase2TrackerDigitizerAlgorithm::theTofUpperCut_
const float theTofUpperCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:150
Phase2TrackerDigitizerAlgorithm::geom_
edm::ESHandle< TrackerGeometry > geom_
Definition: Phase2TrackerDigitizerAlgorithm.h:92
PixelTopology::pitch
virtual std::pair< float, float > pitch() const =0
Phase2TrackerDigitizerAlgorithm::fedCablingMap_
edm::ESHandle< SiPixelFedCablingMap > fedCablingMap_
Definition: Phase2TrackerDigitizerAlgorithm.h:91
PixelDigitizerAlgorithm::odd_column_interchannelCoupling_next_column_
const double odd_column_interchannelCoupling_next_column_
Definition: PixelDigitizerAlgorithm.h:59
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
Phase2TrackerDigitizerAlgorithm::use_LorentzAngle_DB_
const bool use_LorentzAngle_DB_
Definition: Phase2TrackerDigitizerAlgorithm.h:113
PixelDigitizerAlgorithm::odd_row_interchannelCoupling_next_row_
const double odd_row_interchannelCoupling_next_row_
Definition: PixelDigitizerAlgorithm.h:57
dqmdumpme.first
first
Definition: dqmdumpme.py:55
Phase2TrackerDigitizerAlgorithm::theTofLowerCut_
const float theTofLowerCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:149
DigitizerUtility::SimHitInfo::time
float time() const
Definition: DigitizerUtility.h:23
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
PixelDigitizerAlgorithm::apply_timewalk_
bool apply_timewalk_
Definition: PixelDigitizerAlgorithm.h:63
Phase2TrackerDigitizerAlgorithm::primary_ionization
void primary_ionization(const PSimHit &hit, std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const
Definition: Phase2TrackerDigitizerAlgorithm.cc:183
alignCSCRings.s
s
Definition: alignCSCRings.py:92
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
PixelDigitizerAlgorithm::even_row_interchannelCoupling_next_row_
const double even_row_interchannelCoupling_next_row_
Definition: PixelDigitizerAlgorithm.h:58
Phase2TrackerDigitizerAlgorithm::theAdcFullScale_
const int theAdcFullScale_
Definition: Phase2TrackerDigitizerAlgorithm.h:135
SiPixelLorentzAngleSimRcd
Definition: SiPixelLorentzAngleSimRcd.h:24
DigitizerUtility::Amplitude
Definition: DigitizerUtility.h:33
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
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
PixelTopology::ncolumns
virtual int ncolumns() const =0
Phase2TrackerDigitizerAlgorithm::SiPixelBadModule_
edm::ESHandle< SiPixelQuality > SiPixelBadModule_
Definition: Phase2TrackerDigitizerAlgorithm.h:88
PixelDigi::pixelToChannel
static int pixelToChannel(int row, int col)
Definition: PixelDigi.h:71
PixelTopology
Definition: PixelTopology.h:10
PixelDigitizerAlgorithm::timewalk_model_
const TimewalkModel timewalk_model_
Definition: PixelDigitizerAlgorithm.h:64
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
Phase2TrackerDigitizerAlgorithm::pixelFlag_
bool pixelFlag_
Definition: Phase2TrackerDigitizerAlgorithm.h:241
Phase2TrackerDigitizerAlgorithm::tMax_
const double tMax_
Definition: Phase2TrackerDigitizerAlgorithm.h:173
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
Phase2TrackerDigitizerAlgorithm::SiPixelLorentzAngle_
edm::ESHandle< SiPixelLorentzAngle > SiPixelLorentzAngle_
Definition: Phase2TrackerDigitizerAlgorithm.h:85
Phase2TrackerDigitizerAlgorithm::theElectronPerADC_
const float theElectronPerADC_
Definition: Phase2TrackerDigitizerAlgorithm.h:134
PixelDigitizerAlgorithm::even_column_interchannelCoupling_next_column_
const double even_column_interchannelCoupling_next_column_
Definition: PixelDigitizerAlgorithm.h:60
get
#define get
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_
const float theThresholdInE_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:140
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:193
Phase2TrackerDigitizerAlgorithm::use_deadmodule_DB_
const bool use_deadmodule_DB_
Definition: Phase2TrackerDigitizerAlgorithm.h:112
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Phase2TrackerDigitizerAlgorithm::_signal
signalMaps _signal
Definition: Phase2TrackerDigitizerAlgorithm.h:106
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
Phase2TrackerDigi
Definition: Phase2TrackerDigi.h:12
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
c_inv
constexpr double c_inv
Definition: Phase2TrackerDigitizerAlgorithm.h:56
officialStyle.chan
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi....
Definition: officialStyle.py:106
Phase2TrackerDigitizerAlgorithm::Phase2TrackerDigitizerAlgorithm
Phase2TrackerDigitizerAlgorithm(const edm::ParameterSet &conf_common, const edm::ParameterSet &conf_specific)
Definition: Phase2TrackerDigitizerAlgorithm.cc:48
Phase2TrackerDigitizerAlgorithm::theSiPixelGainCalibrationService_
const std::unique_ptr< SiPixelGainCalibrationOfflineSimService > theSiPixelGainCalibrationService_
Definition: Phase2TrackerDigitizerAlgorithm.h:212
Phase2TrackerDigitizerAlgorithm::use_ineff_from_db_
const bool use_ineff_from_db_
Definition: Phase2TrackerDigitizerAlgorithm.h:110
PixelDigitizerAlgorithm::select_hit
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) override
Definition: PixelDigitizerAlgorithm.cc:110
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
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
SiPixelFedCablingMapRcd
Definition: SiPixelFedCablingMapRcd.h:5
Phase2TrackerDigitizerAlgorithm::addPixelInefficiency_
const bool addPixelInefficiency_
Definition: Phase2TrackerDigitizerAlgorithm.h:160
ntuplemaker.time
time
Definition: ntuplemaker.py:310
PixelTopology::nrows
virtual int nrows() const =0
hit
Definition: SiStripHitEffFromCalibTree.cc:88
PixelDigi::channelToPixel
static std::pair< int, int > channelToPixel(int ch)
Definition: PixelDigi.h:65