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::Event Class Reference

#include <EventSmear.h>

Inheritance diagram for Smear::Event:
erhic::EventDis erhic::VirtualEvent

Public Member Functions

 Event ()
 Default constructor. More...
 
virtual ~Event ()
 Destructor. More...
 
virtual void Reset ()
 Clear the particle list, sets event properties to default values. More...
 
virtual void ClearParticles ()
 Clears particle array, leaves event variables unchanged. More...
 
virtual UInt_t GetNTracks () const
 Returns the number of tracks in the event. More...
 
virtual const ParticleMCSGetTrack (UInt_t) const
 Returns the nth track. More...
 
virtual ParticleMCSGetTrack (UInt_t)
 Returns the nth track. More...
 
virtual void SetQ2 (double Q2)
 
virtual void SetX (double xB)
 
virtual void SetY (double inelasticity)
 
virtual void SetW2 (double W2)
 
virtual void SetNu (double Nu)
 
virtual const ParticleMCSBeamLepton () const
 Returns a pointer to the incident lepton beam particle. More...
 
virtual const ParticleMCSBeamHadron () const
 Returns a pointer to the incident hadron beam particle. More...
 
virtual const ParticleMCSExchangeBoson () const
 Returns a pointer to the exchanged boson. More...
 
virtual const ParticleMCSScatteredLepton () const
 Returns a pointer to the lepton beam particle after scattering. More...
 
virtual void AddLast (ParticleMCS *particle)
 Add a new track to the end of the track list. More...
 
void HadronicFinalState (ParticlePtrList &) const
 Yields all particles that belong to the hadronic final state. More...
 
std::vector< const erhic::VirtualParticle * > GetTracks () const
 Returns a vector of pointers to all tracks in the event. More...
 
virtual void SetScattered (int index)
 Set which particle is the scattered lepton. More...
 
virtual void Print (Option_t *="") const
 Prints the attributes of this event to standard output. More...
 
- Public Member Functions inherited from erhic::EventDis
virtual ~EventDis ()
 Destructor. More...
 
 EventDis ()
 Default constructor. More...
 
 EventDis (const EventDis &)
 Constructor copying another event's kinematics. More...
 
EventDisoperator= (const EventDis &)
 Assign another event's kinematics to this EventDis. More...
 
virtual Double_t GetX () const
 Returns Bjorken-x of the event. More...
 
virtual Double_t GetQ2 () const
 Returns the four-momentum transfer (exchange boson mass) Q2. More...
 
virtual Double_t GetY () const
 Returns the event inelasticity. More...
 
virtual Double_t GetYPlus () const
 Returns Y+ = y2 / (1 + (1-y)2) More...
 
virtual Double_t GetW2 () const
 Returns the invariant mass of the hadronic final state. More...
 
virtual Double_t GetNu () const
 Returns the exchange boson energy in the beam hadron rest frame. More...
 
virtual double GetXDoubleAngle () const
 Returns Bjorken x computed via the double-angle method. More...
 
virtual double GetQ2DoubleAngle () const
 Returns Q-squared computed via the double-angle method. More...
 
virtual double GetYDoubleAngle () const
 Returns inelasticity computed via the double-angle method. More...
 
virtual double GetW2DoubleAngle () const
 Returns W-squared computed via the double-angle method. More...
 
virtual double GetXJacquetBlondel () const
 Returns Bjorken x computed via the Jacquet-Blondel method. More...
 
virtual double GetQ2JacquetBlondel () const
 Returns Q-squared computed via the Jacquet-Blondel method. More...
 
virtual double GetYJacquetBlondel () const
 Returns inelasticity computed via the Jacquet-Blondel method. More...
 
virtual double GetW2JacquetBlondel () const
 Returns W-squared computed via the Jacquet-Blondel method. More...
 
virtual void SetLeptonKinematics (const DisKinematics &)
 Set the kinematics computed from the scattered lepton. More...
 
virtual void SetJacquetBlondelKinematics (const DisKinematics &)
 Set the kinematics computed from the Jacquet-Blondel method. More...
 
