CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
SSDigitizerAlgorithm Class Reference

#include <SSDigitizerAlgorithm.h>

Inheritance diagram for SSDigitizerAlgorithm:
Phase2TrackerDigitizerAlgorithm

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 init (const edm::EventSetup &es) override
 
bool isAboveThreshold (const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr) override
 
bool select_hit (const PSimHit &hit, double tCorr, double &sigScale) override
 
 SSDigitizerAlgorithm (const edm::ParameterSet &conf)
 
 ~SSDigitizerAlgorithm () 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 ()
 

Private Types

enum  {
  SquareWindow, SampledMode, LatchedMode, SampledOrLachedMode,
  HIPFindingMode
}
 

Private Member Functions

double aScalingConstant (int N, int i)
 
double cbc3PulsePolarExpansion (double x)
 
double getSignalScale (double xval)
 
double nFactorial (int n)
 
bool select_hit_latchedMode (const PSimHit &hit, double tCorr, double &sigScale)
 
bool select_hit_sampledMode (const PSimHit &hit, double tCorr, double &sigScale)
 
double signalShape (double x)
 
void storeSignalShape ()
 

Private Attributes

float deadTime_
 
int hitDetectionMode_
 
std::vector< double > pulseShapeParameters_
 
std::vector< double > pulseShapeVec_
 

Static Private Attributes

static constexpr float bx_time {25}
 
static constexpr size_t interpolationPoints {1000}
 
static constexpr int interpolationStep {10}
 

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_cross_talk (const Phase2TrackerGeomDetUnit *pixdet)
 
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 SSDigitizerAlgorithm.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
SquareWindow 
SampledMode 
LatchedMode 
SampledOrLachedMode 
HIPFindingMode 

Definition at line 25 of file SSDigitizerAlgorithm.h.

Constructor & Destructor Documentation

◆ SSDigitizerAlgorithm()

SSDigitizerAlgorithm::SSDigitizerAlgorithm ( const edm::ParameterSet conf)

Definition at line 18 of file SSDigitizerAlgorithm.cc.

20  conf.getParameter<ParameterSet>("SSDigitizerAlgorithm")),
21  hitDetectionMode_(conf.getParameter<ParameterSet>("SSDigitizerAlgorithm").getParameter<int>("HitDetectionMode")),
22  pulseShapeParameters_(conf.getParameter<ParameterSet>("SSDigitizerAlgorithm")
23  .getParameter<std::vector<double> >("PulseShapeParameters")),
24  deadTime_(conf.getParameter<ParameterSet>("SSDigitizerAlgorithm").getParameter<double>("CBCDeadTime")) {
25  pixelFlag_ = false;
26  LogDebug("SSDigitizerAlgorithm ") << "SSDigitizerAlgorithm constructed "
27  << "Configuration parameters:"
28  << "Threshold/Gain = "
29  << "threshold in electron Endcap = " << theThresholdInE_Endcap_
30  << "threshold in electron Barrel = " << theThresholdInE_Barrel_ << " "
31  << theElectronPerADC_ << " " << theAdcFullScale_ << " The delta cut-off is set to "
32  << tMax_ << " pix-inefficiency " << addPixelInefficiency_;
34 }

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

◆ ~SSDigitizerAlgorithm()

SSDigitizerAlgorithm::~SSDigitizerAlgorithm ( )
override

Definition at line 35 of file SSDigitizerAlgorithm.cc.

35 { LogDebug("SSDigitizerAlgorithm") << "SSDigitizerAlgorithm deleted"; }

References LogDebug.

Member Function Documentation

◆ accumulateSimHits()

void SSDigitizerAlgorithm::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 36 of file SSDigitizerAlgorithm.cc.

