eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
Smear::ParticleMCS Class Reference

A smeared Monte Carlo particle. More...

#include <ParticleMCS.h>

Inheritance diagram for Smear::ParticleMCS:
erhic::VirtualParticle

Public Member Functions

virtual ~ParticleMCS ()
 Destructor. More...
 
 ParticleMCS ()
 Default constructor. More...
 
 ParticleMCS (const TLorentzVector &, int pdg, int status)
 Construct from an E-p 4-vector, pdg code and status code. More...
 
virtual Double_t GetPx () const
 Returns the x component of 3-momentum. More...
 
virtual Double_t GetPy () const
 Returns the y component of 3-momentum. More...
 
virtual Double_t GetPz () const
 Returns the z component of 3-momentum. More...
 
virtual Double_t GetE () const
 Returns the energy of the particle in the lab frame. More...
 
virtual TLorentzVector Get4Vector () const
 Returns the (E,p) 4-vector in the lab frame. More...
 
virtual TLorentzVector PxPyPzE () const
 Returns the (E,p) 4-vector in the lab frame. More...
 
virtual Double_t GetM () const
 Returns the apparent mass of the smeared particle. More...
 
virtual Double_t GetPt () const
 Returns momentum transverse to the beam direction. More...
 
virtual TVector3 GetVertex () const
 Returns the origin point of the particle (cm). More...
 
virtual Double_t GetP () const
 Returns the total momentum (GeV). More...
 
virtual Double_t GetTheta () const
 Returns the polar angle in the range [0,pi] radians. More...
 
virtual Double_t GetPhi () const
 Returns the polar angle in the range [0,2pi] radians. More...
 
virtual Double_t GetRapidity () const
 Returns the rapidity. More...
 
virtual Double_t GetEta () const
 Returns the pseudorapidity. More...
 
virtual UShort_t GetStatus () const
 Returns a status code following the PYTHIA defintion, where 21 indicates an initial-state particle and 1 indicates a final- state particle. More...
 
virtual ::erhic::Pid Id () const
 Returns the ID of the particle. More...
 
virtual void SetE (Double_t)
 
virtual void SetP (Double_t)
 
virtual void SetPt (Double_t)
 
virtual void SetPz (Double_t)
 
virtual void SetPhi (Double_t)
 
virtual void SetTheta (Double_t)
 
void Set4Vector (const TLorentzVector &)
 Dummy one; just need to compile;. More...
 
virtual void SetId (Int_t)
 
virtual void SetStatus (Int_t)
 
virtual UShort_t GetParentIndex () const
 Returns the index of the parent particle. More...
 
virtual void Print (Option_t *="") const
 Prints the attributes of this particle to standard output. More...
 
virtual void SetVertex (const TVector3 &)
 Sets the origin coordinates. More...
 
- Public Member Functions inherited from erhic::VirtualParticle
virtual ~VirtualParticle ()
 Destructor. More...
 

Public Attributes

UShort_t status
 Status code. More...
 
Int_t id
 PDG particle code. More...
 
Double32_t px
 x component of particle momentum More...
 
Double32_t py
 y component of particle momentum More...
 
Double32_t pz
 z component of particle momentum More...
 
Double32_t E
 Energy of particle. More...
 
Double32_t pt
 Transverse momentum of particle. More...
 
Double32_t p
 Total momentum of particle. More...
 
Double32_t theta
 Polar angle. More...
 
Double32_t phi
 Azimuthal angle. More...
 

Detailed Description

A smeared Monte Carlo particle.

Definition at line 27 of file ParticleMCS.h.

Constructor & Destructor Documentation

◆ ~ParticleMCS()

Smear::ParticleMCS::~ParticleMCS ( )
virtual

Destructor.

Definition at line 45 of file ParticleMCS.cxx.

◆ ParticleMCS() [1/2]

Smear::ParticleMCS::ParticleMCS ( )

Default constructor.

Initialises the Particle from the argument string with the format I KS id orig daughter ldaughter px py pz m E xv yv zv

Definition at line 19 of file ParticleMCS.cxx.

◆ ParticleMCS() [2/2]

Smear::ParticleMCS::ParticleMCS ( const TLorentzVector &  ep,
int  pdg,
int  status 
)

