CMS 3D CMS Logo

HcalRecoParam.h
Go to the documentation of this file.
1 #ifndef HcalRecoParam_h
2 #define HcalRecoParam_h
3 
14 #include <cstdint>
15 
17 public:
18  constexpr HcalRecoParam() : mId(0), mParam1(0), mParam2(0) {}
19 
20  constexpr HcalRecoParam(unsigned long fId, unsigned int fParam1, unsigned int fParam2)
21  : mId(fId), mParam1(fParam1), mParam2(fParam2) {}
22 
23  constexpr uint32_t rawId() const { return mId; }
24 
25  constexpr unsigned int param1() const { return mParam1; }
26  constexpr unsigned int param2() const { return mParam2; }
27 
28  constexpr bool correctForPhaseContainment() const { return mParam1 & 0x1; }
29  constexpr bool correctForLeadingEdge() const { return (mParam1 >> 1) & 0x1; }
30  constexpr float correctionPhaseNS() const { return ((mParam1 >> 2) & 0xFF) / 4. - 32.; }
31  constexpr unsigned int firstSample() const { return (mParam1 < 10) ? (mParam1) : ((mParam1 >> 10) & 0xF); }
32  constexpr unsigned int samplesToAdd() const { return (mParam1 < 10) ? (mParam2) : ((mParam1 >> 14) & 0xF); }
33  constexpr unsigned int pulseShapeID() const { return (mParam1 >> 18) & 0x1FF; }
34 
35  constexpr bool useLeakCorrection() const { return mParam2 & 0x1; }
36  constexpr unsigned int leakCorrectionID() const { return (mParam2 >> 1) & 0xF; }
37  constexpr bool correctForTimeslew() const { return (mParam2 >> 5) & 0x1; }
38  constexpr unsigned int timeslewCorrectionID() const { return (mParam2 >> 6) & 0xF; }
39  constexpr bool correctTiming() const { return (mParam2 >> 10) & 0x1; }
40  constexpr unsigned int firstAuxTS() const { return (mParam2 >> 11) & 0xF; }
41  constexpr unsigned int specialCaseID() const { return (mParam2 >> 15) & 0xF; }
42  constexpr unsigned int noiseFlaggingID() const { return (mParam2 >> 19) & 0xF; }
43  constexpr unsigned int pileupCleaningID() const { return (mParam2 >> 23) & 0xF; }
44  constexpr unsigned int packingScheme() const { return (mParam2 >> 27) & 0xF; }
45 
46 private:
47  uint32_t mId;
48  uint32_t mParam1;
49  uint32_t mParam2;
50 
52 };
53 
54 #endif
HcalRecoParam::noiseFlaggingID
constexpr unsigned int noiseFlaggingID() const
Definition: HcalRecoParam.h:42
HcalRecoParam::correctionPhaseNS
constexpr float correctionPhaseNS() const
Definition: HcalRecoParam.h:30
HcalRecoParam::rawId
constexpr uint32_t rawId() const
Definition: HcalRecoParam.h:23
HcalRecoParam::param1
constexpr unsigned int param1() const
Definition: HcalRecoParam.h:25
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition: Serializable.h:39
HcalRecoParam::leakCorrectionID
constexpr unsigned int leakCorrectionID() const
Definition: HcalRecoParam.h:36
HcalRecoParam::correctForLeadingEdge
constexpr bool correctForLeadingEdge() const
Definition: HcalRecoParam.h:29
HcalRecoParam::mParam1
uint32_t mParam1
Definition: HcalRecoParam.h:48
HcalRecoParam::HcalRecoParam
constexpr HcalRecoParam()
Definition: HcalRecoParam.h:18
HcalRecoParam
Definition: HcalRecoParam.h:16
HcalRecoParam::correctForPhaseContainment
constexpr bool correctForPhaseContainment() const
Definition: HcalRecoParam.h:28
HcalRecoParam::specialCaseID
constexpr unsigned int specialCaseID() const
Definition: HcalRecoParam.h:41
HcalRecoParam::useLeakCorrection
constexpr bool useLeakCorrection() const
Definition: HcalRecoParam.h:35
HcalRecoParam::packingScheme
constexpr unsigned int packingScheme() const
Definition: HcalRecoParam.h:44
HcalRecoParam::param2
constexpr unsigned int param2() const
Definition: HcalRecoParam.h:26
HcalRecoParam::samplesToAdd
constexpr unsigned int samplesToAdd() const
Definition: HcalRecoParam.h:32
HcalRecoParam::mParam2
uint32_t mParam2
Definition: HcalRecoParam.h:49
HcalRecoParam::correctTiming
constexpr bool correctTiming() const
Definition: HcalRecoParam.h:39
HcalRecoParam::HcalRecoParam
constexpr HcalRecoParam(unsigned long fId, unsigned int fParam1, unsigned int fParam2)
Definition: HcalRecoParam.h:20
HcalRecoParam::pulseShapeID
constexpr unsigned int pulseShapeID() const
Definition: HcalRecoParam.h:33
Serializable.h
HcalRecoParam::firstSample
constexpr unsigned int firstSample() const
Definition: HcalRecoParam.h:31
HcalRecoParam::mId
uint32_t mId
Definition: HcalRecoParam.h:47
HcalRecoParam::timeslewCorrectionID
constexpr unsigned int timeslewCorrectionID() const
Definition: HcalRecoParam.h:38
HcalRecoParam::firstAuxTS
constexpr unsigned int firstAuxTS() const
Definition: HcalRecoParam.h:40
HcalRecoParam::pileupCleaningID
constexpr unsigned int pileupCleaningID() const
Definition: HcalRecoParam.h:43
HcalRecoParam::correctForTimeslew
constexpr bool correctForTimeslew() const
Definition: HcalRecoParam.h:37