41  {
42  // produce SignalPoint's for all SimHit's in detector
43  // Loop over hits
44  uint32_t detId = pixdet->geographicalId().rawId();
45  size_t simHitGlobalIndex = inputBeginGlobalIndex; // This needs to be stored to create the digi-sim link later
46 
47  // find the relevant hits
48  std::vector<PSimHit> matchedSimHits;
49  std::copy_if(inputBegin, inputEnd, std::back_inserter(matchedSimHits), [detId](auto const& hit) -> bool {
50  return hit.detUnitId() == detId;
51  });
52  // loop over a much reduced set of SimHits
53  for (auto const& hit : matchedSimHits) {
54  LogDebug("SSDigitizerAlgorithm") << hit.particleType() << " " << hit.pabs() << " " << hit.energyLoss() << " "
55  << hit.tof() << " " << hit.trackId() << " " << hit.processType() << " "
56  << hit.detUnitId() << hit.entryPoint() << " " << hit.exitPoint();
57 
58  std::vector<DigitizerUtility::EnergyDepositUnit> ionization_points;
59  std::vector<DigitizerUtility::SignalPoint> collection_points;
60 
61  double signalScale = 1.0;
62  // fill collection_points for this SimHit, indpendent of topology
63  if (select_hit(hit, (pixdet->surface().toGlobal(hit.localPosition()).mag() * c_inv), signalScale)) {
64  primary_ionization(hit, ionization_points); // fills ionization_points
65 
66  // transforms ionization_points -> collection_points
67  drift(hit, pixdet, bfield, ionization_points, collection_points);
68 
69  // compute induced signal on readout elements and add to _signal
70  // hit needed only for SimHit<-->Digi link
71  induce_signal(hit, simHitGlobalIndex, tofBin, pixdet, collection_points);
72  }
73  ++simHitGlobalIndex;
74  }
75 }

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

◆ aScalingConstant()

double SSDigitizerAlgorithm::aScalingConstant ( int  N,
int  i 
)
private

Definition at line 133 of file SSDigitizerAlgorithm.cc.

133  {
134  return std::pow(-1, (double)i) * nFactorial(N) * nFactorial(N + 2) /
135  (nFactorial(N - i) * nFactorial(N + 2 - i) * nFactorial(i));
136 }

References mps_fire::i, N, nFactorial(), and funct::pow().

Referenced by cbc3PulsePolarExpansion().

◆ cbc3PulsePolarExpansion()

double SSDigitizerAlgorithm::cbc3PulsePolarExpansion ( double  x)
private

Definition at line 137 of file SSDigitizerAlgorithm.cc.

137  {
138  constexpr size_t max_par = 6;
139  if (pulseShapeParameters_.size() < max_par)
140  return -1;
141  double xOffset = pulseShapeParameters_[0];
142  double tau = pulseShapeParameters_[1];
143  double r = pulseShapeParameters_[2];
144  double theta = pulseShapeParameters_[3];
145  int nTerms = static_cast<int>(pulseShapeParameters_[4]);
146 
147  double fN = 0;
148  double xx = x - xOffset;
149  if (xx < 0)
150  return 0;
151 
152  for (int i = 0; i < nTerms; i++) {
153  double angularTerm = 0;
154  double temporalTerm = 0;
155  double rTerm = std::pow(r, i) / (std::pow(tau, 2. * i) * nFactorial(i + 2));
156  for (int j = 0; j <= i; j++) {
157  angularTerm += std::pow(std::cos(theta), (double)(i - j)) * std::pow(std::sin(theta), (double)j);
158  temporalTerm += aScalingConstant(i, j) * std::pow(xx, (double)(i - j)) * std::pow(tau, (double)j);
159  }
160  double fi = rTerm * angularTerm * temporalTerm;
161 
162  fN += fi;
163  }
164  return fN;
165 }

References aScalingConstant(), funct::cos(), hcaldqm::quantity::fN, mps_fire::i, dqmiolumiharvest::j, nFactorial(), funct::pow(), pulseShapeParameters_, alignCSCRings::r, funct::sin(), metsig::tau, theta(), x, phase1PixelTopology::xOffset, and geometryCSVtoXML::xx.

Referenced by signalShape().

◆ getSignalScale()

double SSDigitizerAlgorithm::getSignalScale ( double  xval)
private

Definition at line 181 of file SSDigitizerAlgorithm.cc.

