 |
Belle II Software
release-05-01-25
|
13 #include <framework/core/FrameworkExceptions.h>
14 #include <mdst/dataobjects/MCParticleGraph.h>
15 #include <boost/tokenizer.hpp>
20 #include <TLorentzRotation.h>
44 "Line %1%: Invalid daughter indices d1=%2%, d2=%3%, N=%4% (0<=d1<=d2<=N required)");
52 BELLE2_DEFINE_EXCEPTION(LHEEmptyEventError,
"Line %1%: Number of particles in event is %2% ! (This could mean EOF is reached.) ");
72 void open(
const std::string& filename);
115 typedef boost::tokenizer<boost::char_separator<char> >
tokenizer;
117 static const boost::char_separator<char>
sep;
double m_Rmin
Minimum of vertex distance to IP.
void closeCurrentInputFile()
Closes the current input file to allow opening the next one.
void setInitialIndex(int index)
Set the maximum index of particles in each event that must be set as c_Initial (1-based).
BELLE2_DEFINE_EXCEPTION(LHECouldNotOpenFileError, "Could not open file %1% !")
Exception is thrown if the LHE file could not be opened.
Class to build, validate and sort a particle decay chain.
std::ifstream m_input
The input stream of the ascii file.
void setVirtualIndex(int index)
Set the maximum index of particles in each event that must be set as c_IsVirtual (1-based).
static const boost::char_separator< char > sep
The characters at which to split, defaults to ",; \t".
double m_meanDecayLength
Mean lifetime*c of displaced particle.
int getEvent(MCParticleGraph &graph, double &weight)
Reads the next event and stores the result in the given MCParticle graph.
int m_pdgDisplaced
PDG code of the displaced particle being studied.
double m_Rmax
Maximum of vertex distance to IP.
int m_indexVirtual
Maximum index of particles in each event that must be set as c_IsVirtual (1-based).
Abstract base class for different kinds of events.
bool m_wrongSignPz
Bool to indicate that HER and LER were swapped.
boost::tokenizer< boost::char_separator< char > > tokenizer
Just a typedef for simple use of the boost::tokenizer to split the lines.
int m_indexInitial
Maximum index of particles in each event that must be set as c_Initial (1-based).
TLorentzRotation m_labboost
Boost&rotation vector for boost from CM to LAB.
std::string getLine()
Returns the current line from the LHE ascii file.
int readEventHeader(double &eventWeight)
Reads the event header from the hepevt file.
int m_lineNr
The current line number within the ascii file.
Class to represent Particle data in graph.
int readParticle(MCParticleGraph::GraphParticle &particle)
Reads the information for a single particle from the LHE file.
bool skipEvents(int n)
Skips a given number of events.
void open(const std::string &filename)
Opens an ascii file and prepares it for reading.