virtual void SetDoubleAngleKinematics (const DisKinematics &)
 Set the kinematics computed from the double-angle method. More...
 
virtual void CopyKinematics (const EventDis &)
 Copy the kinematics from another event to this event. More...
 
- Public Member Functions inherited from erhic::VirtualEvent
virtual ~VirtualEvent ()
 Destructor. More...
 

Protected Attributes

Int_t nTracks
 Number of particles (intermediate + final) More...
 
std::vector< ParticleMCS * > particles
 The smeared particle list. More...
 
Int_t mScatteredIndex
 

Additional Inherited Members

- Public Types inherited from erhic::VirtualEvent
typedef std::vector< const erhic::VirtualParticle * > ParticlePtrList
 typedef for a track pointer collection. More...
 
- Public Attributes inherited from erhic::EventDis
Double32_t x
 Bjorken scaling variable. More...
 
Double32_t QSquared
 Q2 calculated from scattered electron. More...
 
Double32_t y
 Inelasticity. More...
 
Double32_t WSquared
 Invariant mass of the hadronic system. More...
 
Double32_t nu
 Energy transfer from the electron. More...
 
Double32_t yJB
 y calculated via the Jacquet-Blondel method More...
 
Double32_t QSquaredJB
 Q2 calculated via the Jacquet-Blondel method. More...
 
Double32_t xJB
 x calculated via the Jacquet-Blondel method More...
 
Double32_t WSquaredJB
 W2 calculated via the Jacquet-Blondel method. More...
 
Double32_t yDA
 y calculated via the double-angle method More...
 
Double32_t QSquaredDA
 Q2 calculated via the double-angle method. More...
 
Double32_t xDA
 x calculated via the double-angle method More...
 
Double32_t WSquaredDA
 W2 calculated via the double-angle method. More...
 

Detailed Description

Definition at line 29 of file smear/EventSmear.h.

Constructor & Destructor Documentation

◆ Event()

Smear::Event::Event ( )

Default constructor.

Definition at line 17 of file smear/EventSmear.cxx.

◆ ~Event()

Smear::Event::~Event ( )
virtual

Destructor.

Definition at line 22 of file smear/EventSmear.cxx.

Member Function Documentation

◆ AddLast()

void Smear::Event::AddLast ( ParticleMCS particle)
virtual

Add a new track to the end of the track list.

The track must be allocated via new and is subsequently owned by the Event.

Definition at line 39 of file smear/EventSmear.cxx.

◆ BeamHadron()

const ParticleMCS * Smear::Event::BeamHadron ( ) const
inlinevirtual

Returns a pointer to the incident hadron beam particle.

See also notes in BeamLepton().

In the standard eRHIC Monte Carlo format, the incident hadron beam is assumed to be the second particle in the particle list.

Implements erhic::EventDis.

Definition at line 177 of file smear/EventSmear.h.

◆ BeamLepton()

const ParticleMCS * Smear::Event::BeamLepton ( ) const
inlinevirtual

Returns a pointer to the incident lepton beam particle.

Returns a NULL pointer if the particle cannot be located in the event. IMPORTANT - DO NOT DELETE THE POINTER OR BAD THINGS WILL HAPPEN!

In the standard eRHIC Monte Carlo format, the incident lepton beam is assumed to be the first particle in the particle list. This is the behaviour implemented here. Derived classes can implement other selection mechanisms depending on their data format.

Implements erhic::EventDis.

Definition at line 173 of file smear/EventSmear.h.

◆ ClearParticles()

void Smear::Event::ClearParticles ( )
virtual

Clears particle array, leaves event variables unchanged.

Definition at line 26 of file smear/EventSmear.cxx.

◆ ExchangeBoson()

const ParticleMCS * Smear::Event::ExchangeBoson ( ) const
inlinevirtual

Returns a pointer to the exchanged boson.

See also notes in BeamLepton().

In the standard eRHIC Monte Carlo format, the exchanged boson is assumed to be the third particle in the particle list.

Implements erhic::EventDis.