Construct from an E-p 4-vector, pdg code and status code.

Definition at line 32 of file ParticleMCS.cxx.

Member Function Documentation

◆ Get4Vector()

TLorentzVector Smear::ParticleMCS::Get4Vector ( ) const
virtual

Returns the (E,p) 4-vector in the lab frame.

Implements erhic::VirtualParticle.

Definition at line 48 of file ParticleMCS.cxx.

◆ GetE()

Double_t Smear::ParticleMCS::GetE ( ) const
inlinevirtual

Returns the energy of the particle in the lab frame.

Implements erhic::VirtualParticle.

Definition at line 197 of file ParticleMCS.h.

◆ GetEta()

Double_t Smear::ParticleMCS::GetEta ( ) const
virtual

Returns the pseudorapidity.

Implements erhic::VirtualParticle.

Definition at line 70 of file ParticleMCS.cxx.

◆ GetM()

Double_t Smear::ParticleMCS::GetM ( ) const
inlinevirtual

Returns the apparent mass of the smeared particle.

Todo:
Consider the implementation here. If the particle is identified (either correctly or incorrectly), it could return the PDG mass of that particle. If the particle is not identified, should it return sqrt(E^2 - p^2)? What about if p or E are not known? Return E or p? Or zero (e.g. that would work for photons, E known, p not).

Implements erhic::VirtualParticle.

Definition at line 201 of file ParticleMCS.h.

◆ GetP()

Double_t Smear::ParticleMCS::GetP ( ) const
inlinevirtual

Returns the total momentum (GeV).

Implements erhic::VirtualParticle.

Definition at line 213 of file ParticleMCS.h.

◆ GetParentIndex()

virtual UShort_t Smear::ParticleMCS::GetParentIndex ( ) const
inlinevirtual

Returns the index of the parent particle.

Implements erhic::VirtualParticle.

Definition at line 156 of file ParticleMCS.h.

◆ GetPhi()

Double_t Smear::ParticleMCS::GetPhi ( ) const
inlinevirtual

Returns the polar angle in the range [0,2pi] radians.

Implements erhic::VirtualParticle.

Definition at line 221 of file ParticleMCS.h.

◆ GetPt()

Double_t Smear::ParticleMCS::GetPt ( ) const
inlinevirtual

Returns momentum transverse to the beam direction.

Todo:
check this is set properly

Implements erhic::VirtualParticle.

Definition at line 205 of file ParticleMCS.h.

◆ GetPx()

Double_t Smear::ParticleMCS::GetPx ( ) const
inlinevirtual

Returns the x component of 3-momentum.

Implements erhic::VirtualParticle.

Definition at line 185 of file ParticleMCS.h.

◆ GetPy()

Double_t Smear::ParticleMCS::GetPy ( ) const
inlinevirtual

Returns the y component of 3-momentum.

Implements erhic::VirtualParticle.

Definition at line 189 of file ParticleMCS.h.

◆ GetPz()

Double_t Smear::ParticleMCS::GetPz ( ) const
inlinevirtual

Returns the z component of 3-momentum.

Implements erhic::VirtualParticle.

Definition at line 193 of file ParticleMCS.h.

◆ GetRapidity()

Double_t Smear::ParticleMCS::GetRapidity ( ) const
virtual

Returns the rapidity.

Implements erhic::VirtualParticle.

Definition at line 81 of file ParticleMCS.cxx.

◆ GetStatus()

UShort_t Smear::ParticleMCS::GetStatus ( ) const
inlinevirtual

Returns a status code following the PYTHIA defintion, where 21 indicates an initial-state particle and 1 indicates a final- state particle.

Implements erhic::VirtualParticle.

Definition at line 225 of file ParticleMCS.h.

◆ GetTheta()

Double_t Smear::ParticleMCS::GetTheta ( ) const
inlinevirtual

Returns the polar angle in the range [0,pi] radians.

Implements erhic::VirtualParticle.

Definition at line 217 of file ParticleMCS.h.

◆ GetVertex()

TVector3 Smear::ParticleMCS::GetVertex ( ) const
inlinevirtual

Returns the origin point of the particle (cm).

