ATLAS Offline Software
Loading...
Searching...
No Matches
TileTBStat Class Reference

Class to produce run statistics. More...

#include <TileTBStat.h>

Inheritance diagram for TileTBStat:
Collaboration diagram for TileTBStat:

Classes

struct  T_RobRodFragMap
struct  T_RodDataFrag

Public Member Functions

 TileTBStat (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~TileTBStat ()
virtual StatusCode initialize () override
virtual StatusCode execute (const EventContext &ctx) override
 Execute method.
virtual StatusCode finalize () override
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
bool filterPassed (const EventContext &ctx) const
void setFilterPassed (bool state, const EventContext &ctx) const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
const EventContext & getContext () const
 Deprecated methods (use the ones with EventContext).
bool filterPassed () const
void setFilterPassed (bool state) const

Protected Member Functions

virtual bool isReEntrant () const override final
 Legacy algorithms are not thread-safe.
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef struct TileTBStat::T_RobRodFragMap T_RobRodFragMap
typedef struct TileTBStat::T_RodDataFrag T_RodDataFrag
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

void find_frag (const uint32_t *data, unsigned int size, T_RobRodFragMap &ROBfrag)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< bool > m_printAllEvents
Gaudi::Property< bool > m_detectDummyFragments
SG::ReadCondHandleKey< TileHid2RESrcIDm_hid2RESrcIDKey
SG::ReadHandleKey< TileDQstatusm_dqStatusKey
SG::ReadHandleKey< TileLaserObjectm_laserObjectKey
ServiceHandle< IROBDataProviderSvcm_robSvc
 Name of ROB data provider service.
int m_evtNr
StatDouble m_laserBoxTemp
StatDouble m_laserDiodeTemp
StatDouble m_laserBoxHum
StatDouble m_gasFlow
StatInt m_cisMode
StatInt m_cisSamples
StatInt m_cisPipeline
StatInt m_cisI3Delay
StatInt m_cisDAC
StatInt m_cisCap
StatInt m_cisEvent
StatInt m_cisPhase
StatInt m_cisCard
StatInt m_lasFiltNum
StatInt m_lasAmp
StatInt m_lasAlphaPos
int m_lasStatus
int m_checkOn
int m_checkOff
int m_check0
int m_check1
int m_check2
int m_Alarm
int m_Error
int m_ShOpen
int m_ShClose
uint32_t m_runNo
uint64_t m_evTime
uint32_t m_evtNo
int m_trigType
uint32_t m_prevTrig
uint32_t m_evtBegin
uint64_t m_timeBegin
uint64_t m_timeStart
uint64_t m_timeLast
uint32_t m_evtMin
uint32_t m_evtMax
uint32_t m_calibMode
uint32_t m_spillPattern
uint32_t m_nSpill
uint32_t m_nEvt [5]
uint32_t m_cisPar [16]
uint32_t m_cis1st [16]
uint32_t m_cisBeg [19]
uint32_t m_cisEnd [19]
std::vector< T_RobRodFragMapm_fragMap
std::vector< T_RobRodFragMapm_beamFragMap
uint32_t m_nEventsPerTrigger [257]
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Class to produce run statistics.

Used to fill commissioning database.

Definition at line 76 of file TileTBStat.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ T_RobRodFragMap

typedef struct TileTBStat::T_RobRodFragMap TileTBStat::T_RobRodFragMap
private

◆ T_RodDataFrag

typedef struct TileTBStat::T_RodDataFrag TileTBStat::T_RodDataFrag
private

Constructor & Destructor Documentation

◆ TileTBStat()

TileTBStat::TileTBStat ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 125 of file TileTBStat.cxx.

126 : AthAlgorithm(name, pSvcLocator)
127 , m_evtNr(0)
128 , m_lasStatus(0)
129 , m_checkOn(0)
130 , m_checkOff(0)
131 , m_check0(0)
132 , m_check1(0)
133 , m_check2(0)
134 , m_Alarm(0)
135 , m_Error(0)
136 , m_ShOpen(0)
137 , m_ShClose(0)
138 , m_evTime(0)
139 , m_trigType(0)
140 , m_prevTrig(0)
141 , m_timeBegin(0)
142 , m_timeStart(0)
143 , m_timeLast(0)
144 , m_calibMode(0)
145 , m_spillPattern(0)
146 , m_nSpill(0)
147 , m_nEvt()
148 , m_cisPar()
149 , m_cis1st()
150 , m_cisBeg()
151 , m_cisEnd()
153{
155}
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
uint64_t m_timeBegin
Definition TileTBStat.h:134
uint32_t m_spillPattern
Definition TileTBStat.h:140
uint64_t m_timeLast
Definition TileTBStat.h:136
uint64_t m_timeStart
Definition TileTBStat.h:135
uint32_t m_cisEnd[19]
Definition TileTBStat.h:146
uint32_t m_evtNo
Definition TileTBStat.h:130
uint32_t m_evtMax
Definition TileTBStat.h:138
int m_lasStatus
Definition TileTBStat.h:125
uint32_t m_calibMode
Definition TileTBStat.h:139
uint32_t m_cis1st[16]
Definition TileTBStat.h:144
uint32_t m_runNo
Definition TileTBStat.h:128
uint32_t m_nEvt[5]
Definition TileTBStat.h:142
uint32_t m_evtBegin
Definition TileTBStat.h:133
uint32_t m_prevTrig
Definition TileTBStat.h:132
uint64_t m_evTime
Definition TileTBStat.h:129
uint32_t m_cisBeg[19]
Definition TileTBStat.h:145
uint32_t m_cisPar[16]
Definition TileTBStat.h:143
uint32_t m_nEventsPerTrigger[257]
Definition TileTBStat.h:168
uint32_t m_nSpill
Definition TileTBStat.h:141
uint32_t m_evtMin
Definition TileTBStat.h:137

◆ ~TileTBStat()

TileTBStat::~TileTBStat ( )
virtual

Definition at line 158 of file TileTBStat.cxx.

158 {
159}

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode TileTBStat::execute ( const EventContext & ctx)
overridevirtual

Execute method.

Provides access to the EventContext if needed but is non-const as opposed to AthReentrantAlgorithm.

Implements AthAlgorithm.

Definition at line 196 of file TileTBStat.cxx.

196 {
197
198 const TileDQstatus* dqStatus = SG::makeHandle (m_dqStatusKey, ctx).get();
199
200 static std::atomic<bool> first=true;
201 static std::atomic<bool> firstORsecond=true;
202
203 if ( firstORsecond ) {
204 const eformat::FullEventFragment<const uint32_t*> * event = m_robSvc->getEvent(ctx);
205 if( true /* event->check_tree() */) { // valid event
206 if ( ! first ) firstORsecond = m_printAllEvents;
207 first=false;
208 m_fragMap.clear();
209
210 uint32_t nrob = event->nchildren();
211 uint32_t L1type = event->lvl1_trigger_type();
212
213 for (size_t irob=0; irob<nrob; ++irob) {
214 const uint32_t* fprob;
215 event->child(fprob, irob);
216 const eformat::ROBFragment<const uint32_t*> robf(fprob);
217
218 T_RobRodFragMap ROBfrag;
219 ROBfrag.L1type = L1type;
220 ROBfrag.ROBid = robf.source_id();
221 ROBfrag.RODid = robf.rod_source_id();
222
223 //unsigned int version = robf.rod_version();
224 unsigned int source_id = robf.rod_source_id();
225 eformat::helper::SourceIdentifier id = eformat::helper::SourceIdentifier(source_id);
226 unsigned int subdet_id = id.subdetector_id();
227 //unsigned int module_id = id.module_id();
228
229 unsigned int max_allowed_size = robf.rod_fragment_size_word();
230 unsigned int delta = robf.rod_header_size_word() + robf.rod_trailer_size_word();
231 if (max_allowed_size > delta) {
232 max_allowed_size -= delta;
233 } else {
234 max_allowed_size = 0;
235 }
236
237 unsigned int size = robf.rod_ndata();
238 if (size > max_allowed_size) {
239
240 if (size - robf.rod_trailer_size_word() < max_allowed_size) {
241 ATH_MSG_ERROR( "Problem with data size - assuming that trailer size is " << robf.rod_trailer_size_word()-(size-max_allowed_size)
242 <<" words instead of " << robf.rod_trailer_size_word() << " and data size is " << size << " words " );
243 max_allowed_size = size;
244 } else if (size - robf.rod_trailer_size_word() == max_allowed_size) {
245 ATH_MSG_ERROR( "Problem with data size - assuming that trailer is absent "
246 << " ROD size " << robf.rod_fragment_size_word()
247 << " header size " << robf.rod_header_size_word()
248 << " data size " << size );
249 max_allowed_size = size;
250 } else {
251 max_allowed_size += robf.rod_trailer_size_word();
252 size = max_allowed_size;
253 ATH_MSG_ERROR( "Problem with data size - assuming " << size << " words and no trailer at all" );
254 }
255 }
256
257 if ( size > 0 ) {
258
259 const uint32_t * data;
260 robf.rod_data(data);
261
262 switch ( subdet_id ) {
263 case TILE_BEAM_ID: // TILE BEAM ROD
264 case COMMON_BEAM_ID: // COMMON BEAM ROD
265 case 0x63: // wrong id in first test runs
266 case TILE_POS_ID: // POSITIVE ROD
267 case TILE_NEG_ID: // NEGATIVE ROD
268 case TILE_EBPOS_ID: // POSITIVE EB ROD
269 case TILE_EBNEG_ID: // NEGATIVE EB ROD
270 find_frag(data, size, ROBfrag);
271 break;
272 default:
273 break;
274 }
275 }
276 m_fragMap.push_back(ROBfrag);
277 if ((ROBfrag.RODid & 0xFF0000) == 0x500000) {
278 size_t i=0;
279 for ( ; i<m_beamFragMap.size(); ++i) {
280 if (m_beamFragMap[i].ROBid == ROBfrag.ROBid && m_beamFragMap[i].L1type == ROBfrag.L1type) break;
281 }
282 if (i==m_beamFragMap.size()) {
283 m_beamFragMap.push_back(std::move(ROBfrag));
284 }
285 }
286 }
287
289 std::cout << "Fragments found in event " << event->global_id();
290 else if (firstORsecond)
291 std::cout << "Fragments found in first event";
292 else
293 std::cout << "Fragments found in second event";
294 std::cout << " L1 trigger type " << L1type << " (0x"<< std::hex << L1type << std::dec << ")"
295 << " calib mode=" << dqStatus->calibMode() << std::endl
296 << " ROB ID ROD ID Frag IDs" << std::endl;
297 for (unsigned int i = 0; i < nrob; ++i) {
298 std::cout << std::hex << " 0x" << m_fragMap[i].ROBid << " 0x" << m_fragMap[i].RODid;
299 for (unsigned int j = 0; j < m_fragMap[i].fragID.size(); ++j)
300 std::cout << std::hex << " 0x" << m_fragMap[i].fragID[j];
301 std::cout << std::dec << std::endl;
302 }
303 }
304 }
305
306 // take values from event header
307
308 memcpy(m_cisPar,dqStatus->cispar(), sizeof (m_cisPar));
309
310 unsigned int testsum=0;
311 for (int k = 4; k < 16; ++k) testsum += m_cisPar[k];
312 if ( testsum == 0 && m_cisPar[3] == 8 ) { // broken CIS par
313 m_cisSamples.addValue(m_cisPar[1]);
314 m_cisI3Delay.addValue(m_cisPar[2]);
315 } else {
316 m_cisMode.addValue(m_cisPar[0]);
317 m_cisSamples.addValue(m_cisPar[1]);
318 m_cisPipeline.addValue(m_cisPar[2]);
319 m_cisI3Delay.addValue(m_cisPar[3]);
320 m_cisEvent.addValue(m_cisPar[4]);
321 m_cisPhase.addValue(m_cisPar[5]);
322 m_cisDAC.addValue(m_cisPar[6]);
323 m_cisCap.addValue(m_cisPar[7]);
324 m_cisCard.addValue(m_cisPar[8]);
325 }
326
327 const eformat::FullEventFragment<const uint32_t*> * event = m_robSvc->getEvent(ctx);
328
329 if (testsum!=0) {
330 memcpy(m_cisEnd,m_cisPar,sizeof(m_cisPar));
331 m_cisEnd[16] = event->global_id();
332 m_cisEnd[17] = m_evtNr;
333 m_cisEnd[18] = 1;
334 if (m_cisBeg[18] == 0) {
335 memcpy(m_cisBeg,m_cisEnd,sizeof(m_cisEnd));
336 }
337 }
338
339 m_evTime = event->bc_time_seconds();
340 if (m_evTime >= m_timeStart || m_evTime < 1054321000 ) {
341 if (m_evtNr == 0)
342 ATH_MSG_WARNING( "bad time in event header (" << m_evTime << "), taking time from cispar (" << m_cisPar[10] << ")" );
343
344 m_evTime = m_cisPar[10];
345 }
346
347 m_trigType = dqStatus->trigType();
349 if (m_evtNr == 0)
350 ATH_MSG_WARNING( "no event trig type available (" << m_trigType << ") , taking trig from cispar (" << m_cisPar[12] << ")" );
351
352 m_trigType = m_cisPar[12];
353 }
354
355 m_evtNo = event->global_id();
358
359 if (m_evtNr == 0) {
360 SG::ReadCondHandle<TileHid2RESrcID> hid2re(m_hid2RESrcIDKey, ctx);
361 ATH_CHECK(hid2re.isValid());
362 std::vector<uint32_t> robid;
363 robid.push_back( hid2re->getRobFromFragID(DIGI_PAR_FRAG) );
364 robid.push_back( hid2re->getRobFromFragID(LASER_OBJ_FRAG) );
365 std::vector<const ROBDataProviderSvc::ROBF*> robf;
366 m_robSvc->getROBData(ctx, robid, robf);
367 const ROBDataProviderSvc::ROBF* robFrag = (robf.size() > 0 ) ? robf[0] : 0;
368 if (robFrag) {
369 m_runNo = robFrag->rod_run_no(); // take it from beam ROD header
370 } else {
371 m_runNo = event->run_no(); // run_no sometimes is not filled here
372 }
375 m_calibMode = dqStatus->calibMode();
376 memcpy(m_cis1st,m_cisPar,sizeof(m_cisPar));
377 } else if (m_evtNr == 1) {
378 // once again, first event can be junk
379 m_calibMode = dqStatus->calibMode();
380 }
381
382 if (! m_printAllEvents) {
383 // check if new Laser or CIS fragments appear in events with different L1 trigger types
384 bool first_header=true;
385 for (size_t irob=0; irob<event->nchildren(); ++irob) {
386 const uint32_t* fprob;
387 event->child(fprob, irob);
388 const eformat::ROBFragment<const uint32_t*> robf(fprob);
389
390 T_RobRodFragMap ROBfrag;
391 ROBfrag.L1type = event->lvl1_trigger_type();
392 ROBfrag.ROBid = robf.source_id();
393 ROBfrag.RODid = robf.rod_source_id();
394
395 if ((ROBfrag.RODid & 0xFF0000) == 0x500000) {
396 size_t i=0;
397 for ( ; i<m_beamFragMap.size(); ++i) {
398 if (m_beamFragMap[i].ROBid == ROBfrag.ROBid && m_beamFragMap[i].L1type == ROBfrag.L1type) break;
399 }
400 if (i==m_beamFragMap.size()) {
401 unsigned int size = robf.rod_ndata();
402 if ( size > 0 ) {
403 const uint32_t * data;
404 robf.rod_data(data);
405 find_frag(data, size, ROBfrag);
406 m_beamFragMap.push_back(ROBfrag);
407 if (first_header) {
408 first_header=false;
409 std::cout << "Beam Fragments found in event " << m_evtNo << " ( " << m_evtNr << " ) L1 trigger type "
410 << ROBfrag.L1type << " (0x"<< std::hex << ROBfrag.L1type << std::dec << ")" << std::endl
411 << " ROB ID ROD ID Frag IDs" << std::endl;
412 }
413 std::cout << std::hex << " 0x" << ROBfrag.ROBid << " 0x" << ROBfrag.RODid;
414 for (unsigned int j = 0; j < ROBfrag.fragID.size(); ++j)
415 std::cout << std::hex << " 0x" << ROBfrag.fragID[j];
416 std::cout << std::dec << std::endl;
417 }
418 }
419 }
420 }
421 }
422
423 if ( ( m_evTime < m_timeBegin && (m_timeBegin - m_evTime) < 10*24*3600 ) || // less then 10 days shift in neg direction
424 ( m_evTime > m_timeBegin && (m_evTime - m_timeBegin) > 10*24*3600 ) ) { // more than 10 days shift in pos direction
425
426 ATH_MSG_WARNING( " in evt " << m_evtNo << " ( " << m_evtNr << " ) "
427 << " event header time " << event->bc_time_seconds()
428 << " CISpar time " << m_cisPar[10]
429 << " old begin time " << m_timeBegin );
430
431 if ( m_cisPar[10] > 0 && m_cisPar[10] - m_evTime > 600 ) { // more than 10 min difference !
432 ATH_MSG_WARNING( "Strange time in event header, ignore it! " );
433
434 m_evTime = m_cisPar[10];
435 } else {
436 ATH_MSG_WARNING( "Strange begin time, change it from " << m_timeBegin << " to " << m_evTime );
437
439 }
440 }
441
442 if ((m_evTime >= m_timeBegin) && ((m_evTime - m_timeBegin) < 10 * 24 * 3600)
443 && (m_evTime > m_timeLast)) {
445 }
446
447 int ind = 4;
448 switch ( m_trigType ) {
449 case 1: ind = 0; break;
450 case 2: ind = 1; break;
451 case 4: ind = 2; break;
452 case 8: ind = 3; break;
453 case 16: ind = 3; break;
454 default: ind = 4; break;
455 }
456 ++(m_nEvt[ind]);
457 //After this assignment, bits 8-31 of lvl1_trigger_type are known to be unset.
458 unsigned int lvl1_trigger_type = event->lvl1_trigger_type();
459 //...so lvl1_trigger_type must be less than 256
460 ++m_nEventsPerTrigger[lvl1_trigger_type];
461
462 m_spillPattern <<= 4;
463 m_spillPattern |= (m_trigType & 0xF);
464
465 if (m_spillPattern != m_prevTrig && m_spillPattern == 0x11111111)
466 ++m_nSpill;
467
469
470 ++m_evtNr;
471
472 SG::ReadHandle<TileLaserObject> pTileLasObj(m_laserObjectKey, ctx);
473 if(!pTileLasObj.isValid()) {
474 ATH_MSG_ERROR( "There is a problem opening the LASER object" );
475
476 //return sc;
477 } else {
478 m_lasFiltNum.addValue(pTileLasObj->getFiltNumber());
479 m_lasAmp.addValue((int)pTileLasObj->getDiodeCurrOrd());
480 m_laserBoxTemp.addValue(pTileLasObj->getDiodeBoxTemp());
481 m_laserDiodeTemp.addValue(pTileLasObj->getPumpDiodeTemp());
482 m_laserBoxHum.addValue(pTileLasObj->getHumidity());
483 m_gasFlow.addValue(pTileLasObj->getGasFlux());
484 m_lasStatus = (pTileLasObj->getAlarm() << 0x9) + (pTileLasObj->getInterlock() << 0x8) + (pTileLasObj->getShutter() << 0x6)
485 + ((int)pTileLasObj->getHVpmts() << 0x4) + ((int)pTileLasObj->getLVdiodes() << 0x3) + (pTileLasObj->getAlphaPos());
486 int lasAlpha = (int)pTileLasObj->getAlphaPos() & 0x7;
487 m_lasAlphaPos.addValue(lasAlpha);
490// std::cout << std::endl << "Status: " << std::hex << m_lasStatus << std::dec
491// << std::endl << "Alpha: " << lasAlpha << std::endl << std::endl;
492 }
493
494 //log<<MSG::DEBUG<<"execute() completed successfully"<<endmsg;
495 return StatusCode::SUCCESS;
496}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
size_t size() const
Number of registered mappings.
#define TILE_NEG_ID
Definition TileTBFrag.h:16
#define LASER_OBJ_FRAG
Definition TileTBFrag.h:49
#define TILE_EBNEG_ID
Definition TileTBFrag.h:18
#define COMMON_BEAM_ID
Definition TileTBFrag.h:19
#define TILE_BEAM_ID
definition of various fragments expected in BS files from testbeam
Definition TileTBFrag.h:14
#define TILE_EBPOS_ID
Definition TileTBFrag.h:17
#define DIGI_PAR_FRAG
Definition TileTBFrag.h:41
#define TILE_POS_ID
Definition TileTBFrag.h:15
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
ROB Fragment class.
int trigType() const
Trigger type.
uint32_t calibMode() const
Calibration mode.
const uint32_t * cispar() const
CIS parameters.
StatInt m_lasAlphaPos
Definition TileTBStat.h:124
std::vector< T_RobRodFragMap > m_fragMap
Definition TileTBStat.h:163
StatInt m_cisDAC
Definition TileTBStat.h:117
StatDouble m_laserBoxHum
Definition TileTBStat.h:111
void find_frag(const uint32_t *data, unsigned int size, T_RobRodFragMap &ROBfrag)
StatDouble m_laserBoxTemp
Definition TileTBStat.h:109
StatInt m_cisI3Delay
Definition TileTBStat.h:116
StatDouble m_laserDiodeTemp
Definition TileTBStat.h:110
StatInt m_cisCard
Definition TileTBStat.h:121
StatInt m_lasAmp
Definition TileTBStat.h:123
Gaudi::Property< bool > m_printAllEvents
Definition TileTBStat.h:91
SG::ReadCondHandleKey< TileHid2RESrcID > m_hid2RESrcIDKey
Definition TileTBStat.h:95
StatInt m_cisPipeline
Definition TileTBStat.h:115
StatInt m_cisMode
Definition TileTBStat.h:113
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
Definition TileTBStat.h:97
SG::ReadHandleKey< TileLaserObject > m_laserObjectKey
Definition TileTBStat.h:99
ServiceHandle< IROBDataProviderSvc > m_robSvc
Name of ROB data provider service.
Definition TileTBStat.h:105
StatInt m_cisSamples
Definition TileTBStat.h:114
StatInt m_cisEvent
Definition TileTBStat.h:119
std::vector< T_RobRodFragMap > m_beamFragMap
Definition TileTBStat.h:164
StatDouble m_gasFlow
Definition TileTBStat.h:112
StatInt m_lasFiltNum
Definition TileTBStat.h:122
StatInt m_cisPhase
Definition TileTBStat.h:120
StatInt m_cisCap
Definition TileTBStat.h:118
bool first
Definition DeMoScan.py:534
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
setEventNumber uint32_t

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ filterPassed() [1/2]

bool AthAlgorithm::filterPassed ( ) const
inherited

Definition at line 94 of file AthAlgorithm.cxx.

94 {
95 return filterPassed( Gaudi::Hive::currentContext() );
96}
bool filterPassed() const

◆ filterPassed() [2/2]

bool AthAlgorithm::filterPassed ( const EventContext & ctx) const
inherited

Definition at line 98 of file AthAlgorithm.cxx.

98 {
99 return execState( ctx ).filterPassed();
100}

◆ finalize()

StatusCode TileTBStat::finalize ( )
overridevirtual

Definition at line 498 of file TileTBStat.cxx.

498 {
499
500 ATH_MSG_INFO( "Finalization" );
501
502 std::cout << std::endl << "Run number " << m_runNo << std::endl;
503 std::cout << "Min event number " << m_evtMin << std::endl;
504 std::cout << "Max event number " << m_evtMax << std::endl;
505 std::cout << "First event " << m_evtBegin << std::endl;
506 std::cout << "Last event " << m_evtNo << std::endl;
507
508 // time stored in event header is time since 1-jan-1970 00:00:00 Geneva time
509 // has to make one hour correction to convert to UNIX (UTC) time
510
511 time_t tim;
512 struct tm buf;
513 char ctim[50];
514 char format[30] = "%a, %d %b %Y %H:%M:%S %Z (%z)";
515
516 if (m_evTime >= m_timeStart || m_evTime == 0 ) {
517 if (m_evtNr == 0)
518 ATH_MSG_WARNING( "no event header available, taking time from cispar" );
519
520 m_evTime = m_cisPar[10];
521 }
522
523 if (m_timeBegin != 0 && m_timeBegin < 1104537600 ) { // CTB 2004 time
524 std::cout << "Begin time " << m_timeBegin;
525 tim = m_timeBegin - 3600;
526 std::cout << "-3600=" << tim;
527 strftime(ctim, 50, format, localtime_r(&tim, &buf) );
528 std::cout << " " << ctim;
529 strftime(ctim, 50, format, gmtime_r(&tim, &buf) );
530 std::cout << " " << ctim;
531 std::cout << std::endl;
532
533 std::cout << "End time " << m_evTime;
534 tim = m_evTime - 3600;
535 std::cout << "-3600=" << tim;
536 strftime(ctim, 50, format, localtime_r(&tim, &buf) );
537 std::cout << " " << ctim;
538 strftime(ctim, 50, format, gmtime_r(&tim, &buf) );
539 std::cout << " " << ctim;
540 std::cout << std::endl;
541
542 } else {
543
544 std::cout << "Begin time " << m_timeBegin;
545 tim = m_timeBegin;
546 strftime(ctim, 50, format, localtime_r(&tim, &buf) );
547 std::cout << " " << ctim;
548 strftime(ctim, 50, format, gmtime_r(&tim, &buf) );
549 std::cout << " " << ctim;
550 std::cout << std::endl;
551 std::cout << "End time " << m_timeLast;
552 tim = m_timeLast;
553 strftime(ctim, 50, format, localtime_r(&tim, &buf) );
554 std::cout << " " << ctim;
555 strftime(ctim, 50, format, gmtime_r(&tim, &buf) );
556 std::cout << " " << ctim;
557 std::cout << std::endl;
558 }
559
560 std::cout << std::endl << "Ngains " << ( (m_calibMode == 1) ? 2 : 1 ) << std::endl;
561
562 bool cisdiff = false;
563 for (int i = 0; i < 16; ++i) {
564 cisdiff |= (m_cis1st[i] != m_cisBeg[i]);
565 cisdiff |= (m_cisEnd[i] != m_cisPar[i]);
566 }
567
568 if (cisdiff) {
569 std::cout << "CISpar first ";
570 for (int i = 0; i < 16; ++i)
571 std::cout << m_cis1st[i] << " ";
572 std::cout << std::endl << "CISpar last ";
573 for (int i = 0; i < 16; ++i)
574 std::cout << m_cisPar[i] << " ";
575 std::cout << std::endl;
576 }
577 std::cout << "CISpar begin ";
578 for (int i = 0; i < 16; ++i)
579 std::cout << m_cisBeg[i] << " ";
580 if (cisdiff) {
581 std::cout << " \tevent " << m_cisBeg[16] << " \teventNr " << m_cisBeg[17];
582 }
583 std::cout << std::endl << "CISpar end ";
584 for (int i = 0; i < 16; ++i)
585 std::cout << m_cisEnd[i] << " ";
586 if (cisdiff) {
587 std::cout << " \tevent " << m_cisEnd[16] << " \teventNr " << m_cisEnd[17];
588 }
589 std::cout << std::endl << std::endl;
590
591 uint32_t nphy=0;
595 uint32_t nbad=0;
596 for (int i = 0; i < 128; ++i) {
597 nbad += m_nEventsPerTrigger[i];
598 }
599 for (int i = 128; i < 256; ++i) {
600 nphy += m_nEventsPerTrigger[i];
601 }
602 nbad -= nlas+nped+ncis;
603 nbad += m_nEventsPerTrigger[256];
604
605 if (m_nEvt[1]+m_nEvt[2]+m_nEvt[3]==0 && nlas+nped+ncis>0) {
606 std::cout << "Spills " << m_nSpill << std::endl;
607 std::cout << "Events " << m_evtNr << std::endl;
608 std::cout << "Phy " << nphy << std::endl;
609 std::cout << "Las " << nlas << std::endl;
610 std::cout << "Ped " << nped << std::endl;
611 std::cout << "CIS " << ncis << std::endl;
612 std::cout << "Bad " << nbad << std::endl;
613 std::cout << std::endl << std::endl;
614 } else {
615 std::cout << "Spills " << m_nSpill << std::endl;
616 std::cout << "Events " << m_evtNr << std::endl;
617 std::cout << "Phy " << m_nEvt[0] << std::endl;
618 std::cout << "Las " << m_nEvt[1] << std::endl;
619 std::cout << "Ped " << m_nEvt[2] << std::endl;
620 std::cout << "CIS " << m_nEvt[3] << std::endl;
621 std::cout << "Bad " << m_nEvt[4] << std::endl;
622 std::cout << std::endl << std::endl;
623 }
624
625 std::cout << "Number of events per trigger:" << std::endl;
626 for (int i = 0; i < 256; ++i) {
627 if (m_nEventsPerTrigger[i] != 0) {
628 std::cout << " Level1 trigger type: " << i << " (0x"<< std::hex << i << std::dec << ") => " << m_nEventsPerTrigger[i] << std::endl;
629 }
630 }
631
632 if (m_nEventsPerTrigger[256] != 0) {
633 std::cout << " Level1 trigger type: > 255(0xFF) => " << m_nEventsPerTrigger[256] << std::endl;
634 }
635
636 std::cout << std::endl << std::endl;
637
638 std::cout << "LasFrag begin" << std::endl;
639 m_lasFiltNum.print("FilterWheel");
640 m_lasAmp.print("ReqAmp");
641 std::cout << "Counter " << m_laserDiodeTemp.Counter << std::endl;
642 m_laserDiodeTemp.print("LaserDiodeTemp");
643 m_laserBoxTemp.print ("LaserBoxTemp ");
644 m_laserBoxHum.print ("LaserBoxHum ");
645 m_gasFlow.print ("GasFlow ");
649 m_lasAlphaPos.print("LasAlpha");
650 int bit = 0x800;
651// std::cout << "StatusHEX: " << std::hex << m_lasStatus << std::endl;
652 std::cout << "GlobalStatus ";
653 for (int i = 0; i < 9; i++) {
654 if (m_check0 & bit) std::cout << " 0";
655 else if (m_check1 & bit) std::cout << " 1";
656 else std::cout << " 2";
657 bit = bit >> 1;
658 }
659 m_Alarm = 0;
660 m_Error = 0;
661 m_ShOpen = 0;
662 m_ShClose = 0;
663 bit = 0x200;
664 if (m_check0 & bit) m_Error = 0; else
665 if (m_check1 & bit) m_Error = 1; else
666 m_Error = 2;
667 std::cout << std::endl << "LasError " << m_Error;
668 bit = 0x800;
669 if (m_check0 & bit) m_Alarm = 0; else
670 if (m_check1 & bit) m_Alarm = 1; else
671 m_Alarm = 2;
672 std::cout << std::endl << "LasAlarm " << m_Alarm;
673 bit = bit >> 4;
674 if (m_check0 & bit) m_ShOpen = 0; else
675 if (m_check1 & bit) m_ShOpen = 1; else
676 m_ShOpen = 2;
677 std::cout << std::endl << "LasShOpen " << m_ShOpen;
678 bit = bit >> 1;
679 if (m_check0 & bit) m_ShClose = 0; else
680 if (m_check1 & bit) m_ShClose = 1; else
681 m_ShClose = 2;
682 std::cout << std::endl << "LasShClosed " << m_ShClose;
683 std::cout << std::endl << "LasFrag end" << std::endl << std::endl;
684
685 std::cout << "CISparFrag begin" << std::endl;
686 m_cisMode.print("CISparMode");
687 m_cisSamples.print("CISparSamples");
688 m_cisPipeline.print("CISparPipeline");
689 m_cisI3Delay.print("CISparI3Delay");
690 m_cisDAC.print("CISparDAC");
691 m_cisCap.print("CISparCap");
692 m_cisEvent.print("CISparEvent");
693 m_cisPhase.print("CISparPhase");
694 m_cisCard.print("CISparCard");
695 std::cout << "CISparFrag end" << std::endl << std::endl;
696
697 ATH_MSG_INFO( "finalize() successfully" );
698
699 return StatusCode::SUCCESS;
700}
#define ATH_MSG_INFO(x)
constexpr unsigned int bit(int n)

◆ find_frag()

void TileTBStat::find_frag ( const uint32_t * data,
unsigned int size,
T_RobRodFragMap & ROBfrag )
private

Definition at line 702 of file TileTBStat.cxx.

702 {
703
704 unsigned int offset = 0, sizeOverhead = 2;
705 bool v3Format = ( *(data) == 0xff1234ff ); // additional frag marker since Sep 2005
706 v3Format |= ( *(data) == 0x00123400 ); // another possible frag marker (can appear in buggy ROD frags)
707 if ( v3Format ) {
708 ++sizeOverhead;
709 ++offset; // skip frag marker
710 }
711
712 while (offset < size ) {
713 const T_RodDataFrag* frag = reinterpret_cast<const T_RodDataFrag *>(data + offset);
714 if ( frag->size < sizeOverhead ) { // too small size, frag contains garbage
715 break;
716 }
717 const uint32_t * fdata = frag->data;
718 int n = frag->size - sizeOverhead - 1;
719 for (; n > -1; --n) {
720 if ( fdata[n]!=0 && fdata[n]!=0xffffffff) break;
721 }
722 if (n == -1 && m_detectDummyFragments) { // nothing reasonable found
723 ROBfrag.fragID.push_back(frag->id + 0xff000000);
724 } else {
725 ROBfrag.fragID.push_back(frag->id);
726 }
727 offset += frag->size;
728 }
729
730 if ( v3Format ) --offset; // set offset back to correct value
731 if ( offset > size && ROBfrag.fragID.size() > 0 ) { // wrong length in last frag, drop it
732 ROBfrag.fragID.resize(ROBfrag.fragID.size()-1);
733 }
734}
Gaudi::Property< bool > m_detectDummyFragments
Definition TileTBStat.h:93

◆ getContext()

const EventContext & AthAlgorithm::getContext ( ) const
inherited

Deprecated methods (use the ones with EventContext).

Definition at line 90 of file AthAlgorithm.cxx.

90 {
91 return Gaudi::Hive::currentContext();
92}

◆ initialize()

StatusCode TileTBStat::initialize ( )
overridevirtual

Definition at line 162 of file TileTBStat.cxx.

162 {
163
164 ATH_MSG_INFO( "Initialization" );
165
166 m_checkOn = 0;
167 m_checkOff = 0;
168 m_check0 = 0;
169 m_check1 = 0;
170 m_check2 = 0;
171
172 m_lasStatus = 0;
173
174 // start with event 0
175 m_evtNr = 0;
178 memset(m_nEvt, 0, sizeof(m_nEvt));
179 memset(m_cisPar, 0, sizeof(m_cisPar));
180 memset(m_cis1st, 0, sizeof(m_cis1st));
181 memset(m_cisBeg, 0, sizeof(m_cisBeg));
182 memset(m_cisEnd, 0, sizeof(m_cisEnd));
183 memset(m_nEventsPerTrigger, 0, sizeof(m_nEventsPerTrigger));
184
185 m_timeStart = time(0);
186 ATH_MSG_INFO( "initialization completed" );
187
188 ATH_CHECK( m_hid2RESrcIDKey.initialize() );
189 ATH_CHECK( m_dqStatusKey.initialize() );
190 ATH_CHECK( m_robSvc.retrieve() );
191 ATH_CHECK( m_laserObjectKey.initialize() );
192
193 return StatusCode::SUCCESS;
194}
time(flags, cells_name, *args, **kw)

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ isReEntrant()

virtual bool AthAlgorithm::isReEntrant ( ) const
inlinefinaloverrideprotectedvirtualinherited

Legacy algorithms are not thread-safe.

Definition at line 111 of file AthAlgorithm.h.

111{ return false; }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed() [1/2]

void AthAlgorithm::setFilterPassed ( bool state) const
inherited

Definition at line 102 of file AthAlgorithm.cxx.

102 {
103 setFilterPassed( state, Gaudi::Hive::currentContext() );
104}
void setFilterPassed(bool state) const

◆ setFilterPassed() [2/2]

void AthAlgorithm::setFilterPassed ( bool state,
const EventContext & ctx ) const
inherited

Definition at line 106 of file AthAlgorithm.cxx.

106 {
107 execState( ctx ).setFilterPassed(state);
108}

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc.

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }

Member Data Documentation

◆ m_Alarm

int TileTBStat::m_Alarm
private

Definition at line 126 of file TileTBStat.h.

◆ m_beamFragMap

std::vector<T_RobRodFragMap> TileTBStat::m_beamFragMap
private

Definition at line 164 of file TileTBStat.h.

◆ m_calibMode

uint32_t TileTBStat::m_calibMode
private

Definition at line 139 of file TileTBStat.h.

◆ m_check0

int TileTBStat::m_check0
private

Definition at line 125 of file TileTBStat.h.

◆ m_check1

int TileTBStat::m_check1
private

Definition at line 125 of file TileTBStat.h.

◆ m_check2

int TileTBStat::m_check2
private

Definition at line 125 of file TileTBStat.h.

◆ m_checkOff

int TileTBStat::m_checkOff
private

Definition at line 125 of file TileTBStat.h.

◆ m_checkOn

int TileTBStat::m_checkOn
private

Definition at line 125 of file TileTBStat.h.

◆ m_cis1st

uint32_t TileTBStat::m_cis1st[16]
private

Definition at line 144 of file TileTBStat.h.

◆ m_cisBeg

uint32_t TileTBStat::m_cisBeg[19]
private

Definition at line 145 of file TileTBStat.h.

◆ m_cisCap

StatInt TileTBStat::m_cisCap
private

Definition at line 118 of file TileTBStat.h.

◆ m_cisCard

StatInt TileTBStat::m_cisCard
private

Definition at line 121 of file TileTBStat.h.

◆ m_cisDAC

StatInt TileTBStat::m_cisDAC
private

Definition at line 117 of file TileTBStat.h.

◆ m_cisEnd

uint32_t TileTBStat::m_cisEnd[19]
private

Definition at line 146 of file TileTBStat.h.

◆ m_cisEvent

StatInt TileTBStat::m_cisEvent
private

Definition at line 119 of file TileTBStat.h.

◆ m_cisI3Delay

StatInt TileTBStat::m_cisI3Delay
private

Definition at line 116 of file TileTBStat.h.

◆ m_cisMode

StatInt TileTBStat::m_cisMode
private

Definition at line 113 of file TileTBStat.h.

◆ m_cisPar

uint32_t TileTBStat::m_cisPar[16]
private

Definition at line 143 of file TileTBStat.h.

◆ m_cisPhase

StatInt TileTBStat::m_cisPhase
private

Definition at line 120 of file TileTBStat.h.

◆ m_cisPipeline

StatInt TileTBStat::m_cisPipeline
private

Definition at line 115 of file TileTBStat.h.

◆ m_cisSamples

StatInt TileTBStat::m_cisSamples
private

Definition at line 114 of file TileTBStat.h.

◆ m_detectDummyFragments

Gaudi::Property<bool> TileTBStat::m_detectDummyFragments
private
Initial value:
{this,
"DetectDummyFragments", false, "Detect dummy fragments"}

Definition at line 93 of file TileTBStat.h.

93 {this,
94 "DetectDummyFragments", false, "Detect dummy fragments"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default).

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dqStatusKey

