1 #ifndef FastSimulation_Event_FBaseSimEvent_H 2 #define FastSimulation_Event_FBaseSimEvent_H 60 void fill(
const std::vector<SimTrack>&,
const std::vector<SimVertex>&);
166 #include "FastSimulation/Event/interface/FBaseSimEvent.icc" 168 #endif // FBaseSimEvent_H const ParticleDataTable * pdt
double lateVertexPosition
int addSimVertex(const XYZTLorentzVector &decayVertex, int im=-1, FSimVertexType::VertexType type=FSimVertexType::ANY)
Add a new vertex to the Event and to the various lists.
const HepMC::GenParticle * embdGenpart(int i) const
return MC track with a given id
FSimTrack & track(int id) const
Return track with given Id.
const FSimVertexType & embdVertexType(int i) const
return embedded vertex type with given id
HepPDT::ParticleDataTable ParticleDataTable
std::vector< FSimTrack > * theSimTracks
std::vector< HepMC::GenParticle * > * genparts() const
The pointer to the vector of GenParticle's.
std::vector< unsigned > * theChargedTracks
FBaseSimEvent(const edm::ParameterSet &kine)
Default constructor.
unsigned int theTrackSize
unsigned int theVertexSize
KineParticleFilter * myFilter
The particle filter.
int addSimTrack(const RawParticle *p, int iv, int ig=-1, const HepMC::GenVertex *ev=nullptr)
Add a new track to the Event and to the various lists.
void addParticles(const HepMC::GenEvent &hev)
Add the particles and their vertices to the list.
void clear()
clear the FBaseSimEvent content before the next event
unsigned int nGenParts() const
Number of generator particles.
std::vector< FSimTrack > * tracks() const
The pointer to the vector of FSimTrack's.
unsigned int nVertices() const
Number of vertices.
unsigned int nTracks() const
Number of tracks.
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
void print() const
print the FBaseSimEvent in an intelligible way
const SimVertex & embdVertex(int i) const
return embedded vertex with given id
~FBaseSimEvent()
usual virtual destructor
unsigned int nSimVertices
A FSimVertexType hold the information on the vertex origine.
std::vector< FSimVertexType > FSimVertexTypeCollection
collection of FSimVertexType objects
unsigned int nGenParticles
std::vector< FSimVertex > * theSimVertices
void fill(const HepMC::GenEvent &hev)
fill the FBaseSimEvent from the current HepMC::GenEvent
unsigned int theChargedSize
std::vector< FSimVertex > * vertices() const
The pointer to the vector of FSimVertex's.
void addChargedTrack(int id)
Add an id in the vector of charged tracks id's.
unsigned int nChargedParticleTracks
void initializePdt(const HepPDT::ParticleDataTable *aPdt)
Initialize the particle data table.
FSimVertex & vertex(int id) const
Return vertex with given Id.
const KineParticleFilter & filter() const
unsigned int nChargedTracks() const
Number of "reconstructed" charged tracks.
void printMCTruth(const HepMC::GenEvent &hev)
print the original MCTruth event
std::vector< HepMC::GenParticle * > * theGenParticles
int chargedTrack(int id) const
return "reconstructed" charged tracks index.
FSimVertexType & vertexType(int id) const
Return vertex with given Id.
const SimTrack & embdTrack(int i) const
return embedded track with given id
math::XYZTLorentzVector XYZTLorentzVector
FSimVertexTypeCollection * theFSimVerticesType