CMS 3D CMS Logo

HGCalTriggerCellBestChoiceCodecImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalTriggerCellBestChoiceCodecImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalTriggerCellBestChoiceCodecImpl_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 bestChoiceSelect(data_type&);
44 
45  // Retrieve parameters
46  size_t nCellsInModule() const {return nCellsInModule_;}
47  size_t nData() const {return nData_;}
48  size_t dataLength() const {return dataLength_;}
49  double linLSB() const {return linLSB_;}
50  uint32_t linnBits() const {return linnBits_;}
51  double adcsaturation() const {return adcsaturation_;}
52  uint32_t adcnBits() const {return adcnBits_;}
53  double tdcsaturation() const {return tdcsaturation_;}
54  uint32_t tdcnBits() const {return tdcnBits_;}
55  double tdcOnsetfC() const {return tdcOnsetfC_;}
56  uint32_t triggerCellTruncationBits() const {return triggerCellTruncationBits_;}
57  uint32_t triggerCellSaturationBits() const {return triggerCellSaturationBits_;}
58  std::vector<double> ThicknessCorrections() const {return thickness_corrections_;}
59 
60 
61  private:
62  size_t nData_;
63  size_t dataLength_;
65  double linLSB_;
66  uint32_t linnBits_;
67  uint32_t linMax_;
69  uint32_t adcnBits_;
70  double tdcsaturation_ ;
71  uint32_t tdcnBits_ ;
72  double tdcOnsetfC_ ;
73  double adcLSB_;
74  double tdcLSB_;
77  std::vector<double> thickness_corrections_;
78 
79 };
80 
81 #endif
bool decode(bool &, std::string const &)
Definition: types.cc:62
def encode(args, files)
Readout digi for HGC.
Definition: HGCDataFrame.h:14
HGCalTriggerCellBestChoiceDataPayload data_type
std::vector< l1t::HGCalTriggerCell > trigger_cell_list