17 m_file = TFile::Open(filename.c_str());
21 ERROR(
"ReaderRoot: problem opening file: " << filename )
25 shared_ptr<GenRunInfo> ri = make_shared<GenRunInfo>();
43 TKey *key = (TKey*) (*
m_next)();
50 const char *cl = key->GetClassName();
53 size_t geneventdata30=strncmp(cl,
"HepMC::GenEventData",19);
54 size_t geneventdata31=strncmp(cl,
"HepMC3::GenEventData",20);
55 if( geneventdata31==0 || geneventdata30==0 ) {
56 if (geneventdata30==0)
WARNING(
"ReaderRoot::read_event: The object was written with HepMC3 version 3.0" )
63 ERROR(
"ReaderRoot: could not read event from root file")
80 if ( !
m_file->IsOpen() )
return true;
void set_run_info(shared_ptr< GenRunInfo > run)
Set the GenRunInfo object by smart pointer.
TIter * m_next
Iterator for event reading.
bool failed()
Get stream error state.
#define ERROR(MESSAGE)
Macro for printing error messages.
ReaderRoot(const std::string &filename)
Default constructor.
Definition of class ReaderRoot.
shared_ptr< GenRunInfo > run_info() const
Get the global GenRunInfo object.
Stores event-related information.
Stores serializable event information.
void close()
Close file stream.
Stores serializable run information.
void read_data(const GenEventData &data)
Fill GenEvent based on GenEventData.
#define WARNING(MESSAGE)
Macro for printing warning messages.
bool read_event(GenEvent &evt)
Read event from file.
TFile * m_file
File handler.
void set_run_info(shared_ptr< GenRunInfo > run)
Set the global GenRunInfo object.