181  {
182  double res = 0.0;
183  int len = pulseShapeVec_.size();
184 
185  if (xval < 0.0 || xval * interpolationStep >= len)
186  return res;
187 
188  unsigned int lower = std::floor(xval) * interpolationStep;
189  unsigned int upper = std::ceil(xval) * interpolationStep;
190  for (size_t i = lower + 1; i < upper * interpolationStep; i++) {
191  float val = i * 0.1;
192  if (val > xval) {
193  res = pulseShapeVec_[i - 1];
194  break;
195  }
196  }
197  return res;
198 }

References reco::ceil(), mps_fire::i, interpolationStep, pulseShapeVec_, pileupCalc::upper, and heppy_batch::val.

Referenced by select_hit_latchedMode(), and select_hit_sampledMode().

◆ init()

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

Implements Phase2TrackerDigitizerAlgorithm.

Definition at line 17 of file SSDigitizerAlgorithm.cc.

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

◆ isAboveThreshold()

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

Reimplemented from Phase2TrackerDigitizerAlgorithm.

Definition at line 202 of file SSDigitizerAlgorithm.cc.

204  {
205  return (charge >= thr);
206 }

References ALCARECOTkAlJpsiMuMu_cff::charge.

◆ nFactorial()

double SSDigitizerAlgorithm::nFactorial ( int  n)
private

Definition at line 132 of file SSDigitizerAlgorithm.cc.

132 { return std::tgamma(n + 1); }

References dqmiodumpmetadata::n.

Referenced by aScalingConstant(), and cbc3PulsePolarExpansion().

◆ select_hit()

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

◆ select_hit_latchedMode()

bool SSDigitizerAlgorithm::select_hit_latchedMode ( const PSimHit hit,
double  tCorr,
double &  sigScale 
)
private

Definition at line 108 of file SSDigitizerAlgorithm.cc.

108  {
109  float toa = hit.tof() - tCorr;
110  toa -= hit.eventId().bunchCrossing() * bx_time;
111 
112  float sampling_time = (-1) * (hit.eventId().bunchCrossing() + 1) * bx_time;
113 
114  DetId det_id = DetId(hit.detUnitId());
115  float theThresholdInE =
117 
118  bool lastPulse = true;
119  bool aboveThr = false;
120  for (float i = deadTime_; i <= bx_time; i++) {
121  sigScale = getSignalScale(sampling_time - toa + i);
122 
123  aboveThr = (sigScale * hit.energyLoss() / GeVperElectron_ > theThresholdInE);
124  if (!lastPulse && aboveThr)
125  return true;
126 
127  lastPulse = aboveThr;
128  }
129  return false;
130 }

References bx_time, deadTime_, getSignalScale(), Phase2TrackerDigitizerAlgorithm::GeVperElectron_, mps_fire::i, DetId::subdetId(), Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_, and StripSubdetector::TOB.

Referenced by select_hit().

◆ select_hit_sampledMode()

bool SSDigitizerAlgorithm::select_hit_sampledMode ( const PSimHit hit,
double  tCorr,
double &  sigScale 
)
private

Definition at line 94 of file SSDigitizerAlgorithm.cc.

94  {
95  double toa = hit.tof() - tCorr;
96  double sampling_time = bx_time;
97 
98  DetId det_id = DetId(hit.detUnitId());
99  float theThresholdInE =
101 
102  sigScale = getSignalScale(sampling_time - toa);
103  return (sigScale * hit.energyLoss() / GeVperElectron_ > theThresholdInE);
104 }

References bx_time, getSignalScale(), Phase2TrackerDigitizerAlgorithm::GeVperElectron_, DetId::subdetId(), Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_, Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_, and StripSubdetector::TOB.

Referenced by select_hit().

◆ signalShape()

double SSDigitizerAlgorithm::signalShape ( double  x)
private

Definition at line 166 of file SSDigitizerAlgorithm.cc.

166  {
167  double xOffset = pulseShapeParameters_[0];
168  double tau = pulseShapeParameters_[1];
169  double maxCharge = pulseShapeParameters_[5];
170 
171  double xx = x - xOffset;
172  return maxCharge * (std::exp(-xx / tau) * std::pow(xx / tau, 2.) * cbc3PulsePolarExpansion(x));
173 }

References cbc3PulsePolarExpansion(), JetChargeProducer_cfi::exp, funct::pow(), pulseShapeParameters_, metsig::tau, x, phase1PixelTopology::xOffset, and geometryCSVtoXML::xx.

