1 #ifndef FastSimulation_Event_FBaseSimEvent_H
2 #define FastSimulation_Event_FBaseSimEvent_H
62 void fill(
const HepMC::GenEvent& hev);
68 void fill(
const std::vector<SimTrack>&,
const std::vector<SimVertex>&);
133 const HepMC::GenVertex*
ev=0);
149 inline std::vector<FSimTrack>*
tracks()
const {
159 inline std::vector<HepMC::GenParticle*>*
genparts()
const {
199 #include "FastSimulation/Event/interface/FBaseSimEvent.icc"
201 #endif // FBaseSimEvent_H
const ParticleDataTable * pdt
double lateVertexPosition
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
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.
int addSimTrack(const RawParticle *p, int iv, int ig=-1, const HepMC::GenVertex *ev=0)
Add a new track to the Event and to the various lists.
const HepMC::GenParticle * embdGenpart(int i) const
return MC track with a given id
HepPDT::ParticleDataTable ParticleDataTable
std::vector< FSimTrack > * theSimTracks
std::vector< unsigned > * theChargedTracks
FBaseSimEvent(const edm::ParameterSet &kine)
Default constructor.
unsigned int theTrackSize
unsigned int theVertexSize
KineParticleFilter * myFilter
The particle filter.
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
math::XYZPoint theBeamSpot
void addParticles(const HepMC::GenEvent &hev)
Add the particles and their vertices to the list.
std::vector< FSimVertex > * vertices() const
The pointer to the vector of FSimVertex's.
void clear()
clear the FBaseSimEvent content before the next event
FSimVertex & vertex(int id) const
Return vertex with given Id.
unsigned int nChargedTracks() const
Number of "reconstructed" charged tracks.
unsigned int nVertices() const
Number of vertices.
FSimVertexType & vertexType(int id) const
Return vertex with given Id.
std::vector< FSimTrack > * tracks() const
The pointer to the vector of FSimTrack's.
const FSimVertexType & embdVertexType(int i) const
return embedded vertex type with given id
~FBaseSimEvent()
usual virtual destructor
unsigned int nTracks() const
Number of tracks.
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 setBeamSpot(const math::XYZPoint &aBeamSpot)
Set the beam spot position.
void fill(const HepMC::GenEvent &hev)
fill the FBaseSimEvent from the current HepMC::GenEvent
const SimVertex & embdVertex(int i) const
return embedded vertex with given id
XYZPointD XYZPoint
point in space with cartesian internal representation
unsigned int theChargedSize
void addChargedTrack(int id)
Add an id in the vector of charged tracks id's.
const SimTrack & embdTrack(int i) const
return embedded track with given id
unsigned int nChargedParticleTracks
void initializePdt(const HepPDT::ParticleDataTable *aPdt)
Initialize the particle data table.
unsigned int nGenParts() const
Number of generator particles.
std::vector< HepMC::GenParticle * > * genparts() const
The pointer to the vector of GenParticle's.
const KineParticleFilter & filter() const
int chargedTrack(int id) const
return "reconstructed" charged tracks index.
void printMCTruth(const HepMC::GenEvent &hev)
print the original MCTruth event
std::vector< HepMC::GenParticle * > * theGenParticles
math::XYZTLorentzVector XYZTLorentzVector
void print() const
print the FBaseSimEvent in an intelligible way
FSimTrack & track(int id) const
Return track with given Id.
FSimVertexTypeCollection * theFSimVerticesType