CMS 3D CMS Logo

HGCRecHit.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_HGCRECHIT_H
2 #define DATAFORMATS_HGCRECHIT_H 1
3 
5 #include <vector>
6 
14 class HGCRecHit : public CaloRecHit {
15 public:
16  typedef DetId key_type;
17 
18  // HGCEE recHit flags
19  enum Flags {
20  kGood = 0, // channel ok, the energy and time measurement are reliable
21  kPoorReco, // the energy is available from the UncalibRecHit, but approximate (bad shape, large chi2)
22  kOutOfTime, // the energy is available from the UncalibRecHit (sync reco), but the event is out of time
23  kFaultyHardware, // The energy is available from the UncalibRecHit, channel is faulty at some hardware level (e.g. noisy)
24  kNoisy, // the channel is very noisy
25  kPoorCalib, // the energy is available from the UncalibRecHit, but the calibration of the channel is poor
26  kSaturated, // saturated channel (recovery not tried)
27  kDead, // channel is dead and any recovery fails
28  kKilled, // MC only flag: the channel is killed in the real detector
29  kWeird, // the signal is believed to originate from an anomalous deposit (spike)
30  kDiWeird, // the signal is anomalous, and neighbors another anomalous signal
31  //
32  kUnknown // to ease the interface with functions returning flags.
33  };
34 
35  // HGCfhe recHit flags
37 
38  // HGCbhe recHit flags
40 
41  // HFnose rechit flags
42  enum HFNoseFlags {
55  };
56 
68  HGCRecHit();
69  // by default a recHit is greated with no flag
70  HGCRecHit(const DetId& id,
71  float energy,
72  float time,
73  uint32_t flags = 0,
74  uint32_t flagBits = 0,
75  uint8_t son = 0,
76  float timeError = 0.f);
78  // For the moment not returning a specific id for subdetector
79  DetId id() const { return DetId(detid()); }
81  bool isTimeValid() const;
82  bool isTimeErrorValid() const;
83 
84  float chi2() const;
85  float outOfTimeChi2() const;
86  float signalOverSigmaNoise() const;
87 
88  // set the energy for out of time events
89  // (only energy >= 0 will be stored)
90  float outOfTimeEnergy() const;
91  float timeError() const;
92 
93  void setChi2(float chi2);
94  void setOutOfTimeChi2(float chi2);
95  void setOutOfTimeEnergy(float energy);
96  void setSignalOverSigmaNoise(float sOverNoise);
97 
98  void setTimeError(float timeErr);
99 
101  void setFlag(int flag) { flagBits_ |= (0x1 << flag); }
102  void unsetFlag(int flag) { flagBits_ &= ~(0x1 << flag); }
103 
105  bool checkFlag(int flag) const { return flagBits_ & (0x1 << flag); }
106 
108  bool checkFlags(const std::vector<int>& flagsvec) const;
109 
110  //added for validation
111  uint32_t flagBits() const { return flagBits_; }
112 
113 private:
115  uint32_t flagBits_;
117  float timeError_;
118 };
119 
120 std::ostream& operator<<(std::ostream& s, const HGCRecHit& hit);
121 
122 #endif
HGCRecHit::setSignalOverSigmaNoise
void setSignalOverSigmaNoise(float sOverNoise)
Definition: HGCRecHit.cc:64
HGCRecHit::signalOverSigmaNoise_
uint8_t signalOverSigmaNoise_
Definition: HGCRecHit.h:116
HGCRecHit::kHGCbheGood
Definition: HGCRecHit.h:39
HGCRecHit::isTimeValid
bool isTimeValid() const
Definition: HGCRecHit.cc:81
HGCRecHit::kHFNoseWeird
Definition: HGCRecHit.h:52
HGCRecHit::kHFNoseFaultyHardware
Definition: HGCRecHit.h:46
HGCRecHit::kHGCbheHot
Definition: HGCRecHit.h:39
HGCRecHit::kHFNosePoorReco
Definition: HGCRecHit.h:44
CaloRecHit::energy
constexpr float energy() const
Definition: CaloRecHit.h:29
HGCRecHit::checkFlag
bool checkFlag(int flag) const
check if the flag is true
Definition: HGCRecHit.h:105
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
HGCRecHit::kHFNoseOutOfTime
Definition: HGCRecHit.h:45
HGCRecHit::unsetFlag
void unsetFlag(int flag)
Definition: HGCRecHit.h:102
HGCRecHit::kHFNoseKilled
Definition: HGCRecHit.h:51
HGCRecHit::kHGCbhePassBX
Definition: HGCRecHit.h:39
HGCRecHit::kHFNoseSaturated
Definition: HGCRecHit.h:49
HGCRecHit::kHFNoseGood
Definition: HGCRecHit.h:43
CaloRecHit
Definition: CaloRecHit.h:23
CaloRecHit::detid
constexpr const DetId & detid() const
Definition: CaloRecHit.h:33
HGCRecHit::kHGCfheGood
Definition: HGCRecHit.h:36
HGCRecHit::HFNoseFlags
HFNoseFlags
Definition: HGCRecHit.h:42
CaloRecHit.h
HGCRecHit::timeError
float timeError() const
Definition: HGCRecHit.cc:79
HGCRecHit::id
DetId id() const
get the id
Definition: HGCRecHit.h:79
HGCRecHit::HGCbheFlags
HGCbheFlags
Definition: HGCRecHit.h:39
HGCRecHit::setFlag
void setFlag(int flag)
set the flags (from Flags or ESFlags)
Definition: HGCRecHit.h:101
HGCRecHit::kNoisy
Definition: HGCRecHit.h:24
DetId
Definition: DetId.h:17
HGCRecHit::flagBits_
uint32_t flagBits_
store rechit condition (see Flags enum) in a bit-wise way
Definition: HGCRecHit.h:115
alignCSCRings.s
s
Definition: alignCSCRings.py:92
HGCRecHit::setOutOfTimeEnergy
void setOutOfTimeEnergy(float energy)
Definition: HGCRecHit.cc:43
HGCRecHit::kFaultyHardware
Definition: HGCRecHit.h:23
HGCRecHit::kKilled
Definition: HGCRecHit.h:28
HGCRecHit::Flags
Flags
Definition: HGCRecHit.h:19
HGCRecHit::kHFNoseNoisy
Definition: HGCRecHit.h:47
HGCRecHit::kPoorCalib
Definition: HGCRecHit.h:25
HGCRecHit::kHFNosePoorCalib
Definition: HGCRecHit.h:48
HGCRecHit::HGCfheFlags
HGCfheFlags
Definition: HGCRecHit.h:36
HGCRecHit::kHGCfheSaturated
Definition: HGCRecHit.h:36
CaloRecHit::time
constexpr float time() const
Definition: CaloRecHit.h:31
HGCRecHit
Definition: HGCRecHit.h:14
HGCRecHit::kDiWeird
Definition: HGCRecHit.h:30
HGCRecHit::kGood
Definition: HGCRecHit.h:20
HGCRecHit::setTimeError
void setTimeError(float timeErr)
Definition: HGCRecHit.cc:74
HGCRecHit::kUnknown
Definition: HGCRecHit.h:32
HGCRecHit::kOutOfTime
Definition: HGCRecHit.h:22
HGCRecHit::kHGCfhePassBX
Definition: HGCRecHit.h:36
HGCRecHit::checkFlags
bool checkFlags(const std::vector< int > &flagsvec) const
check if one of the flags in a set is true
Definition: HGCRecHit.cc:98
HGCRecHit::setOutOfTimeChi2
void setOutOfTimeChi2(float chi2)
Definition: HGCRecHit.cc:54
HGCRecHit::kHFNoseDiWeird
Definition: HGCRecHit.h:53
HGCRecHit::kHGCfheDead
Definition: HGCRecHit.h:36
HGCRecHit::kHFNoseUnknown
Definition: HGCRecHit.h:54
HGCRecHit::kDead
Definition: HGCRecHit.h:27
HGCRecHit::outOfTimeChi2
float outOfTimeChi2() const
Definition: HGCRecHit.cc:21
HGCRecHit::HGCRecHit
HGCRecHit()
Definition: HGCRecHit.cc:10
HGCRecHit::key_type
DetId key_type
Definition: HGCRecHit.h:16
HGCRecHit::kWeird
Definition: HGCRecHit.h:29
HGCRecHit::timeError_
float timeError_
Definition: HGCRecHit.h:117
HGCRecHit::isTimeErrorValid
bool isTimeErrorValid() const
Definition: HGCRecHit.cc:88
HGCRecHit::setChi2
void setChi2(float chi2)
Definition: HGCRecHit.cc:33
HGCRecHit::kPoorReco
Definition: HGCRecHit.h:21
HGCRecHit::kHFNoseDead
Definition: HGCRecHit.h:50
HGCRecHit::kHGCfheHot
Definition: HGCRecHit.h:36
HGCRecHit::outOfTimeEnergy
float outOfTimeEnergy() const
Definition: HGCRecHit.cc:26
HGCRecHit::signalOverSigmaNoise
float signalOverSigmaNoise() const
Definition: HGCRecHit.cc:72
HGCRecHit::flagBits
uint32_t flagBits() const
Definition: HGCRecHit.h:111
HGCRecHit::chi2
float chi2() const
Definition: HGCRecHit.cc:16
hit
Definition: SiStripHitEffFromCalibTree.cc:88
CaloRecHit::flags
constexpr uint32_t flags() const
Definition: CaloRecHit.h:34
HGCRecHit::kSaturated
Definition: HGCRecHit.h:26
HGCRecHit::kHGCbheSaturated
Definition: HGCRecHit.h:39
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:117
HGCRecHit::kHGCbheDead
Definition: HGCRecHit.h:39
operator<<
std::ostream & operator<<(std::ostream &s, const HGCRecHit &hit)
Definition: HGCRecHit.cc:107