CMS 3D CMS Logo

SSDigitizerAlgorithm.h
Go to the documentation of this file.
1 #ifndef _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
2 #define _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
3 
5 
7 public:
9  ~SSDigitizerAlgorithm() override;
10 
11  // initialization that cannot be done in the constructor
12  void init(const edm::EventSetup& es) override;
13 
14  // run the algorithm to digitize a single det
15  void accumulateSimHits(const std::vector<PSimHit>::const_iterator inputBegin,
16  const std::vector<PSimHit>::const_iterator inputEnd,
17  const size_t inputBeginGlobalIndex,
18  const uint32_t tofBin,
19  const Phase2TrackerGeomDetUnit* pixdet,
20  const GlobalVector& bfield) override;
21  bool select_hit(const PSimHit& hit, double tCorr, double& sigScale) override;
22  bool isAboveThreshold(const DigitizerUtility::SimHitInfo* hitInfo, float charge, float thr) override;
23 
24 private:
26  double nFactorial(int n);
27  double aScalingConstant(int N, int i);
28  double cbc3PulsePolarExpansion(double x);
29  double signalShape(double x);
30  double getSignalScale(double xval);
31  void storeSignalShape();
32  bool select_hit_sampledMode(const PSimHit& hit, double tCorr, double& sigScale);
33  bool select_hit_latchedMode(const PSimHit& hit, double tCorr, double& sigScale);
34 
36  std::vector<double> pulseShapeVec_;
37  std::vector<double> pulseShapeParameters_;
38  float deadTime_;
39  static constexpr float bx_time{25};
40  static constexpr size_t interpolationPoints{1000};
41  static constexpr int interpolationStep{10};
42 };
43 #endif
Vector3DBase
Definition: Vector3DBase.h:8
SSDigitizerAlgorithm::storeSignalShape
void storeSignalShape()
Definition: SSDigitizerAlgorithm.cc:174
mps_fire.i
i
Definition: mps_fire.py:355
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
SSDigitizerAlgorithm::SSDigitizerAlgorithm
SSDigitizerAlgorithm(const edm::ParameterSet &conf)
Definition: SSDigitizerAlgorithm.cc:18
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
SSDigitizerAlgorithm
Definition: SSDigitizerAlgorithm.h:6
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
Phase2TrackerDigitizerAlgorithm.h
SSDigitizerAlgorithm::~SSDigitizerAlgorithm
~SSDigitizerAlgorithm() override
Definition: SSDigitizerAlgorithm.cc:35
DDAxes::x
SSDigitizerAlgorithm::nFactorial
double nFactorial(int n)
Definition: SSDigitizerAlgorithm.cc:132
SSDigitizerAlgorithm::cbc3PulsePolarExpansion
double cbc3PulsePolarExpansion(double x)
Definition: SSDigitizerAlgorithm.cc:137
SSDigitizerAlgorithm::accumulateSimHits
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
Definition: SSDigitizerAlgorithm.cc:36
SSDigitizerAlgorithm::LatchedMode
Definition: SSDigitizerAlgorithm.h:25
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
SSDigitizerAlgorithm::signalShape
double signalShape(double x)
Definition: SSDigitizerAlgorithm.cc:166
SSDigitizerAlgorithm::pulseShapeParameters_
std::vector< double > pulseShapeParameters_
Definition: SSDigitizerAlgorithm.h:37
N
#define N
Definition: blowfish.cc:9
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
edm::ParameterSet
Definition: ParameterSet.h:36
Phase2TrackerDigitizerAlgorithm
Definition: Phase2TrackerDigitizerAlgorithm.h:58
SSDigitizerAlgorithm::deadTime_
float deadTime_
Definition: SSDigitizerAlgorithm.h:38
edm::EventSetup
Definition: EventSetup.h:57
SSDigitizerAlgorithm::aScalingConstant
double aScalingConstant(int N, int i)
Definition: SSDigitizerAlgorithm.cc:133
DigitizerUtility::SimHitInfo
Definition: DigitizerUtility.h:14
SSDigitizerAlgorithm::select_hit
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) override
Definition: SSDigitizerAlgorithm.cc:79
SSDigitizerAlgorithm::init
void init(const edm::EventSetup &es) override
Definition: SSDigitizerAlgorithm.cc:17
SSDigitizerAlgorithm::hitDetectionMode_
int hitDetectionMode_
Definition: SSDigitizerAlgorithm.h:35
SSDigitizerAlgorithm::isAboveThreshold
bool isAboveThreshold(const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr) override
Definition: SSDigitizerAlgorithm.cc:202
SSDigitizerAlgorithm::SampledMode
Definition: SSDigitizerAlgorithm.h:25
SSDigitizerAlgorithm::SampledOrLachedMode
Definition: SSDigitizerAlgorithm.h:25
PSimHit
Definition: PSimHit.h:15
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