Referenced by storeSignalShape().

◆ storeSignalShape()

void SSDigitizerAlgorithm::storeSignalShape ( )
private

Definition at line 174 of file SSDigitizerAlgorithm.cc.

174  {
175  for (size_t i = 0; i < interpolationPoints; i++) {
176  float val = i / interpolationStep;
177 
178  pulseShapeVec_.push_back(signalShape(val));
179  }
180 }

References mps_fire::i, interpolationPoints, interpolationStep, pulseShapeVec_, signalShape(), and heppy_batch::val.

Referenced by SSDigitizerAlgorithm().

Member Data Documentation

◆ bx_time

constexpr float SSDigitizerAlgorithm::bx_time {25}
staticconstexprprivate

Definition at line 39 of file SSDigitizerAlgorithm.h.

Referenced by select_hit_latchedMode(), and select_hit_sampledMode().

◆ deadTime_

float SSDigitizerAlgorithm::deadTime_
private

Definition at line 38 of file SSDigitizerAlgorithm.h.

Referenced by select_hit_latchedMode().

◆ hitDetectionMode_

int SSDigitizerAlgorithm::hitDetectionMode_
private

Definition at line 35 of file SSDigitizerAlgorithm.h.

Referenced by select_hit().

◆ interpolationPoints

constexpr size_t SSDigitizerAlgorithm::interpolationPoints {1000}
staticconstexprprivate

Definition at line 40 of file SSDigitizerAlgorithm.h.

Referenced by storeSignalShape().

◆ interpolationStep

constexpr int SSDigitizerAlgorithm::interpolationStep {10}
staticconstexprprivate

Definition at line 41 of file SSDigitizerAlgorithm.h.

Referenced by getSignalScale(), and storeSignalShape().

◆ pulseShapeParameters_

std::vector<double> SSDigitizerAlgorithm::pulseShapeParameters_
private

Definition at line 37 of file SSDigitizerAlgorithm.h.

Referenced by cbc3PulsePolarExpansion(), and signalShape().

◆ pulseShapeVec_

std::vector<double> SSDigitizerAlgorithm::pulseShapeVec_
private

Definition at line 36 of file SSDigitizerAlgorithm.h.

Referenced by getSignalScale(), and storeSignalShape().

