8 #include "art/Framework/Core/EDAnalyzer.h"
9 #include "art/Framework/Core/ModuleMacros.h"
10 #include "art/Framework/Principal/Event.h"
11 #include "art/Framework/Principal/Handle.h"
12 #include "canvas/Utilities/Exception.h"
14 #include "artdaq-core/Data/Fragment.hh"
15 #include "artdaq-core/Data/ContainerFragment.hh"
46 explicit EventDump(fhicl::ParameterSet
const& pset);
60 void analyze(art::Event
const& e)
override;
63 std::string raw_data_label_;
70 , raw_data_label_(pset.get<std::string>(
"raw_data_label",
"daq"))
71 , verbosity_(pset.get<int>(
"verbosity",0)) {}
76 std::cout <<
"***** Start of EventDump for event " << e.event() <<
" *****" << std::endl;
78 std::vector< art::Handle< std::vector<artdaq::Fragment> > > fragmentHandles;
79 e.getManyByType(fragmentHandles);
81 for (
auto const& handle : fragmentHandles)
83 if (handle->size() > 0) {
84 std::string instance_name = handle.provenance()->productInstanceName();
85 std::cout << instance_name <<
" fragments: " << std::endl;
88 for (
auto const& frag : *handle){
89 std::cout <<
" " << jdx <<
") fragment ID " << frag.fragmentID() <<
" has type "
90 << (int) frag.type() <<
", timestamp " << frag.timestamp()
91 <<
", and sizeBytes " << frag.sizeBytes();
93 if (instance_name.compare(0,9,
"Container")==0) {
94 artdaq::ContainerFragment cf(frag);
95 std::cout <<
" (contents: type = " << (int) cf.fragment_type() <<
", count = "
96 << cf.block_count() <<
", missing data = " << cf.missing_data()
99 for (
size_t idx = 0; idx < cf.block_count(); ++idx) {
100 std::cout <<
" " << (idx+1) <<
") fragment type " << (
int) (cf.at(idx))->type()
101 <<
", timestamp " << (cf.at(idx))->timestamp()
102 <<
", and sizeBytes " << (cf.at(idx))->sizeBytes() << std::endl;
107 std::cout << std::endl;
114 std::cout <<
"***** End of EventDump for event " << e.event() <<
" *****" << std::endl;
void analyze(art::Event const &e) override
This method is called for each art::Event in a file or run.
EventDump(fhicl::ParameterSet const &pset)
EventDump Constructor.
Write Event information to the console.
virtual ~EventDump()=default
Default virtual Destructor.