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 "art_root_io/TFileService.h"
13 #include "canvas/Utilities/Exception.h"
15 #include "artdaq-core/Data/Fragment.hh"
32 virtual void analyze(art::Event
const& evt);
35 art::InputTag caloFragmentsTag_;
40 mu2e::testFragments::testFragments(fhicl::ParameterSet
const& pset)
41 : EDAnalyzer{pset}, caloFragmentsTag_{
"calo"} {
42 art::ServiceHandle<art::TFileService> tfs;
45 testHist = tfs->make<TH1F>(
"test",
"test", 100, 0., 500. );
49 void mu2e::testFragments::analyze(art::Event
const& e)
51 std::cout<<
" [testFragments] analyzer testing simulated events "<<std::endl;
52 std::vector<art::Handle<artdaq::Fragments>> vah = e.getMany<artdaq::Fragments>();
54 std::cout<<
"[testFragments] size "<<vah.size()<<std::endl;
55 for (
auto const& calFragments : vah) {
56 const art::Provenance* prov = calFragments.provenance();
58 std::string fcn = prov->friendlyClassName();
59 std::string modn = prov->moduleLabel();
60 std::string instn = prov->processName();
62 std::string name = fcn +
"_" + prov->moduleLabel() +
"_" + instn;
63 std::cout<<
"[testFragments] extracting name = "<<fcn<<
" "<<modn<<
" "<<instn<<std::endl;
67 for (
size_t idx = 0; idx < calFragments->size(); ++idx) {
68 auto size = ((*calFragments)[idx]).size() *
sizeof(artdaq::RawDataType);
71 std::cout <<
"[testFragments] \tCAL Fragment " << idx <<
" has size " << size << std::endl;
74 std::cout <<
"[testFragments] \tTotal Size: " << (int)totalSize <<
" bytes." << std::endl;