Definition at line 181 of file smear/EventSmear.h.

◆ GetNTracks()

UInt_t Smear::Event::GetNTracks ( ) const
inlinevirtual

Returns the number of tracks in the event.

Implements erhic::VirtualEvent.

Definition at line 161 of file smear/EventSmear.h.

◆ GetTrack() [1/2]

Smear::ParticleMCS * Smear::Event::GetTrack ( UInt_t  u)
inlinevirtual

Returns the nth track.

Returns NULL if the track number is out of the range [0, GetNTracks()).

Parameters
[in]Thetrack index, in the range [0, GetNTracks()).

Implements erhic::VirtualEvent.

Definition at line 169 of file smear/EventSmear.h.

◆ GetTrack() [2/2]

const Smear::ParticleMCS * Smear::Event::GetTrack ( UInt_t  u) const
inlinevirtual

Returns the nth track.

Returns NULL if the track number is out of the range [0, GetNTracks()).

Parameters
[in]Thetrack index, in the range [0, GetNTracks()).

Implements erhic::VirtualEvent.

Definition at line 165 of file smear/EventSmear.h.

◆ GetTracks()

std::vector< const erhic::VirtualParticle * > Smear::Event::GetTracks ( ) const

Returns a vector of pointers to all tracks in the event.

Note that this includes NULL pointers to tracks that were not detected. Do not delete the pointers.

Definition at line 67 of file smear/EventSmear.cxx.

◆ HadronicFinalState()

void Smear::Event::HadronicFinalState ( ParticlePtrList final) const
virtual

Yields all particles that belong to the hadronic final state.

This is the same as the result of FinalState(), minus the scattered beam lepton.

Reimplemented from erhic::VirtualEvent.

Definition at line 55 of file smear/EventSmear.cxx.

◆ Print()

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

Prints the attributes of this event to standard output.

Prints event-wise kinematic values, and all tracks in the event.

Definition at line 80 of file smear/EventSmear.cxx.

◆ Reset()

void Smear::Event::Reset ( )
virtual

Clear the particle list, sets event properties to default values.

Definition at line 34 of file smear/EventSmear.cxx.

◆ ScatteredLepton()

const ParticleMCS * Smear::Event::ScatteredLepton ( ) const
virtual

Returns a pointer to the lepton beam particle after scattering.

See also notes in BeamLepton().

In the standard eRHIC Monte Carlo format, the scattered lepton beam is assumed to be the first final-state particle in the particle list with the same PDG code as the incident lepton beam.

Implements erhic::EventDis.

Definition at line 44 of file smear/EventSmear.cxx.

◆ SetNu()

virtual void Smear::Event::SetNu ( double  Nu)
inlinevirtual

Definition at line 78 of file smear/EventSmear.h.

◆ SetQ2()

virtual void Smear::Event::SetQ2 ( double  Q2)
inlinevirtual

Definition at line 70 of file smear/EventSmear.h.

◆ SetScattered()

void Smear::Event::SetScattered ( int  index)
virtual

Set which particle is the scattered lepton.

Definition at line 75 of file smear/EventSmear.cxx.

◆ SetW2()

virtual void Smear::Event::SetW2 ( double  W2)
inlinevirtual

Definition at line 76 of file smear/EventSmear.h.

◆ SetX()

virtual void Smear::Event::SetX ( double  xB)
inlinevirtual

Definition at line 72 of file smear/EventSmear.h.

◆ SetY()

virtual void Smear::Event::SetY ( double  inelasticity)
inlinevirtual

Definition at line 74 of file smear/EventSmear.h.

Member Data Documentation

◆ mScatteredIndex

Int_t Smear::Event::mScatteredIndex
protected

Definition at line 156 of file smear/EventSmear.h.

◆ nTracks

Int_t Smear::Event::nTracks
protected

Number of particles (intermediate + final)

Definition at line 154 of file smear/EventSmear.h.

◆ particles

std::vector<ParticleMCS*> Smear::Event::particles
protected

The smeared particle list.

Definition at line 155 of file smear/EventSmear.h.


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