22 {
23 std::cout << " ---FullEventFragment run number = "
24 <<
re->run_no() <<
" Size = " <<
re->fragment_size_word() << std::endl;
25
26 std::cout<<
" Global id "<<
re->global_id()<<std::endl;
27 std::cout<<
" Run type "<<
re->run_type()<<std::endl;
28 std::cout<<
" Lumi block "<<
re->lumi_block()<<std::endl;
29 std::cout<<
" level 1 id "<<
re->lvl1_id()<<std::endl;
30 std::cout<<
" Bunch crossing id "<<
re->bc_id()<<std::endl;
31 std::cout<<
" Bunch crossing time in seconds "<<
re->bc_time_seconds()<<std::endl;
32 std::cout<<
" Bunch crossing time nanoseconds offset "<<
re->bc_time_nanoseconds()<<std::endl;
33 std::cout<<
" Level 1 trigger type "<<
re->lvl1_trigger_type()<<std::endl;
34
36 re->lvl1_trigger_info(buffer) ;
38 std::cout <<
" Lvl1 trigger info , size = " <<
n <<std::endl;
39
40 for(uint32_t i=0;
i<
n;++
i) {
41 std::cout <<
" "<< *
buffer;
43 }
44
45 std::cout << std::endl;
46
47 re->lvl2_trigger_info(buffer) ;
48 n =
re->nlvl2_trigger_info() ;
49 std::cout <<
" Lvl2 trigger info, size = " <<
n <<std::endl;
50
51 for(uint32_t i=0;
i<
n;++
i) {
52 std::cout <<
" "<< *
buffer;
54 }
55 std::cout << std::endl;
56
57 re->event_filter_info(buffer) ;
58 n =
re->nevent_filter_info() ;
59 std::cout <<
" event filter trigger info, size = " <<
n <<std::endl;
60
61 for(uint32_t i=0;
i<
n;++
i) {
62 std::cout <<
" "<< *
buffer;
64 }
65 std::cout << std::endl;
66
67
68 auto iter =
re->child_iter();
70
72
73 std::cout << " ROBFragment, src ID ="
74 << std::hex << rob.source_id()
75 << " size_word =" << rob.fragment_size_word() << std::endl;
76
77
78 std::cout << " RODFragment, src ID ="
79 << std::hex << rob.rod_source_id()
80 << " size_word =" << rob.rod_fragment_size_word() << std::endl;
81 std::cout << " RODFragment, run number ="
82 << std::dec << rob.rod_run_no() << std::endl;
83
84 if (rob.rod_fragment_size_word() >= rob.rod_header_size_word() + rob.rod_trailer_size_word()) {
86 rob.rod_data(rodPointer);
87 for(
size_t i=0;
i<rob.rod_ndata(); ++
i)
88 {
89 if (i%10 == 0) std::cout << std::endl << " ";
90 std::cout << std::hex<< *rodPointer << " " ;
91 ++rodPointer;
92 }
93 std::cout << std::endl << " Number of words in ROD = "
94 << rob.rod_ndata() << std::endl;
95 } else {
96 std::cout << std::endl << "WARNING : ROD has unexpected data size "
97 << rob.rod_ndata() << " and RODFragment size_word is too small!" << std::endl;
98 }
99 }
100 }
const boost::regex re(r_e)
const DataType * PointerType
eformat::ROBFragment< PointerType > ROBFragment