14#ifndef ALICEO2_EVENTGEN_AODTOHEPMC_H_
15#define ALICEO2_EVENTGEN_AODTOHEPMC_H_
19#include <HepMC3/GenEvent.h>
20#include <HepMC3/GenParticle.h>
21#include <HepMC3/GenVertex.h>
22#include <HepMC3/GenPdfInfo.h>
23#include <HepMC3/GenHeavyIon.h>
24#include <HepMC3/GenCrossSection.h>
25#include <HepMC3/WriterAscii.h>
286 using Track =
typename Tracks::iterator;
597 if (
ptr !=
nullptr) {
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to process
std::vector< o2::its::TrackITS > tracks
GLenum GLint GLint * precision
McParticles_001 McParticles
McCollisions_001 McCollisions
McCollisions::iterator McCollision
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
ParticleVector mBeams
Cache of vertices.
virtual void makePdfInfo(PdfInfos const &pdf)
CrossSectionPtr mCrossSec
virtual VertexPtr makeVertex(const Track &track)
HepMC3::GenPdfInfoPtr PdfInfoPtr
HepMC3::GenCrossSectionPtr CrossSectionPtr
std::list< VertexPtr > VertexList
std::shared_ptr< WriterAscii > WriterAsciiPtr
virtual void makeBeams(Header const &header, const VertexPtr ip)
o2::aod::McCollisions Headers
struct o2::eventgen::AODToHepMC::@486 configs
virtual void makeXSection(XSections const &xsection)
virtual void makeHeader(Header const &header)
virtual void recenter(Header const &collision)
std::list< ParticlePtr > ParticleList
virtual ParticlePtr makeParticleRecursive(Track const &track, Tracks const &tracks, bool force=false)
virtual void makeHeavyIon(HeavyIons const &heavyion, Header const &header)
HepMC3::FourVector FourVector
virtual void fleshOutParticle(Track const &track, Tracks const &tracks)
HepMC3::GenParticlePtr ParticlePtr
std::vector< VertexPtr > VertexVector
std::vector< ParticlePtr > ParticleVector
o2::aod::HepMCHeavyIons HeavyIons
o2::aod::HepMCPdfInfos PdfInfos
virtual void makeEvent(Header const &collision, Tracks const &tracks)
virtual void makeParticles(Tracks const &tracks)
typename PdfInfos::iterator PdfInfo
typename HeavyIons::iterator HeavyIon
o2::aod::McParticles Tracks
void enableDump(const std::string &dump)
virtual bool isIgnored(Track const &track) const
o2::aod::McCollision Header
o2::aod::HepMCXSections XSections
VertexList mVertices
Cache of particles.
HepMC3::GenVertexPtr VertexPtr
virtual void fleshOut(Tracks const &tracks)
virtual ParticlePtr makeParticle(const Track &track, Int_t &motherStatus, bool force) const
std::unordered_map< long, ParticlePtr > ParticleMap
typename Tracks::iterator Track
virtual void startEvent()
HepMC3::WriterAscii WriterAscii
HepMC3::GenHeavyIonPtr HeavyIonPtr
typename XSections::iterator XSection
ParticleList mOrphans
Cache of beam particles.
virtual ParticlePtr getParticle(Track const &ref) const
static AODToHepMCPostRun & instance()
AODToHepMCPostRun(eventgen::AODToHepMC *ptr_=nullptr)
eventgen::AODToHepMC * ptr