CMS 3D CMS Logo

ESDigitizer.h
Go to the documentation of this file.
1 #ifndef EcalSimAlgos_ESDigitizer_h
2 #define EcalSimAlgos_ESDigitizer_h
3 
6 
7 namespace CLHEP {
8  class RandGeneral;
9  class HepRandomEngine;
10 } // namespace CLHEP
11 
12 #include <vector>
13 
14 class ESDigitizer : public EcalTDigitizer<ESDigitizerTraits> {
15 public:
17 
19 
20  ~ESDigitizer() override;
21 
22  void run(ESDigiCollection& output, CLHEP::HepRandomEngine*) override;
23 
24  void setDetIds(const std::vector<DetId>& detIds);
25 
26  void setGain(const int gain);
27 
28 private:
29  void createNoisyList(std::vector<DetId>& abThreshCh, CLHEP::HepRandomEngine*);
30 
31  const std::vector<DetId>* m_detIds;
32  CLHEP::RandGeneral* m_ranGeneral;
33  int m_ESGain;
34  double m_histoBin;
35  double m_histoInf;
36  double m_histoWid;
37  double m_meanNoisy;
38 
39  class Triplet {
40  public:
41  Triplet() : first(0), second(0), third(0) {}
42  Triplet(uint32_t a0, uint32_t a1, uint32_t a2) : first(a0), second(a1), third(a2) {}
43  ~Triplet(){};
44  uint32_t first;
45  uint32_t second;
46  uint32_t third;
47  };
48 
49  std::vector<Triplet> m_trip;
50 };
51 
52 #endif
EcalTDigitizer.h
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
EcalTDigitizer< ESDigitizerTraits >::addNoise
bool addNoise() const
ESDigitizer::setDetIds
void setDetIds(const std::vector< DetId > &detIds)
tell the digitizer which cells exist; cannot change during a run
Definition: ESDigitizer.cc:29
EcalDigitizerTraits.h
testProducerWithPsetDescEmpty_cfi.a2
a2
Definition: testProducerWithPsetDescEmpty_cfi.py:35
ESDigitizer::Triplet::second
uint32_t second
Definition: ESDigitizer.h:45
ESDigitizer::m_trip
std::vector< Triplet > m_trip
Definition: ESDigitizer.h:49
ESDigitizer::Triplet
Definition: ESDigitizer.h:39
ESDigitizer::Triplet::Triplet
Triplet()
Definition: ESDigitizer.h:41
ESDigitizer::m_meanNoisy
double m_meanNoisy
Definition: ESDigitizer.h:37
ESDigitizer::m_ESGain
int m_ESGain
Definition: ESDigitizer.h:33
ESDigitizer::Triplet::Triplet
Triplet(uint32_t a0, uint32_t a1, uint32_t a2)
Definition: ESDigitizer.h:42
ESDigiCollection
Definition: EcalDigiCollections.h:58
CLHEP
Definition: CocoaGlobals.h:27
ESDigitizer::createNoisyList
void createNoisyList(std::vector< DetId > &abThreshCh, CLHEP::HepRandomEngine *)
Definition: ESDigitizer.cc:164
ESDigitizer::m_ranGeneral
CLHEP::RandGeneral * m_ranGeneral
Definition: ESDigitizer.h:32
ESDigitizer::Triplet::first
uint32_t first
Definition: ESDigitizer.h:43
EcalHitResponse
Definition: EcalHitResponse.h:28
ESElectronicsSimFast
Definition: ESElectronicsSimFast.h:16
ESDigitizer::setGain
void setGain(const int gain)
Definition: ESDigitizer.cc:34
ESDigitizer::m_histoInf
double m_histoInf
Definition: ESDigitizer.h:35
ESDigitizer::m_histoBin
double m_histoBin
Definition: ESDigitizer.h:34
EcalTDigitizer
Definition: EcalTDigitizer.h:23
ESDigitizer::ElectronicsSim
ESDigitizerTraits::ElectronicsSim ElectronicsSim
Definition: ESDigitizer.h:16
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
ESDigitizer::~ESDigitizer
~ESDigitizer() override
Definition: ESDigitizer.cc:26
ESDigitizer
Definition: ESDigitizer.h:14
ESDigitizer::Triplet::third
uint32_t third
Definition: ESDigitizer.h:46
ESDigitizer::m_detIds
const std::vector< DetId > * m_detIds
Definition: ESDigitizer.h:31
ESDigitizer::run
void run(ESDigiCollection &output, CLHEP::HepRandomEngine *) override
turns hits into digis
Definition: ESDigitizer.cc:130
ESDigitizer::m_histoWid
double m_histoWid
Definition: ESDigitizer.h:36
a0
static constexpr float a0
Definition: L1EGammaCrystalsEmulatorProducer.cc:82
EcalTDigitizer< ESDigitizerTraits >::hitResponse
const EcalHitResponse * hitResponse() const
ESDigitizer::ESDigitizer
ESDigitizer(EcalHitResponse *hitResponse, ElectronicsSim *electronicsSim, bool addNoise)
Definition: ESDigitizer.cc:13
ESDigitizer::Triplet::~Triplet
~Triplet()
Definition: ESDigitizer.h:43