10 #include "art/Framework/Core/EDAnalyzer.h"
11 #include "art/Framework/Core/ModuleMacros.h"
12 #include "art/Framework/Principal/Event.h"
13 #include "art/Framework/Principal/Handle.h"
14 #include "art/Framework/Principal/Run.h"
15 #include "art/Framework/Principal/SubRun.h"
16 #include "canvas/Utilities/InputTag.h"
17 #include "fhiclcpp/ParameterSet.h"
19 #include "artdaq-core/Data/PackageBuildInfo.hh"
55 void analyze(art::Event
const& )
override {}
64 void beginRun(art::Run
const& run)
override;
72 std::string buildinfo_module_label_;
73 std::string buildinfo_instance_label_;
78 , buildinfo_module_label_(pset.get<std::string>(
"buildinfo_module_label"))
79 , buildinfo_instance_label_(pset.get<std::string>(
"buildinfo_instance_label")) {}
83 art::Handle<std::vector<artdaq::PackageBuildInfo>> raw;
85 run.getByLabel(buildinfo_module_label_, buildinfo_instance_label_, raw);
89 std::cout <<
"--------------------------------------------------------------" << std::endl;
91 std::cout << std::left <<
"Package"
94 std::cout << std::left <<
"Version"
97 std::cout << std::left <<
"Timestamp" << std::endl;
99 for (
const auto& pkg : *raw)
102 std::cout << std::left << pkg.getPackageName() <<
"|";
104 std::cout << std::left << pkg.getPackageVersion() <<
"|";
106 std::cout << std::left << pkg.getBuildTimestamp() << std::endl;
109 std::cout <<
"--------------------------------------------------------------" << std::endl;
115 std::cerr <<
"Warning in artdaq::PrintBuildInfo module: Run " << run.run() <<
" appears not to have found product instance \"" << buildinfo_instance_label_ <<
"\" of module \"" << buildinfo_module_label_ <<
"\"" << std::endl;
void beginRun(art::Run const &run) override
Perform actions at the beginning of the run.
An art::EDAnalyzer which prints any artdaq::BuildInfo objects stored in the run.
void analyze(art::Event const &) override
Called for each event. Required overload for art::EDAnalyzer, No-Op here.
PrintBuildInfo(fhicl::ParameterSet const &p)
PrintBuildInfo Constructor.
~PrintBuildInfo() override=default
Default virtual Destructor.