CMS 3D CMS Logo

HGCalTriggerCellThresholdCodecImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalTriggerCellThresholdCodecImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalTriggerCellThresholdCodecImpl_h__
3 
4 
9 
10 #include <array>
11 #include <vector>
12 
13 
15 {
16  typedef std::vector<l1t::HGCalTriggerCell> trigger_cell_list; // list of trigger cell
17  trigger_cell_list payload;
18 
19  void reset()
20  {
21  payload.clear();
22  }
23 };
24 
25 
26 
28 {
29  public:
31 
33 
34  std::vector<bool> encode(const data_type&, const HGCalTriggerGeometryBase&) const ;
35  data_type decode(const std::vector<bool>&, const uint32_t, const HGCalTriggerGeometryBase&) const;
36 
37  void linearize(const std::vector<HGCDataFrame<DetId,HGCSample>>&,
38  std::vector<std::pair<DetId, uint32_t > >&);
39 
40  void triggerCellSums(const HGCalTriggerGeometryBase& ,
41  const std::vector<std::pair<DetId, uint32_t > >&,
42  data_type&);
43  void thresholdSelect(data_type&);
44 
45  // Retrieve parameters
46  size_t nCellsInModule() const {return nCellsInModule_;}
47  size_t dataLength() const {return dataLength_;}
48  double linLSB() const {return linLSB_;}
49  uint32_t linnBits() const {return linnBits_;}
50  double adcsaturation() const {return adcsaturation_;}
51  uint32_t adcnBits() const {return adcnBits_;}
52  double tdcsaturation() const {return tdcsaturation_;}
53  uint32_t tdcnBits() const {return tdcnBits_;}
54  double tdcOnsetfC() const {return tdcOnsetfC_;}
55  double adcsaturationBH() const {return adcsaturationBH_;}
56  uint32_t adcnBitsBH() const {return adcnBitsBH_;}
57  uint32_t triggerCellTruncationBits() const {return triggerCellTruncationBits_;}
58  uint32_t triggerCellSaturationBits() const {return triggerCellSaturationBits_;}
59  int TCThreshold_ADC() const {return TCThreshold_ADC_;}
60  double TCThreshold_fC() const {return TCThreshold_fC_;}
61  int TCThresholdBH_ADC() const {return TCThresholdBH_ADC_;}
62  double TCThresholdBH_MIP() const {return TCThresholdBH_MIP_;}
63  const std::vector<double>& ThicknessCorrections() const {return thickness_corrections_;}
64 
65  private:
66  size_t dataLength_;
68  double linLSB_;
69  uint32_t linnBits_;
70  uint32_t linMax_;
72  uint32_t adcnBits_;
73  double tdcsaturation_ ;
74  uint32_t tdcnBits_ ;
75  double tdcOnsetfC_ ;
77  uint32_t adcnBitsBH_;
78  double adcLSB_;
79  double tdcLSB_;
80  double adcLSBBH_;
87  std::vector<double> thickness_corrections_;
88 
89 };
90 
91 #endif
const std::vector< double > & ThicknessCorrections() const
std::vector< l1t::HGCalTriggerCell > trigger_cell_list
bool decode(bool &, std::string const &)
Definition: types.cc:62
def encode(args, files)
Readout digi for HGC.
Definition: HGCDataFrame.h:14
HGCalTriggerCellThresholdDataPayload data_type