diff --git a/k4FWCore/components/EventHeaderCreator.cpp b/k4FWCore/components/EventHeaderCreator.cpp index 182e1efc..ae87e405 100644 --- a/k4FWCore/components/EventHeaderCreator.cpp +++ b/k4FWCore/components/EventHeaderCreator.cpp @@ -28,7 +28,7 @@ EventHeaderCreator::EventHeaderCreator(const std::string& name, ISvcLocator* svc StatusCode EventHeaderCreator::execute(const EventContext& ctx) const { auto eventNumber = ctx.evt(); - debug() << "Filling EventHeader with runNumber " << int(m_runNumber) << " and eventNumber " + debug() << "Filling EventHeader with runNumber " << m_runNumber.value() << " and eventNumber " << eventNumber + m_eventNumberOffset << endmsg; auto headers = m_headerCol.createAndPut(); auto header = headers->create(); diff --git a/k4FWCore/components/EventHeaderCreator.h b/k4FWCore/components/EventHeaderCreator.h index c84ed458..b3dfebdb 100644 --- a/k4FWCore/components/EventHeaderCreator.h +++ b/k4FWCore/components/EventHeaderCreator.h @@ -20,9 +20,9 @@ #define K4FWCORE_EVENTHEADERCREATOR #include +#include #include "Gaudi/Algorithm.h" #include "k4FWCore/DataHandle.h" - /*** * Algorithm that creates an EventHeader collection and fills it with eventNumber and runNumber */ @@ -38,12 +38,16 @@ class EventHeaderCreator : public Gaudi::Algorithm { StatusCode execute(const EventContext&) const override; private: + // Since the type of the runNumber and eventNumber changed recently in EDM4hep, deduce their type + // instead of hardcoding it to avoid warnings // Run number value (fixed for the entire job, to be set by the job submitter) - Gaudi::Property m_runNumber{this, "runNumber", 1, "Run number value"}; + Gaudi::Property().getRunNumber())> m_runNumber{this, "runNumber", 1, + "Run number value"}; // Event number offset, use it if you want two separated jobs with the same run number - Gaudi::Property m_eventNumberOffset{ + Gaudi::Property().getEventNumber())> m_eventNumberOffset{ this, "eventNumberOffset", 0, "Event number offset, eventNumber will be filled with 'event_index + eventNumberOffset'"}; + // datahandle for the EventHeader mutable DataHandle m_headerCol{edm4hep::labels::EventHeader, Gaudi::DataHandle::Writer, this}; diff --git a/test/k4FWCoreTest/src/components/ExampleEventHeaderConsumer.cpp b/test/k4FWCoreTest/src/components/ExampleEventHeaderConsumer.cpp index 2c48c012..89e54f14 100644 --- a/test/k4FWCoreTest/src/components/ExampleEventHeaderConsumer.cpp +++ b/test/k4FWCoreTest/src/components/ExampleEventHeaderConsumer.cpp @@ -55,11 +55,12 @@ struct ExampleEventHeaderConsumer final : k4FWCore::Consumer m_runNumber{this, "runNumber", 0, "The expected run number"}; - Gaudi::Property m_eventNumberOffset{this, "eventNumberOffset", 0, - "The event number offset where events will start counting from"}; - // Since the type of the runNumber changed recently in EDM4hep, use its type + // Since the type of the runNumber and eventNumber changed recently in EDM4hep, deduce their type // instead of hardcoding it to avoid warnings + Gaudi::Property().getEventNumber())> m_runNumber{ + this, "runNumber", 0, "The expected run number"}; + Gaudi::Property().getEventNumber())> m_eventNumberOffset{ + this, "eventNumberOffset", 0, "The event number offset where events will start counting from"}; mutable std::atomic().getRunNumber())> m_evtCounter{0}; };