ATLAS Offline Software
TRT_ByteStream_ConditionsSvc.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef SIMULATIONBASE
5 
13 
16 
17 #include "Identifier/Identifier.h"
18 
23  ISvcLocator* pSvcLocator ) :
24  AthService( name, pSvcLocator ),
25  m_evtStore("StoreGateSvc",name),
26  m_num_l1id_errors(0),
27  m_num_bcid_errors(0),
28  m_num_missing_errors(0),
29  m_num_error_errors(0),
30  m_num_sid_errors(0),
31  m_num_robStatus_errors(0),
32  m_tot_num_l1id_errors(0),
33  m_tot_num_bcid_errors(0),
34  m_tot_num_missing_errors(0),
35  m_tot_num_error_errors(0),
36  m_tot_num_sid_errors(0),
37  m_tot_num_robStatus_errors(0)
38 
39 {
40 }
41 
46 
51 {
52  if(msgLvl(MSG::DEBUG)) msg() << "TRT_ByteStream_ConditionsSvc: Initialize." << endmsg;
53 
54 
55  /*
56  * Ask to be informed at the beginning of each new event so that we
57  * can reset.
58  */
59  IIncidentSvc* incsvc;
60  StatusCode sc = service("IncidentSvc", incsvc);
61  int priority = 100;
62  if( sc.isSuccess() )
63  {
64  incsvc->addListener( this, "BeginEvent", priority);
65  }
66 
67  // Retrieve the EventStore
68  if ( StatusCode::SUCCESS!=m_evtStore.retrieve() ) {
69  ATH_MSG_FATAL("Couldn't retrieve " << m_evtStore);
70  return StatusCode::FAILURE;
71  }
72 
79 
86 
87  return StatusCode::SUCCESS;
88 }
89 
95 {
96  return InDet::TRT_COND_GOOD;
97 }
98 
102 StatusCode
104 {
105  this->resetSets();
106  this->resetCounts();
107 
108  msg(MSG::INFO) << " " << endmsg;
109  msg(MSG::INFO) << "---------------------------------" << endmsg;
110  msg(MSG::INFO) << " TRT BS Error Summary" << endmsg;
111  msg(MSG::INFO) << " " << endmsg;
112  msg(MSG::INFO) << " Number of L1ID Mismatch errors : " << m_tot_num_l1id_errors << endmsg;
113  msg(MSG::INFO) << " Number of BCID Mismatch errors : " << m_tot_num_bcid_errors << endmsg;
114  msg(MSG::INFO) << " Number of Missing FE errors : " << m_tot_num_missing_errors << endmsg;
115  msg(MSG::INFO) << " Number of FE with error bit : " << m_tot_num_error_errors << endmsg;
116  msg(MSG::INFO) << " Number of FE with SID bit : " << m_tot_num_sid_errors << endmsg;
117  msg(MSG::INFO) << " Number of ROB with non-zero status : " << m_tot_num_robStatus_errors << endmsg;
118  msg(MSG::INFO) << "---------------------------------" << endmsg;
119  msg(MSG::INFO) << " " << endmsg;
120 
121 
122  return StatusCode::SUCCESS;
123 }
124 
125 /*
126  * Clear Sets and Counters at each new event
127  */
128 void
130 {
131  this->resetSets();
132  this->resetCounts();
133 }
134 
135 void
137 {
138  /*
139  * Clear the sets and release the memory they hold
140  */
141 
142  std::set<uint32_t>().swap (m_l1id_errors);
143  std::set<uint32_t>().swap (m_bcid_errors);
144  std::set<uint32_t>().swap (m_missing_errors);
145  std::set<uint32_t>().swap (m_error_errors);
146  std::set<uint32_t>().swap (m_sid_errors);
147 
148  std::set<std::pair<uint32_t,uint32_t> >().swap (m_l1id_pair_errors);
149  std::set<std::pair<uint32_t,uint32_t> >().swap (m_bcid_pair_errors);
150 
151  std::set<std::pair<uint32_t,uint32_t> >().swap (m_rob_status_errors);
152 }
153 
158 void
160 {
167 }
168 
169 int
171 {
172  switch( ErrType )
173  {
175  return m_num_bcid_errors;
177  return m_num_l1id_errors;
179  return m_num_missing_errors;
181  return m_num_error_errors;
183  return m_num_sid_errors;
185  return m_num_robStatus_errors;
186  }
187 
188  return 0;
189 }
190 
191 
192 const std::set<std::pair<uint32_t,uint32_t> > &
194 {
195 
196  const std::set<std::pair<uint32_t,uint32_t> > & ref =
198 
199  return ref;
200  }
201 
202 const std::set<std::pair<uint32_t,uint32_t> > &
204 {
205 
206  const std::set<std::pair<uint32_t,uint32_t> > & ref =
208 
209  return ref;
210  }
211 
212 
213 const std::set<std::pair<uint32_t,uint32_t> > &
215 {
216 
217  const std::set<std::pair<uint32_t,uint32_t> > & ref =
219 
220  return ref;
221  }
222 
223 
224 const std::set<uint32_t> &
226 {
227 
228  const std::set<uint32_t> & ref = m_missing_errors;
229 
230  return ref;
231  }
232 
233 
234 const std::set<uint32_t> &
236 {
237 
238  const std::set<uint32_t> & ref = m_error_errors;
239 
240  return ref;
241  }
242 
243 
244 const std::set<uint32_t> &
246 {
247 
248  const std::set<uint32_t> & ref = m_sid_errors;
249 
250  return ref;
251  }
252 
253 
254 
255 // void
256 // TRT_ByteStream_ConditionsSvc::add_l1id_error( uint32_t DTMROC_idx )
257 // {
258 // m_l1id_errors.insert( DTMROC_idx );
259 // m_num_l1id_errors++;
260 // }
261 
262 // void
263 // TRT_ByteStream_ConditionsSvc::add_bcid_error( uint32_t DTMROC_idx )
264 // {
265 // m_bcid_errors.insert( DTMROC_idx );
266 // m_num_bcid_errors++;
267 // }
268 
269 void
271 {
272  m_missing_errors.insert( DTMROC_idx );
275 }
276 
277 void
279 {
280  m_error_errors.insert( DTMROC_idx );
283 }
284 
285 void
287 {
288  m_sid_errors.insert( DTMROC_idx );
291 }
292 
293 /*
294  * Versions with head info
295  */
296 void
298  uint32_t l1id )
299 {
300  std::pair<uint32_t, uint32_t> l1id_error( DTMROC_idx, l1id );
301 
302  m_l1id_pair_errors.insert( l1id_error );
305 }
306 
307 void
309  uint32_t bcid )
310 {
311  std::pair<uint32_t, uint32_t> bcid_error( DTMROC_idx, bcid );
312 
313  m_bcid_pair_errors.insert( bcid_error );
316 }
317 
318 void
320  uint32_t robStatus )
321 {
322  // ATH_MSG_INFO( "ROB status =" << std::hex << robStatus );
323 
324  std::pair<uint32_t, uint32_t> rob_error( robSourceId, robStatus );
325 
326  m_rob_status_errors.insert( rob_error );
329 }
330 
331 
332 std::set<std::pair<uint32_t,uint32_t> > *
334 {
335  switch(ErrType)
336  {
338  return &m_rob_status_errors;
339  default:
340  return nullptr;
341  }
342 
343  return nullptr;
344 }
345 
346 std::set<std::pair<uint32_t,uint32_t> > *
348 {
349  switch(ErrType)
350  {
352  return &m_bcid_pair_errors;
354  return &m_l1id_pair_errors;
355  default:
356  return nullptr;
357  }
358 
359  return nullptr;
360 }
361 
362 std::set<uint32_t> *
364 {
365  switch(ErrType)
366  {
368  return &m_missing_errors;
370  return &m_error_errors;
372  return &m_sid_errors;
373  default:
374  return nullptr;
375  }
376 
377  return nullptr;
378 }
379 
380 
381 #endif //ifndef SIMULATIONBASE
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TRT_ByteStream_ConditionsSvc::getMissingErrorSet
const std::set< uint32_t > & getMissingErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:225
TRT_ByteStream_ConditionsSvc::add_sid_error
void add_sid_error(uint32_t DTMROC_idx)
Definition: TRT_ByteStream_ConditionsSvc.cxx:286
TRT_ByteStream_ConditionsSvc::m_tot_num_missing_errors
long long m_tot_num_missing_errors
Definition: TRT_ByteStream_ConditionsSvc.h:114
TRT_ByteStream_ConditionsSvc::~TRT_ByteStream_ConditionsSvc
virtual ~TRT_ByteStream_ConditionsSvc()
Destructor //.
TRTByteStreamErrors::L1IDError
@ L1IDError
Definition: ITRT_ByteStream_ConditionsSvc.h:20
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TRTByteStreamErrors::ERRORError
@ ERRORError
Definition: ITRT_ByteStream_ConditionsSvc.h:22
TRT_ByteStream_ConditionsSvc::m_tot_num_bcid_errors
long long m_tot_num_bcid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:113
TRT_ByteStream_ConditionsSvc::m_num_missing_errors
int m_num_missing_errors
Definition: TRT_ByteStream_ConditionsSvc.h:107
TRT_ByteStream_ConditionsSvc::m_num_bcid_errors
int m_num_bcid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:106
AthCommonMsg< Service >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
TRT_BSIdErrContainer.h
python.selector.AtlRunQuerySelectorLhcOlc.priority
priority
Definition: AtlRunQuerySelectorLhcOlc.py:611
TRT_ByteStream_ConditionsSvc::add_error_error
void add_error_error(uint32_t DTMROC_idx)
Definition: TRT_ByteStream_ConditionsSvc.cxx:278
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TRT_ByteStream_ConditionsSvc::getL1idErrorSet
const std::set< std::pair< uint32_t, uint32_t > > & getL1idErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:193
TRTByteStreamErrors::RobStatusError
@ RobStatusError
Definition: ITRT_ByteStream_ConditionsSvc.h:24
TRT_ByteStream_ConditionsSvc::getBcidErrorSet
const std::set< std::pair< uint32_t, uint32_t > > & getBcidErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:203
TRT_ByteStream_ConditionsSvc::m_tot_num_robStatus_errors
long long m_tot_num_robStatus_errors
Definition: TRT_ByteStream_ConditionsSvc.h:117
TRT_ByteStream_ConditionsSvc::m_rob_status_errors
std::set< std::pair< uint32_t, uint32_t > > m_rob_status_errors
Definition: TRT_ByteStream_ConditionsSvc.h:103
TRT_ByteStream_ConditionsSvc::m_num_l1id_errors
int m_num_l1id_errors
Definition: TRT_ByteStream_ConditionsSvc.h:105
TRT_ByteStream_ConditionsSvc::m_tot_num_error_errors
long long m_tot_num_error_errors
Definition: TRT_ByteStream_ConditionsSvc.h:115
TRT_ByteStream_ConditionsSvc::finalize
virtual StatusCode finalize()
Finalize //.
Definition: TRT_ByteStream_ConditionsSvc.cxx:103
TRT_ByteStream_ConditionsSvc::getRobErrorSet
const std::set< std::pair< uint32_t, uint32_t > > & getRobErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:214
TRT_ByteStream_ConditionsSvc::condSummaryStatus
InDet::TRT_CondFlag condSummaryStatus(const Identifier &)
Evaluation for TRT_ConditionsSummarySvc.
Definition: TRT_ByteStream_ConditionsSvc.cxx:94
TRT_ByteStream_ConditionsSvc::m_num_sid_errors
int m_num_sid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:109
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT_ByteStream_ConditionsSvc::resetSets
void resetSets(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:136
AthService
Definition: AthService.h:32
TRT_ByteStream_ConditionsSvc::m_num_robStatus_errors
int m_num_robStatus_errors
Definition: TRT_ByteStream_ConditionsSvc.h:110
TRT_ByteStream_ConditionsSvc::m_num_error_errors
int m_num_error_errors
Definition: TRT_ByteStream_ConditionsSvc.h:108
TRT_ByteStream_ConditionsSvc::m_bcid_errors
std::set< uint32_t > m_bcid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:95
TRT_ByteStream_ConditionsSvc::m_missing_errors
std::set< uint32_t > m_missing_errors
Definition: TRT_ByteStream_ConditionsSvc.h:96
TRT_ByteStream_ConditionsSvc::add_rob_error
void add_rob_error(uint32_t robSourceId, uint32_t robStatus)
Definition: TRT_ByteStream_ConditionsSvc.cxx:319
TRT_ByteStream_ConditionsSvc::initialize
virtual StatusCode initialize()
Initialize //.
Definition: TRT_ByteStream_ConditionsSvc.cxx:50
TRT_ByteStream_ConditionsSvc::getSidErrorSet
const std::set< uint32_t > & getSidErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:245
TRT_ByteStream_ConditionsSvc::add_missing_error
void add_missing_error(uint32_t DTMROC_idx)
Definition: TRT_ByteStream_ConditionsSvc.cxx:270
WriteCalibToCool.swap
swap
Definition: WriteCalibToCool.py:94
TRTByteStreamErrors::BCIDError
@ BCIDError
Definition: ITRT_ByteStream_ConditionsSvc.h:19
TRT_ByteStream_ConditionsSvc.h
Service for accessing TRT ByteStream conditions information.
TRT_ByteStream_ConditionsSvc::m_l1id_pair_errors
std::set< std::pair< uint32_t, uint32_t > > m_l1id_pair_errors
Definition: TRT_ByteStream_ConditionsSvc.h:100
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TRT_ByteStream_ConditionsSvc::getErrorErrorSet
const std::set< uint32_t > & getErrorErrorSet(void)
Definition: TRT_ByteStream_ConditionsSvc.cxx:235
TRT_ByteStream_ConditionsSvc::m_tot_num_sid_errors
long long m_tot_num_sid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:116
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
TRT_ByteStream_ConditionsSvc::getNumberOfErrors
int getNumberOfErrors(TRTByteStreamErrors::errorTypes ErrType)
Definition: TRT_ByteStream_ConditionsSvc.cxx:170
TRT_ByteStream_ConditionsSvc::getIdErrorSet
std::set< std::pair< uint32_t, uint32_t > > * getIdErrorSet(TRTByteStreamErrors::errorTypes ErrType)
Definition: TRT_ByteStream_ConditionsSvc.cxx:347
TRTByteStreamErrors::MISSINGError
@ MISSINGError
Definition: ITRT_ByteStream_ConditionsSvc.h:21
TRT_ByteStream_ConditionsSvc::resetCounts
void resetCounts(void)
The following methods are for HLT, to get the numbers of errors per RoI, so won't necessarily match u...
Definition: TRT_ByteStream_ConditionsSvc.cxx:159
TRT_ByteStream_ConditionsSvc::getRodRobErrorSet
std::set< std::pair< uint32_t, uint32_t > > * getRodRobErrorSet(TRTByteStreamErrors::errorTypes ErrType)
Definition: TRT_ByteStream_ConditionsSvc.cxx:333
TRT_ByteStream_ConditionsSvc::m_sid_errors
std::set< uint32_t > m_sid_errors
Definition: TRT_ByteStream_ConditionsSvc.h:98
TRT_ByteStream_ConditionsSvc::TRT_ByteStream_ConditionsSvc
TRT_ByteStream_ConditionsSvc(const std::string &, ISvcLocator *)
Constructor //.
Definition: TRT_ByteStream_ConditionsSvc.cxx:22
ref
const boost::regex ref(r_ef)
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< Service >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
TRT_ByteStream_ConditionsSvc::m_tot_num_l1id_errors
long long m_tot_num_l1id_errors
Definition: TRT_ByteStream_ConditionsSvc.h:112
TRT_ByteStream_ConditionsSvc::m_evtStore
ServiceHandle< StoreGateSvc > m_evtStore
Definition: TRT_ByteStream_ConditionsSvc.h:92
TRTByteStreamErrors::errorTypes
errorTypes
Definition: ITRT_ByteStream_ConditionsSvc.h:18
TRT_BSErrContainer_p1.h
TRT_ByteStream_ConditionsSvc::getErrorSet
std::set< uint32_t > * getErrorSet(TRTByteStreamErrors::errorTypes ErrType)
Definition: TRT_ByteStream_ConditionsSvc.cxx:363
TRT_ByteStream_ConditionsSvc::add_l1id_error
void add_l1id_error(uint32_t DTMROC_idx)
InDet::TRT_CondFlag
TRT_CondFlag
status flag to be derived from the inheriting tool's conditions info
Definition: ITRT_ConditionsSvc.h:19
InDet::TRT_COND_GOOD
@ TRT_COND_GOOD
Definition: ITRT_ConditionsSvc.h:21
TRTByteStreamErrors::SIDError
@ SIDError
Definition: ITRT_ByteStream_ConditionsSvc.h:23
TRT_ByteStream_ConditionsSvc::handle
void handle(const Incident &)
Definition: TRT_ByteStream_ConditionsSvc.cxx:129
TRT_ByteStream_ConditionsSvc::add_bcid_error
void add_bcid_error(uint32_t DTMROC_idx)
TRT_ByteStream_ConditionsSvc::m_l1id_errors
std::set< uint32_t > m_l1id_errors
Definition: TRT_ByteStream_ConditionsSvc.h:94
TRT_ByteStream_ConditionsSvc::m_bcid_pair_errors
std::set< std::pair< uint32_t, uint32_t > > m_bcid_pair_errors
Definition: TRT_ByteStream_ConditionsSvc.h:101
TRT_ByteStream_ConditionsSvc::m_error_errors
std::set< uint32_t > m_error_errors
Definition: TRT_ByteStream_ConditionsSvc.h:97