19void customize(std::vector<o2::framework::CompletionPolicy>& policies)
26void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
29 std::vector<ConfigParamSpec> options{
ConfigParamSpec{
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
31 std::swap(workflowOptions, options);
52 mOutFileName = ic.options().get<std::string>(
"tfidinfo-file-name");
58 if (tinfo.globalRunNumberChanged) {
59 auto v = pc.inputs().get<std::vector<Long64_t>*>(
"orbitReset");
60 mOrbitReset = (*v)[0];
68 TFile fl(mOutFileName.c_str(),
"recreate");
69 fl.WriteObjectAny(&mData,
"std::vector<o2::dataformats::TFIDInfo>",
"tfidinfo");
71 for (
const auto& info : mData) {
73 pcstream <<
"tfidTree"
74 <<
"tfidinfo=" << info <<
"ts=" << ts <<
"\n";
77 LOGP(info,
"Wrote tfidinfo vector and tfidTree with {} entries to {}", mData.size(), fl.GetName());
82 std::string mOutFileName{};
83 std::vector<o2::dataformats::TFIDInfo> mData;
91 {{
"orbitReset",
"CTP",
"ORBITRESET", 0, Lifetime::Condition,
ccdbParamSpec(
"CTP/Calib/OrbitReset")}},
92 std::vector<OutputSpec>{},
Header to collect LHC related constants.
Definition of the Names Generator class.
void init(o2::framework::InitContext &ic) final
void endOfStream(EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
~TFIDInfoWriter() override=default
void run(o2::framework::ProcessingContext &pc) final
static std::string getTFIDInfoFileName(const std::string_view prefix="o2")
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
void SetFile(TFile *sfile)
constexpr double LHCOrbitMUS
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< DataProcessorSpec > WorkflowSpec
static void fillTFIDInfo(o2::framework::ProcessingContext &pc, o2::dataformats::TFIDInfo &ti)
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
void customize(std::vector< o2::framework::CompletionPolicy > &policies)