ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
DumpFrags Class Reference

Dump eformat fragments from FullEventFragment. More...

#include <DumpFrags.h>

Collaboration diagram for DumpFrags:

Public Member Functions

 DumpFrags ()
 

Static Public Member Functions

static void dump (const RawEvent *re)
 dump fragments from FullEventFragment More...
 

Detailed Description

Dump eformat fragments from FullEventFragment.

Definition at line 17 of file DumpFrags.h.

Constructor & Destructor Documentation

◆ DumpFrags()

DumpFrags::DumpFrags ( )
inline

Definition at line 20 of file DumpFrags.h.

20 {}

Member Function Documentation

◆ dump()

static void DumpFrags::dump ( const RawEvent re)
inlinestatic

dump fragments from FullEventFragment

Definition at line 23 of file DumpFrags.h.

24  {
25  std::cout << " ---FullEventFragment run number = "
26  << re->run_no() << " Size = " << re->fragment_size_word() << std::endl;
27 
28  std::cout<<" Global id "<<re->global_id()<<std::endl;
29  std::cout<<" Run type "<<re->run_type()<<std::endl;
30  std::cout<<" Lumi block "<<re->lumi_block()<<std::endl;
31  std::cout<<" level 1 id "<<re->lvl1_id()<<std::endl;
32  std::cout<<" Bunch crossing id "<<re->bc_id()<<std::endl;
33  std::cout<<" Bunch crossing time in seconds "<<re->bc_time_seconds()<<std::endl;
34  std::cout<<" Bunch crossing time nanoseconds offset "<<re->bc_time_nanoseconds()<<std::endl;
35  std::cout<<" Level 1 trigger type "<<re->lvl1_trigger_type()<<std::endl;
36 
38  re->lvl1_trigger_info(buffer) ;
39  uint32_t n = re->nlvl1_trigger_info() ;
40  std::cout << " Lvl1 trigger info , size = " <<n <<std::endl;
41 
42  for(uint32_t i=0;i<n;++i) {
43  std::cout << " "<< *buffer;
44  ++buffer;
45  }
46 
47  std::cout << std::endl;
48 
49  re->lvl2_trigger_info(buffer) ;
50  n = re->nlvl2_trigger_info() ;
51  std::cout << " Lvl2 trigger info, size = " <<n <<std::endl;
52 
53  for(uint32_t i=0;i<n;++i) {
54  std::cout << " "<< *buffer;
55  ++buffer;
56  }
57  std::cout << std::endl;
58 
59  re->event_filter_info(buffer) ;
60  n = re->nevent_filter_info() ;
61  std::cout << " event filter trigger info, size = " <<n <<std::endl;
62 
63  for(uint32_t i=0;i<n;++i) {
64  std::cout << " "<< *buffer;
65  ++buffer;
66  }
67  std::cout << std::endl;
68 
69 
70  // get all the ROBFragments
71  const size_t MAX_ROBFRAGMENTS = 2048;
72  OFFLINE_FRAGMENTS_NAMESPACE::PointerType robF[MAX_ROBFRAGMENTS];
74  re->start(rePointer);
75  size_t robcount = re->children(robF,MAX_ROBFRAGMENTS);
76  if (robcount == MAX_ROBFRAGMENTS)
77  {
78  std::cout << "ERROR : ROB buffer overflow" << std::endl;
79  }
80 
81  // loop over all ROBs
82  for (size_t irob=0; irob<robcount; ++irob)
83  {
84  // add to the map
86 
87  std::cout << " ROBFragment, src ID ="
88  << std::hex << rob.source_id()
89  << " size_word =" << rob.fragment_size_word() << std::endl;
90 
91  // dump ROD
92  std::cout << " RODFragment, src ID ="
93  << std::hex << rob.rod_source_id()
94  << " size_word =" << rob.rod_fragment_size_word() << std::endl;
95  std::cout << " RODFragment, run number ="
96  << std::dec << rob.rod_run_no() << std::endl;
97 
98  if (rob.rod_fragment_size_word() >= rob.rod_header_size_word() + rob.rod_trailer_size_word()) {
100  rob.rod_data(rodPointer);
101  for(size_t i=0; i<rob.rod_ndata(); ++i)
102  {
103  if (i%10 == 0) std::cout << std::endl << " ";
104  std::cout << std::hex<< *rodPointer << " " ;
105  ++rodPointer;
106  }
107  std::cout << std::endl << " Number of words in ROD = "
108  << rob.rod_ndata() << std::endl;
109  } else {
110  std::cout << std::endl << "WARNING : ROD has unexpected data size "
111  << rob.rod_ndata() << " and RODFragment size_word is too small!" << std::endl;
112  }
113  }
114  }

The documentation for this class was generated from the following file:
OFFLINE_FRAGMENTS_NAMESPACE::DataType
uint32_t DataType
Definition: RawEvent.h:24
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
const DataType * PointerType
Definition: RawEvent.h:25
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
eformat::ROBFragment
Definition: L1CaloBsDecoderUtil.h:12
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
re
const boost::regex re(r_e)