ATLAS Offline Software
LArNoisyROSummary.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LArNoisyROSummary_h
6 #define LArNoisyROSummary_h
7 
10 
11 #include <vector>
12 #include <stdint.h>
13 
14 
28 {
29  public:
30  // bit masks to set bitpattern according to which partition flagged the event
32  HECAMask=0x4, HECCMask=0x8,
33  EMECAMask=0x10, EMECCMask=0x20,
34  EMBAMask=0x40, EMBCMask=0x80};
35 
36  //* Constructor */
38 
40 
41  //** clear internal data (useful for ARA that does not unpack to a new object every time) */
42  void clear();
43 
44 
45  //** Set the list of noisy FEBs via the FEB HWIdentifiers */
46  void set_noisy_febs(const std::vector<HWIdentifier>& );
47 
48  //** add a FEB to the bad FEB list */
49  void add_noisy_feb(HWIdentifier febid);
50 
51  //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
52  void set_MNBTight_febs(const std::vector<HWIdentifier>& );
53 
54  //** add an MNB Tight FEB to the bad FEB list */
55  void add_MNBTight_feb(HWIdentifier febid);
56 
57  //** Set the list of MNB Tight_PsVeto FEBs via the FEB HWIdentifiers */
58  void set_MNBTight_PsVeto_febs(const std::vector<HWIdentifier>& );
59 
60  //** add an MNB Tight_PsVeto FEB to the bad FEB list */
62 
63  //** Set the list of MNB Tight FEBs via the FEB HWIdentifiers */
64  void set_MNBLoose_febs(const std::vector<HWIdentifier>& );
65 
66  //** add an MNB Tight FEB to the bad FEB list */
67  void add_MNBLoose_feb(HWIdentifier febid);
68 
69  //** Set the list of noisy preamps: for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
70  void set_noisy_preamps(const std::vector< std::pair<HWIdentifier, std::vector<int> > >&);
71 
72  //** add noisy preamp as FEB id + first channel for preamp */
73  void add_noisy_preamp(HWIdentifier febid, int channel);
74 
75  //** add a HVline to the bad HVlines list */
76  void add_noisy_hvline(HWIdentifier hvid);
77 
78 
79  //** set Partition bit pattern for bad FEB flagging **//
81 
82  //** set Partition bit pattern for bad FEB flagging - Weighted computation**//
84 
85  //** set Partition bit pattern for saturated cells medium criteria flagging **//
87 
88  //** set Partition bit pattern for saturated cells tight criteria flagging **//
90 
91  //** Set Partition bit pattern for mini-noise-burst flagging (tight) **/
93 
94  //** Set Partition bit pattern for mini-noise-burst flagging **/
96 
97  //** Set Partition bit pattern for mini-noise-burst flagging (tight_psveto) **/
99 
100  //** set Partition bit pattern for bad hvlines flagging **//
101  void SetBadHVlinesPartitions(uint8_t bitpattern) { m_BadHVlinesPartitions = bitpattern;}
102 
103 
104  //** retrieve noisy FEBs by id */
105  const std::vector<HWIdentifier>& get_noisy_febs() const;
106 
107  //** retrieve MNB Tight FEBs by id */
108  const std::vector<HWIdentifier>& get_MNBTight_febs() const;
109 
110  //** retrieve MNB Tight FEBs by id */
111  const std::vector<HWIdentifier>& get_MNBTight_PsVeto_febs() const;
112 
113  //** retrieve MNB Loose FEBs by id */
114  const std::vector<HWIdentifier>& get_MNBLoose_febs() const;
115 
116  //** retrieve noisy preamplifiers */
117  const std::vector<std::pair<HWIdentifier, std::vector<int> > >& get_noisy_preamps() const;
118 
119  //** Partition bit map for bad FEB flagging **//
121 
122  //** Partition bit map for bad FEB flagging - Weighted computation**//
124 
125  //** Partition bit map for saturated cells medium criteria flagging **//
127 
128  //** Partition bit map for saturated cells tight criteria flagging **//
130 
131  //** Partition bit map for mini-noise-burst flagging **//
133 
134  //** Partition bit map for mini-noise-burst flagging (tight) **//
136 
137  //** Partition bit map for mini-noise-burst flagging (tight_psveto) **//
139 
140  //** Partition bit map for HV line flagging **//
142 
143  //** retrieve noisy HVlines */
144  const std::vector<HWIdentifier>& get_noisy_hvlines() const;
145 
146 
147  private:
148 
149  //** List of noisy FEBs */
150  std::vector<HWIdentifier> m_noisy_febs;
151 
152  //** List of MNB Tight FEBs */
153  std::vector<HWIdentifier> m_MNBTight_febs;
154 
155  //** List of MNB Tight FEBs */
156  std::vector<HWIdentifier> m_MNBTight_PsVeto_febs;
157 
158  //** List of MNB Loose FEBs */
159  std::vector<HWIdentifier> m_MNBLoose_febs;
160 
161  //** List of noisy preamps, for each FEB identifier via HWIdentifier keep the noisy preamps as the first channel number for that preamp */
162  std::vector< std::pair<HWIdentifier, std::vector<int> > > m_noisy_preamps;
163 
164  //** List of noisy HVlines */
165  std::vector<HWIdentifier> m_noisy_hvlines;
166 
171 
172  //** Flags for Mini-noise-bursts */
176 
177 
178  //** Flags for HV lines noise bursts
180 
181 };
182 
183 
184 CLASS_DEF( LArNoisyROSummary , 112588521 , 4 )
185 
186 
187 #endif
LArNoisyROSummary::SetSatMediumFlaggedPartitions
void SetSatMediumFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:86
LArNoisyROSummary::EMBAMask
@ EMBAMask
Definition: LArNoisyROSummary.h:34
LArNoisyROSummary::m_MNBTight_PsVetoFlaggedPartitions
uint8_t m_MNBTight_PsVetoFlaggedPartitions
Definition: LArNoisyROSummary.h:175
LArNoisyROSummary::FCALCMask
@ FCALCMask
Definition: LArNoisyROSummary.h:31
LArNoisyROSummary::EMECCMask
@ EMECCMask
Definition: LArNoisyROSummary.h:33
LArNoisyROSummary::MNBTight_PsVetoFlaggedPartitions
uint8_t MNBTight_PsVetoFlaggedPartitions() const
Definition: LArNoisyROSummary.h:138
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
LArNoisyROSummary::m_BadFEB_WFlaggedPartitions
uint8_t m_BadFEB_WFlaggedPartitions
Definition: LArNoisyROSummary.h:168
LArNoisyROSummary::LArNoisyROSummary
LArNoisyROSummary()
Definition: LArNoisyROSummary.cxx:8
LArNoisyROSummary::get_MNBTight_PsVeto_febs
const std::vector< HWIdentifier > & get_MNBTight_PsVeto_febs() const
Definition: LArNoisyROSummary.cxx:125
LArNoisyROSummary::m_SatMediumFlaggedPartitions
uint8_t m_SatMediumFlaggedPartitions
Definition: LArNoisyROSummary.h:169
LArNoisyROSummary::SetMNBLooseFlaggedPartitions
void SetMNBLooseFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:95
LArNoisyROSummary::set_noisy_preamps
void set_noisy_preamps(const std::vector< std::pair< HWIdentifier, std::vector< int > > > &)
Definition: LArNoisyROSummary.cxx:87
LArNoisyROSummary::set_noisy_febs
void set_noisy_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:41
LArNoisyROSummary::SetSatTightFlaggedPartitions
void SetSatTightFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:89
LArNoisyROSummary::HECAMask
@ HECAMask
Definition: LArNoisyROSummary.h:32
LArNoisyROSummary::get_noisy_preamps
const std::vector< std::pair< HWIdentifier, std::vector< int > > > & get_noisy_preamps() const
Definition: LArNoisyROSummary.cxx:136
LArNoisyROSummary::SetBadHVlinesPartitions
void SetBadHVlinesPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:101
LArNoisyROSummary::SatTightFlaggedPartitions
uint8_t SatTightFlaggedPartitions() const
Definition: LArNoisyROSummary.h:129
LArNoisyROSummary::SetMNBTight_PsVetoFlaggedPartitions
void SetMNBTight_PsVetoFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:98
LArNoisyROSummary::PartitionMask
PartitionMask
Definition: LArNoisyROSummary.h:31
HWIdentifier
Definition: HWIdentifier.h:13
LArNoisyROSummary::add_MNBTight_feb
void add_MNBTight_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:62
LArNoisyROSummary::m_MNBLooseFlaggedPartitions
uint8_t m_MNBLooseFlaggedPartitions
Definition: LArNoisyROSummary.h:173
LArNoisyROSummary::EMECAMask
@ EMECAMask
Definition: LArNoisyROSummary.h:33
LArNoisyROSummary::get_MNBLoose_febs
const std::vector< HWIdentifier > & get_MNBLoose_febs() const
Definition: LArNoisyROSummary.cxx:130
LArNoisyROSummary::m_BadHVlinesPartitions
uint8_t m_BadHVlinesPartitions
Definition: LArNoisyROSummary.h:179
LArNoisyROSummary::m_noisy_preamps
std::vector< std::pair< HWIdentifier, std::vector< int > > > m_noisy_preamps
Definition: LArNoisyROSummary.h:162
LArNoisyROSummary::MNBTightFlaggedPartitions
uint8_t MNBTightFlaggedPartitions() const
Definition: LArNoisyROSummary.h:135
LArNoisyROSummary::EMBCMask
@ EMBCMask
Definition: LArNoisyROSummary.h:34
LArNoisyROSummary::m_SatTightFlaggedPartitions
uint8_t m_SatTightFlaggedPartitions
Definition: LArNoisyROSummary.h:170
LArNoisyROSummary::set_MNBTight_PsVeto_febs
void set_MNBTight_PsVeto_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:67
LArNoisyROSummary::MNBLooseFlaggedPartitions
uint8_t MNBLooseFlaggedPartitions() const
Definition: LArNoisyROSummary.h:132
LArNoisyROSummary::HECCMask
@ HECCMask
Definition: LArNoisyROSummary.h:32
LArNoisyROSummary::m_BadFEBFlaggedPartitions
uint8_t m_BadFEBFlaggedPartitions
Definition: LArNoisyROSummary.h:167
LArNoisyROSummary::get_noisy_febs
const std::vector< HWIdentifier > & get_noisy_febs() const
Definition: LArNoisyROSummary.cxx:115
LArNoisyROSummary::add_MNBLoose_feb
void add_MNBLoose_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:82
LArNoisyROSummary::clear
void clear()
Definition: LArNoisyROSummary.cxx:24
LArNoisyROSummary::add_MNBTight_PsVeto_feb
void add_MNBTight_PsVeto_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:72
LArNoisyROSummary::add_noisy_hvline
void add_noisy_hvline(HWIdentifier hvid)
Definition: LArNoisyROSummary.cxx:52
HWIdentifier.h
LArNoisyROSummary::SetMNBTightFlaggedPartitions
void SetMNBTightFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:92
LArNoisyROSummary::m_noisy_hvlines
std::vector< HWIdentifier > m_noisy_hvlines
Definition: LArNoisyROSummary.h:165
LArNoisyROSummary::m_MNBTightFlaggedPartitions
uint8_t m_MNBTightFlaggedPartitions
Definition: LArNoisyROSummary.h:174
LArNoisyROSummary::m_MNBTight_febs
std::vector< HWIdentifier > m_MNBTight_febs
Definition: LArNoisyROSummary.h:153
LArNoisyROSummary::get_noisy_hvlines
const std::vector< HWIdentifier > & get_noisy_hvlines() const
Definition: LArNoisyROSummary.cxx:141
LArNoisyROSummary::set_MNBLoose_febs
void set_MNBLoose_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:77
LArNoisyROSummary::SetBadFEBFlaggedPartitions
void SetBadFEBFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:80
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
LArNoisyROSummary::BadFEB_WFlaggedPartitions
uint8_t BadFEB_WFlaggedPartitions() const
Definition: LArNoisyROSummary.h:123
LArNoisyROSummary::get_MNBTight_febs
const std::vector< HWIdentifier > & get_MNBTight_febs() const
Definition: LArNoisyROSummary.cxx:120
LArNoisyROSummary::HVlineFlaggedPartitions
uint8_t HVlineFlaggedPartitions() const
Definition: LArNoisyROSummary.h:141
LArNoisyROSummary::FCALAMask
@ FCALAMask
Definition: LArNoisyROSummary.h:31
LArNoisyROSummary::m_MNBLoose_febs
std::vector< HWIdentifier > m_MNBLoose_febs
Definition: LArNoisyROSummary.h:159
LArNoisyROSummary::m_noisy_febs
std::vector< HWIdentifier > m_noisy_febs
Definition: LArNoisyROSummary.h:150
LArNoisyROSummary::~LArNoisyROSummary
~LArNoisyROSummary()
Definition: LArNoisyROSummary.cxx:20
LArNoisyROSummary::add_noisy_preamp
void add_noisy_preamp(HWIdentifier febid, int channel)
Definition: LArNoisyROSummary.cxx:92
LArNoisyROSummary::SatMediumFlaggedPartitions
uint8_t SatMediumFlaggedPartitions() const
Definition: LArNoisyROSummary.h:126
CLASS_DEF.h
macros to associate a CLID to a type
LArNoisyROSummary::add_noisy_feb
void add_noisy_feb(HWIdentifier febid)
Definition: LArNoisyROSummary.cxx:47
LArNoisyROSummary::BadFEBFlaggedPartitions
uint8_t BadFEBFlaggedPartitions() const
Definition: LArNoisyROSummary.h:120
LArNoisyROSummary::set_MNBTight_febs
void set_MNBTight_febs(const std::vector< HWIdentifier > &)
Definition: LArNoisyROSummary.cxx:57
LArNoisyROSummary::SetBadFEB_WFlaggedPartitions
void SetBadFEB_WFlaggedPartitions(uint8_t bitpattern)
Definition: LArNoisyROSummary.h:83
LArNoisyROSummary::m_MNBTight_PsVeto_febs
std::vector< HWIdentifier > m_MNBTight_PsVeto_febs
Definition: LArNoisyROSummary.h:156
LArNoisyROSummary
Summary information for noisy LAr preamp / FEBs.
Definition: LArNoisyROSummary.h:28