HepMC3 event record library
PythiaValidationTool.cc
1 // -*- C++ -*-
2 //
3 // This file is part of HepMC
4 // Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5 //
6 #include "PythiaValidationTool.h"
7 
8 PythiaValidationTool::PythiaValidationTool( const std::string &filename ):m_filename(filename),m_timer("pythia8 conversion time") {
9  m_pythia.readFile(m_filename);
10 }
11 
13  m_pythia.init();
14 }
15 
17  if( !m_pythia.next() ) return 1;
18 
19  // Exclude generation time
20  m_timer.start();
21 
22  m_tohepmc.fill_next_event(m_pythia.event, &hepmc, -1, &m_pythia.info);
23  return 0;
24 }
25 
27  /* The condition below is true at least for 8.209+. 8.209- will probably fail */
28 #if defined(PYTHIA_VERSION_INTEGER) || defined (PYTHIA_VERSION)
29  m_pythia.stat();
30 #else
31  m_pythia.statistics();
32 #endif
33 }
PythiaValidationTool::m_pythia
Pythia8::Pythia m_pythia
Pythia8 instance.
Definition: PythiaValidationTool.h:49
PythiaValidationTool::PythiaValidationTool
PythiaValidationTool(const std::string &filename)
Constructor.
Definition: PythiaValidationTool.cc:8
HepMC3::GenEvent
Stores event-related information.
Definition: GenEvent.h:41
PythiaValidationTool::finalize
void finalize()
Finalize.
Definition: PythiaValidationTool.cc:26
PythiaValidationTool::m_filename
std::string m_filename
Used file.
Definition: PythiaValidationTool.h:50
PythiaValidationTool::initialize
void initialize()
Initialize.
Definition: PythiaValidationTool.cc:12
PythiaValidationTool::m_timer
Timer m_timer
Timer.
Definition: PythiaValidationTool.h:51
PythiaValidationTool::process
int process(GenEvent &hepmc)
Process event.
Definition: PythiaValidationTool.cc:16
Timer::start
void start()
Definition: Timer.h:44