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  const bool debug_;
46 
47  const float bxTime_;
48  const float testBeamMIPTimeRes_;
49  const float ScintillatorRiseTime_;
51  const float ChannelTimeOffset_;
53 
54  const float EnergyThreshold_;
55  const float TimeThreshold1_;
56  const float TimeThreshold2_;
57  const float ReferencePulseNpe_;
58 
60  const float DarkCountRate_;
61  const float SigmaElectronicNoise_;
62  const float SigmaClock_;
64  const float Npe_to_pC_;
65  const float Npe_to_V_;
66  const std::vector<double> sigmaRelTOFHIRenergy_;
67 
68  // adc/tdc bitwidths
69  const uint32_t adcNbits_, tdcNbits_;
70 
71  // synthesized adc/tdc information
72  const float adcSaturation_MIP_;
73  const uint32_t adcBitSaturation_;
74  const float adcLSB_MIP_;
75  const float adcThreshold_MIP_;
76  const float toaLSB_ns_;
77  const uint32_t tdcBitSaturation_;
78 
79  const float CorrCoeff_;
80  const float cosPhi_;
81  const float sinPhi_;
82 
85  const float SPTR2_;
86  const float DCRxRiseTime_;
88  const float SigmaClock2_;
89 
91 };
92 
93 #endif
void getEvent(const edm::Event &evt)
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_
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_
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_
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_