(0,0,0) indicates a particle originating in the collision.

Implements erhic::VirtualParticle.

Definition at line 209 of file ParticleMCS.h.

◆ Id()

erhic::Pid Smear::ParticleMCS::Id ( ) const
inlinevirtual

Returns the ID of the particle.

Implements erhic::VirtualParticle.

Definition at line 261 of file ParticleMCS.h.

◆ Print()

void Smear::ParticleMCS::Print ( Option_t *  = "") const
virtual

Prints the attributes of this particle to standard output.

The output format is "status id px py pz E".

Definition at line 52 of file ParticleMCS.cxx.

◆ PxPyPzE()

virtual TLorentzVector Smear::ParticleMCS::PxPyPzE ( ) const
inlinevirtual

Returns the (E,p) 4-vector in the lab frame.

Definition at line 74 of file ParticleMCS.h.

◆ Set4Vector()

void Smear::ParticleMCS::Set4Vector ( const TLorentzVector &  )
inlinevirtual

Dummy one; just need to compile;.

Implements erhic::VirtualParticle.

Definition at line 150 of file ParticleMCS.h.

◆ SetE()

void Smear::ParticleMCS::SetE ( Double_t  e)
inlinevirtual

Definition at line 229 of file ParticleMCS.h.

◆ SetId()

void Smear::ParticleMCS::SetId ( Int_t  i)
inlinevirtual

Definition at line 253 of file ParticleMCS.h.

◆ SetP()

void Smear::ParticleMCS::SetP ( Double_t  momentum)
inlinevirtual

Definition at line 233 of file ParticleMCS.h.

◆ SetPhi()

void Smear::ParticleMCS::SetPhi ( Double_t  value)
inlinevirtual

Definition at line 245 of file ParticleMCS.h.

◆ SetPt()

void Smear::ParticleMCS::SetPt ( Double_t  momentum)
inlinevirtual

Definition at line 237 of file ParticleMCS.h.

◆ SetPz()

void Smear::ParticleMCS::SetPz ( Double_t  momentum)
inlinevirtual

Definition at line 241 of file ParticleMCS.h.

◆ SetStatus()

void Smear::ParticleMCS::SetStatus ( Int_t  i)
inlinevirtual

Definition at line 257 of file ParticleMCS.h.

◆ SetTheta()

void Smear::ParticleMCS::SetTheta ( Double_t  value)
inlinevirtual

Definition at line 249 of file ParticleMCS.h.

◆ SetVertex()

virtual void Smear::ParticleMCS::SetVertex ( const TVector3 &  )
inlinevirtual

Sets the origin coordinates.

No-op, just required for compilation.

Implements erhic::VirtualParticle.

Definition at line 168 of file ParticleMCS.h.

Member Data Documentation

◆ E

Double32_t Smear::ParticleMCS::E

Energy of particle.

Definition at line 176 of file ParticleMCS.h.

◆ id

Int_t Smear::ParticleMCS::id

PDG particle code.

Definition at line 172 of file ParticleMCS.h.

◆ p

Double32_t Smear::ParticleMCS::p

Total momentum of particle.

Definition at line 178 of file ParticleMCS.h.

◆ phi

Double32_t Smear::ParticleMCS::phi

Azimuthal angle.

Definition at line 180 of file ParticleMCS.h.

◆ pt

Double32_t Smear::ParticleMCS::pt

Transverse momentum of particle.

Definition at line 177 of file ParticleMCS.h.

◆ px

Double32_t Smear::ParticleMCS::px

x component of particle momentum

Definition at line 173 of file ParticleMCS.h.

◆ py

Double32_t Smear::ParticleMCS::py

y component of particle momentum

Definition at line 174 of file ParticleMCS.h.

◆ pz

Double32_t Smear::ParticleMCS::pz

z component of particle momentum

Definition at line 175 of file ParticleMCS.h.

◆ status

UShort_t Smear::ParticleMCS::status

Status code.

Definition at line 171 of file ParticleMCS.h.

◆ theta

Double32_t Smear::ParticleMCS::theta

Polar angle.

Definition at line 179 of file ParticleMCS.h.


The documentation for this class was generated from the following files: