7#include "HepMC3/WriterAscii.h"
12#include "EventInfo/EventInfo.h"
28 return StatusCode::FAILURE;
34 auto writer =
new HepMC3::WriterAsciiHepMC2(
m_outfile);
39 auto writer =
new HepMC3::WriterAscii(
m_outfile);
49 return StatusCode::SUCCESS;
58 if (
ev.event_number()==1){
62 const EventContext& context = Gaudi::Hive::currentContext();
70 ATH_MSG_WARNING(
"No McEventInfo found in SG - no event numbers available");
73 event_number = og_mc_ei->event_ID()->event_number();
77 event_number = mc_ei->eventNumber();
79 ev.set_event_number(event_number);
85 if (
ev.event_number()==1){
89 const EventContext& context = Gaudi::Hive::currentContext();
97 ATH_MSG_WARNING(
"No McEventInfo found in SG - no event numbers available");
100 event_number = og_mc_ei->event_ID()->event_number();
104 event_number = mc_ei->eventNumber();
106 ev.set_event_number(event_number);
110 return StatusCode::SUCCESS;
#define ATH_MSG_WARNING(x)
#define CHECK(...)
Evaluate an expression and check for errors.
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
virtual StatusCode initialize() override
GenBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
const HepMC::GenEvent * event_const() const
Access the current signal event (const)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode execute() override
HepMC::Units::MomentumUnit m_momentumunit
WriteHepMC(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize() override
HepMC::Units::LengthUnit m_lengthunit
std::unique_ptr< HepMC::IO_GenEvent > m_hepmcio