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 () override
virtual StatusCode finalize () override
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
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

Protected Member Functions

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< 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()
Default constructor:
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< 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< 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< 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< 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 ( )
overridevirtual

Definition at line 196 of file TileTBStat.cxx.

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

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< 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

◆ finalize()

StatusCode TileTBStat::finalize ( )
overridevirtual

Definition at line 499 of file TileTBStat.cxx.

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

◆ find_frag()

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

Definition at line 703 of file TileTBStat.cxx.

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

◆ 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< 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.

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< 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< 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< 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< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ 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< 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< 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< 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 }
std::vector< SG::VarHandleKeyArray * > m_vhka

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< 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< 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 79 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< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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