SSDigitizerAlgorithm::storeSignalShape
void storeSignalShape()
Definition: SSDigitizerAlgorithm.cc:174
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Barrel_
const float theThresholdInE_Barrel_
Definition: Phase2TrackerDigitizerAlgorithm.h:141
mps_fire.i
i
Definition: mps_fire.py:355
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
Phase2TrackerDigitizerAlgorithm::theTofUpperCut_
const float theTofUpperCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:150
metsig::tau
Definition: SignAlgoResolutions.h:49
SSDigitizerAlgorithm::interpolationStep
static constexpr int interpolationStep
Definition: SSDigitizerAlgorithm.h:41
SSDigitizerAlgorithm::pulseShapeVec_
std::vector< double > pulseShapeVec_
Definition: SSDigitizerAlgorithm.h:36
SSDigitizerAlgorithm::getSignalScale
double getSignalScale(double xval)
Definition: SSDigitizerAlgorithm.cc:181
Phase2TrackerDigitizerAlgorithm::geom_
edm::ESHandle< TrackerGeometry > geom_
Definition: Phase2TrackerDigitizerAlgorithm.h:92
SSDigitizerAlgorithm::SquareWindow
Definition: SSDigitizerAlgorithm.h:25
SSDigitizerAlgorithm::interpolationPoints
static constexpr size_t interpolationPoints
Definition: SSDigitizerAlgorithm.h:40
SSDigitizerAlgorithm::bx_time
static constexpr float bx_time
Definition: SSDigitizerAlgorithm.h:39
DDAxes::x
SSDigitizerAlgorithm::nFactorial
double nFactorial(int n)
Definition: SSDigitizerAlgorithm.cc:132
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Phase2TrackerDigitizerAlgorithm::theTofLowerCut_
const float theTofLowerCut_
Definition: Phase2TrackerDigitizerAlgorithm.h:149
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
Phase2TrackerDigitizerAlgorithm::primary_ionization
void primary_ionization(const PSimHit &hit, std::vector< DigitizerUtility::EnergyDepositUnit > &ionization_points) const
Definition: Phase2TrackerDigitizerAlgorithm.cc:183
SSDigitizerAlgorithm::cbc3PulsePolarExpansion
double cbc3PulsePolarExpansion(double x)
Definition: SSDigitizerAlgorithm.cc:137
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
reco::ceil
constexpr int32_t ceil(float num)
Definition: constexpr_cmath.h:7
Phase2TrackerDigitizerAlgorithm::theAdcFullScale_
const int theAdcFullScale_
Definition: Phase2TrackerDigitizerAlgorithm.h:135
SSDigitizerAlgorithm::LatchedMode
Definition: SSDigitizerAlgorithm.h:25
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
SSDigitizerAlgorithm::signalShape
double signalShape(double x)
Definition: SSDigitizerAlgorithm.cc:166
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
SSDigitizerAlgorithm::pulseShapeParameters_
std::vector< double > pulseShapeParameters_
Definition: SSDigitizerAlgorithm.h:37
N
#define N
Definition: blowfish.cc:9
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
hcaldqm::quantity::fN
Definition: ValueQuantity.h:11
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
SSDigitizerAlgorithm::select_hit_sampledMode
bool select_hit_sampledMode(const PSimHit &hit, double tCorr, double &sigScale)
Definition: SSDigitizerAlgorithm.cc:94
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
phase1PixelTopology::xOffset
constexpr int16_t xOffset
Definition: phase1PixelTopology.h:18
SSDigitizerAlgorithm::deadTime_
float deadTime_
Definition: SSDigitizerAlgorithm.h:38
Phase2TrackerDigitizerAlgorithm::theElectronPerADC_
const float theElectronPerADC_
Definition: Phase2TrackerDigitizerAlgorithm.h:134
Phase2TrackerDigitizerAlgorithm::GeVperElectron_
const float GeVperElectron_
Definition: Phase2TrackerDigitizerAlgorithm.h:120
get
#define get
SSDigitizerAlgorithm::aScalingConstant
double aScalingConstant(int N, int i)
Definition: SSDigitizerAlgorithm.cc:133
res
Definition: Electron.h:6
Phase2TrackerDigitizerAlgorithm::theThresholdInE_Endcap_
const float theThresholdInE_Endcap_
Definition: Phase2TrackerDigitizerAlgorithm.h:140
alignCSCRings.r
r
Definition: alignCSCRings.py:93
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
heppy_batch.val
val
Definition: heppy_batch.py:351
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
SSDigitizerAlgorithm::select_hit
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) override
Definition: SSDigitizerAlgorithm.cc:79
Phase2TrackerDigitizerAlgorithm::Phase2TrackerDigitizerAlgorithm
Phase2TrackerDigitizerAlgorithm(const edm::ParameterSet &conf_common, const edm::ParameterSet &conf_specific)
Definition: Phase2TrackerDigitizerAlgorithm.cc:48
SSDigitizerAlgorithm::hitDetectionMode_
int hitDetectionMode_
Definition: SSDigitizerAlgorithm.h:35
SSDigitizerAlgorithm::SampledMode
Definition: SSDigitizerAlgorithm.h:25
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
pileupCalc.upper
upper
Definition: pileupCalc.py:214
SSDigitizerAlgorithm::SampledOrLachedMode
Definition: SSDigitizerAlgorithm.h:25
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
mps_fire.result
result
Definition: mps_fire.py:303
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
Phase2TrackerDigitizerAlgorithm::addPixelInefficiency_
const bool addPixelInefficiency_
Definition: Phase2TrackerDigitizerAlgorithm.h:160
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
hit
Definition: SiStripHitEffFromCalibTree.cc:88
SSDigitizerAlgorithm::HIPFindingMode
Definition: SSDigitizerAlgorithm.h:25
SSDigitizerAlgorithm::select_hit_latchedMode
bool select_hit_latchedMode(const PSimHit &hit, double tCorr, double &sigScale)
Definition: SSDigitizerAlgorithm.cc:108