CMS 3D CMS Logo

BTLElectronicsSim.h
Go to the documentation of this file.
1 #ifndef __SimFastTiming_FastTimingCommon_BTLElectronicsSim_h__
2 #define __SimFastTiming_FastTimingCommon_BTLElectronicsSim_h__
3 
6 
9 
12 
14 
15 namespace mtd = mtd_digitizer;
16 
17 namespace CLHEP {
18  class HepRandomEngine;
19 }
20 
22 public:
24 
25  void getEvent(const edm::Event& evt) {}
26 
27  void getEventSetup(const edm::EventSetup& evt) {}
28 
29  void run(const mtd::MTDSimHitDataAccumulator& input, BTLDigiCollection& output, CLHEP::HepRandomEngine* hre) const;
30 
31  void runTrivialShaper(BTLDataFrame& dataFrame,
32  const mtd::MTDSimHitData& chargeColl,
33  const mtd::MTDSimHitData& toa1,
34  const mtd::MTDSimHitData& toa2,
35  const uint8_t row,
36  const uint8_t col) const;
37 
38  void updateOutput(BTLDigiCollection& coll, const BTLDataFrame& rawDataFrame) const;
39 
40  static constexpr int dfSIZE = 2;
41 
42 private:
43  float sigma2_pe(const float& Q, const float& R) const;
44 
45  float sigma_stochastic(const float& npe) const;
46 
47  float sigma2_DCR(const float& npe) const;
48 
49  float sigma2_electronics(const float npe) const;
50 
51  const bool debug_;
52 
53  const float bxTime_;
54  const float testBeamMIPTimeRes_;
55  const float ScintillatorRiseTime_;
57  const float ChannelTimeOffset_;
59 
60  const float EnergyThreshold_;
61  const float TimeThreshold1_;
62  const float TimeThreshold2_;
63  const float ReferencePulseNpe_;
64 
66  const float DarkCountRate_;
67  const float SigmaElectronicNoise_;
68  const float SigmaClock_;
70  const float Npe_to_pC_;
71  const float Npe_to_V_;
72  const std::vector<double> sigmaRelTOFHIRenergy_;
73 
74  // adc/tdc bitwidths
75  const uint32_t adcNbits_, tdcNbits_;
76 
77  // synthesized adc/tdc information
78  const float adcSaturation_MIP_;
79  const uint32_t adcBitSaturation_;
80  const float adcLSB_MIP_;
81  const float adcThreshold_MIP_;
82  const float toaLSB_ns_;
83  const uint32_t tdcBitSaturation_;
84 
85  const float CorrCoeff_;
86  const float cosPhi_;
87  const float sinPhi_;
88 
91  const float SPTR2_;
92  const float DCRxRiseTime_;
94  const float SigmaClock2_;
95 
97 };
98 
99 #endif
void getEvent(const edm::Event &evt)
float sigma_stochastic(const float &npe) const
const float Npe_to_pC_
const float DCRxRiseTime_
const float adcThreshold_MIP_
std::array< MTDSimData_t, nSamples > MTDSimHitData
const bool smearTimeForOOTtails_
const float adcSaturation_MIP_
const float SigmaClock_
void updateOutput(BTLDigiCollection &coll, const BTLDataFrame &rawDataFrame) const
const float DarkCountRate_
std::unordered_map< MTDCellId, MTDCellInfo > MTDSimHitDataAccumulator
const float ScintillatorDecayTimeInv_
const float TimeThreshold2_
const float adcLSB_MIP_
static constexpr int dfSIZE
static std::string const input
Definition: EdmProvDump.cc:50
const float ScintillatorDecayTime2_
float sigma2_electronics(const float npe) const
const std::vector< double > sigmaRelTOFHIRenergy_
const float toaLSB_ns_
void runTrivialShaper(BTLDataFrame &dataFrame, const mtd::MTDSimHitData &chargeColl, const mtd::MTDSimHitData &toa1, const mtd::MTDSimHitData &toa2, const uint8_t row, const uint8_t col) const
float sigma2_pe(const float &Q, const float &R) const
const BTLPulseShape btlPulseShape_
const float CorrCoeff_
const uint32_t adcBitSaturation_
float sigma2_DCR(const float &npe) const
const uint32_t tdcNbits_
const float SigmaElectronicNoise2_
const float SigmaElectronicNoise_
const float EnergyThreshold_
BTLElectronicsSim(const edm::ParameterSet &pset, edm::ConsumesCollector iC)
const float SinglePhotonTimeResolution_
const uint32_t tdcBitSaturation_
const float ScintillatorDecayTime_
const float TimeThreshold1_
const float ChannelTimeOffset_
col
Definition: cuy.py:1009
Readout digi for HGC.
Definition: FTLDataFrameT.h:14
const float ScintillatorRiseTime_
const float testBeamMIPTimeRes_
Definition: output.py:1
const float smearChannelTimeOffset_
void run(const mtd::MTDSimHitDataAccumulator &input, BTLDigiCollection &output, CLHEP::HepRandomEngine *hre) const
const float SigmaClock2_
void getEventSetup(const edm::EventSetup &evt)
const uint32_t adcNbits_
const float ReferencePulseNpe_