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;
67 std::string buildinfo_module_label_;
68 std::string buildinfo_instance_label_;
73 , buildinfo_module_label_(pset.get<std::string>(
"buildinfo_module_label"))
74 , buildinfo_instance_label_(pset.get<std::string>(
"buildinfo_instance_label")) {}
78 art::Handle<std::vector<artdaq::PackageBuildInfo>> raw;
80 run.getByLabel(buildinfo_module_label_, buildinfo_instance_label_, raw);
84 std::cout <<
"--------------------------------------------------------------" << std::endl;
86 std::cout << std::left <<
"Package"
89 std::cout << std::left <<
"Version"
92 std::cout << std::left <<
"Timestamp" << std::endl;
97 std::cout << std::left << pkg.getPackageName() <<
"|";
99 std::cout << std::left << pkg.getPackageVersion() <<
"|";
101 std::cout << std::left << pkg.getBuildTimestamp() << std::endl;
104 std::cout <<
"--------------------------------------------------------------" << std::endl;
110 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.
virtual ~PrintBuildInfo()=default
Default virtual Destructor.