SG::ReadHandleKey<TileDQstatus> TileTBStat::m_dqStatusKey
private
Initial value:
{this,
"TileDQstatus", "TileDQstatus", "Tile DQ status key"}

Definition at line 97 of file TileTBStat.h.

97 {this,
98 "TileDQstatus", "TileDQstatus", "Tile DQ status key"};

◆ m_Error

int TileTBStat::m_Error
private

Definition at line 126 of file TileTBStat.h.

◆ m_evtBegin

uint32_t TileTBStat::m_evtBegin
private

Definition at line 133 of file TileTBStat.h.

◆ m_evTime

uint64_t TileTBStat::m_evTime
private

Definition at line 129 of file TileTBStat.h.

◆ m_evtMax

uint32_t TileTBStat::m_evtMax
private

Definition at line 138 of file TileTBStat.h.

◆ m_evtMin

uint32_t TileTBStat::m_evtMin
private

Definition at line 137 of file TileTBStat.h.

◆ m_evtNo

uint32_t TileTBStat::m_evtNo
private

Definition at line 130 of file TileTBStat.h.

◆ m_evtNr

int TileTBStat::m_evtNr
private

Definition at line 108 of file TileTBStat.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 114 of file AthAlgorithm.h.

◆ m_fragMap

std::vector<T_RobRodFragMap> TileTBStat::m_fragMap
private

Definition at line 163 of file TileTBStat.h.

◆ m_gasFlow

StatDouble TileTBStat::m_gasFlow
private

Definition at line 112 of file TileTBStat.h.

◆ m_hid2RESrcIDKey

SG::ReadCondHandleKey<TileHid2RESrcID> TileTBStat::m_hid2RESrcIDKey
private
Initial value:
{this,
"TileHid2RESrcID", "TileHid2RESrcID", "TileHid2RESrcID key"}

Definition at line 95 of file TileTBStat.h.

95 {this,
96 "TileHid2RESrcID", "TileHid2RESrcID", "TileHid2RESrcID key"};

◆ m_lasAlphaPos

StatInt TileTBStat::m_lasAlphaPos
private

Definition at line 124 of file TileTBStat.h.

◆ m_lasAmp

StatInt TileTBStat::m_lasAmp
private

Definition at line 123 of file TileTBStat.h.

◆ m_laserBoxHum

StatDouble TileTBStat::m_laserBoxHum
private

Definition at line 111 of file TileTBStat.h.

◆ m_laserBoxTemp

StatDouble TileTBStat::m_laserBoxTemp
private

Definition at line 109 of file TileTBStat.h.

◆ m_laserDiodeTemp

StatDouble TileTBStat::m_laserDiodeTemp
private

Definition at line 110 of file TileTBStat.h.

◆ m_laserObjectKey

SG::ReadHandleKey<TileLaserObject> TileTBStat::m_laserObjectKey
private
Initial value:
{this,
"TileLaserObject", "TileLaserObj", "Tile laser object key"}

Definition at line 99 of file TileTBStat.h.

99 {this,
100 "TileLaserObject", "TileLaserObj", "Tile laser object key"};

◆ m_lasFiltNum

StatInt TileTBStat::m_lasFiltNum
private

Definition at line 122 of file TileTBStat.h.

◆ m_lasStatus

int TileTBStat::m_lasStatus
private

Definition at line 125 of file TileTBStat.h.

◆ m_nEventsPerTrigger

uint32_t TileTBStat::m_nEventsPerTrigger[257]
private

Definition at line 168 of file TileTBStat.h.

◆ m_nEvt

uint32_t TileTBStat::m_nEvt[5]
private

Definition at line 142 of file TileTBStat.h.

◆ m_nSpill

uint32_t TileTBStat::m_nSpill
private

Definition at line 141 of file TileTBStat.h.

◆ m_prevTrig

uint32_t TileTBStat::m_prevTrig
private

Definition at line 132 of file TileTBStat.h.

◆ m_printAllEvents

Gaudi::Property<bool> TileTBStat::m_printAllEvents
private
Initial value:
{this,
"PrintAllEvents", false, "Print all events"}

Definition at line 91 of file TileTBStat.h.

91 {this,
92 "PrintAllEvents", false, "Print all events"};

◆ m_robSvc

ServiceHandle<IROBDataProviderSvc> TileTBStat::m_robSvc
private
Initial value:
{this,
"ROBDataProviderSvc", "ROBDataProviderSvc", "The ROB data provider service"}

Name of ROB data provider service.

Definition at line 105 of file TileTBStat.h.

105 {this,
106 "ROBDataProviderSvc", "ROBDataProviderSvc", "The ROB data provider service"};

◆ m_runNo

uint32_t TileTBStat::m_runNo
private

Definition at line 128 of file TileTBStat.h.

◆ m_ShClose

int TileTBStat::m_ShClose
private

Definition at line 126 of file TileTBStat.h.

◆ m_ShOpen

int TileTBStat::m_ShOpen
private

Definition at line 126 of file TileTBStat.h.

◆ m_spillPattern

uint32_t TileTBStat::m_spillPattern
private

Definition at line 140 of file TileTBStat.h.

◆ m_timeBegin

uint64_t TileTBStat::m_timeBegin
private

Definition at line 134 of file TileTBStat.h.

◆ m_timeLast

uint64_t TileTBStat::m_timeLast
private

Definition at line 136 of file TileTBStat.h.

◆ m_timeStart

uint64_t TileTBStat::m_timeStart
private

Definition at line 135 of file TileTBStat.h.

◆ m_trigType

int TileTBStat::m_trigType
private

Definition at line 131 of file TileTBStat.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: