EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
erhic::EventMC Class Referenceabstract

#include <eic-smear/blob/master/include/eicsmear/erhic/EventMC.h>

+ Inheritance diagram for erhic::EventMC:
+ Collaboration diagram for erhic::EventMC:

Public Member Functions

 EventMC ()
 
virtual ~EventMC ()
 
virtual bool RequiresEaParticleFields ()
 
virtual ULong64_t GetN () const
 
virtual Int_t GetProcess () const
 
virtual UInt_t GetNTracks () const
 
virtual const ParticleMCGetTrack (UInt_t) const
 
virtual ParticleMCGetTrack (UInt_t)
 
virtual const ParticleMCBeamLepton () const
 
virtual const ParticleMCBeamHadron () const
 
virtual const ParticleMCExchangeBoson () const
 
virtual const ParticleMCScatteredLepton () const
 
virtual bool Parse (const std::string &)=0
 
virtual void AddLast (ParticleMC *track)
 
virtual void Reset ()
 
void Print (const Option_t *option="") const
 
virtual void Clear (Option_t *="")
 
virtual void SetProcess (int code)
 
virtual void SetN (int n)
 
virtual void SetNTracks (int n)
 
virtual void SetELeptonInNuclearFrame (double energy)
 
virtual void SetEScatteredInNuclearFrame (double energy)
 
void FinalState (ParticlePtrList &particles) const
 
void HadronicFinalState (ParticlePtrList &) const
 
TLorentzVector FinalStateMomentum () const
 
TLorentzVector HadronicFinalStateMomentum () const
 
Double_t FinalStateCharge () const
 
std::vector< const
VirtualParticle * > 
GetTracks () const
 
- Public Member Functions inherited from erhic::EventDis
virtual ~EventDis ()
 
 EventDis ()
 
 EventDis (const EventDis &)
 
EventDisoperator= (const EventDis &)
 
virtual Double_t GetX () const
 
virtual Double_t GetQ2 () const
 
virtual Double_t GetY () const
 
virtual Double_t GetYPlus () const
 
virtual Double_t GetW2 () const
 
virtual Double_t GetNu () const
 
virtual double GetXDoubleAngle () const
 
virtual double GetQ2DoubleAngle () const
 
virtual double GetYDoubleAngle () const
 
virtual double GetW2DoubleAngle () const
 
virtual double GetXJacquetBlondel () const
 
virtual double GetQ2JacquetBlondel () const
 
virtual double GetYJacquetBlondel () const
 
virtual double GetW2JacquetBlondel () const
 
virtual void SetLeptonKinematics (const DisKinematics &)
 
virtual void SetJacquetBlondelKinematics (const DisKinematics &)
 
virtual void SetDoubleAngleKinematics (const DisKinematics &)
 
virtual void CopyKinematics (const EventDis &)
 
- Public Member Functions inherited from erhic::VirtualEvent
virtual ~VirtualEvent ()
 

Protected Attributes

Int_t number
 Event number.
 
Int_t process
 PYTHIA code for the physics process producing the event.
 
Int_t nTracks
 Number of Particles in the event (intermediate + final)
 
Double32_t ELeptonInNucl
 
Double32_t ELeptonOutNucl
 
TClonesArray particles
 Particle list.
 

Additional Inherited Members

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

Detailed Description

Abstract base class for DIS Monte Carlo events. Implements common event properties and methods.

Definition at line 30 of file EventMC.h.

View newest version in sPHENIX GitHub at line 30 of file EventMC.h

Constructor & Destructor Documentation

erhic::EventMC::EventMC ( )

Constructor.

Definition at line 34 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 34 of file EventMC.cxx

erhic::EventMC::~EventMC ( )
virtual

Destructor.

Definition at line 43 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 43 of file EventMC.cxx

Member Function Documentation

void erhic::EventMC::AddLast ( ParticleMC track)
virtual

Add a copy of a track argument to the end of the track list.

Parameters
[in]Pointerto the track to add.

Definition at line 158 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 158 of file EventMC.cxx

References nTracks, and particles.

Referenced by Poacher::GetNextEvent(), and erhic::HandleHepmcParticle().

+ Here is the caller graph for this function:

const ParticleMC * erhic::EventMC::BeamHadron ( ) const
virtual

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.

Reimplemented in EventEicMC, and EventProMC.

Definition at line 131 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 131 of file EventMC.cxx

References GetTrack().

Referenced by EicRcEvent::BeamHadron(), and TreeToHepMC().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const ParticleMC * erhic::EventMC::BeamLepton ( ) const
virtual

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.

Reimplemented in EventEicMC, and EventProMC.

Definition at line 126 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 126 of file EventMC.cxx

References GetTrack().

Referenced by EicRcEvent::BeamLepton(), erhic::EventRapgap::ScatteredLepton(), erhic::EventSimple::ScatteredLepton(), erhic::EventDEMP::ScatteredLepton(), erhic::EventSartre::ScatteredLepton(), erhic::EventPythia::ScatteredLepton(), and TreeToHepMC().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void erhic::EventMC::Clear ( Option_t *  = "")
virtual

Clears event contents. Event properties are reset to defaults and track list is deleted.

Definition at line 153 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 153 of file EventMC.cxx

References particles, and Reset().

Referenced by Poacher::GetNextEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const ParticleMC * erhic::EventMC::ExchangeBoson ( ) const
virtual

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 fourth particle in the particle list.

Implements erhic::EventDis.

Reimplemented in EventEicMC, EventProMC, erhic::EventSartre, erhic::EventDjangoh, erhic::EventPepsi, and erhic::EventRapgap.

Definition at line 141 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 141 of file EventMC.cxx

References GetTrack().

Referenced by TreeToHepMC().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void erhic::EventMC::FinalState ( ParticlePtrList particles) const

Stores pointers to all final state particles in the list. These pointers should not be deleted by the user. Any existing entries in the list are not changed.

Parameters
[out]particlesThe list in which to store particles.

Definition at line 76 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 76 of file EventMC.cxx

References erhic::ParticleMCbase::GetStatus(), p, and particles.

Referenced by FinalStateCharge(), FinalStateMomentum(), HadronicFinalState(), erhic::EventRapgap::ScatteredLepton(), erhic::EventSimple::ScatteredLepton(), erhic::EventDEMP::ScatteredLepton(), erhic::EventSartre::ScatteredLepton(), and erhic::EventPythia::ScatteredLepton().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Double_t erhic::EventMC::FinalStateCharge ( ) const

Returns the total charge of the final state in units of e.

Definition at line 109 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 109 of file EventMC.cxx

References charge, FinalState(), part, and pdg.

+ Here is the call graph for this function:

TLorentzVector erhic::EventMC::FinalStateMomentum ( ) const

Returns the total momentum of the final state in GeV/c.

Definition at line 87 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 87 of file EventMC.cxx

References FinalState(), and charm_jet_coverage::mom.

+ Here is the call graph for this function:

ULong64_t erhic::EventMC::GetN ( ) const
inlinevirtual

Returns a unique identifier for this event.

Definition at line 224 of file EventMC.h.

View newest version in sPHENIX GitHub at line 224 of file EventMC.h

References number.

UInt_t erhic::EventMC::GetNTracks ( ) const
inlinevirtual

Returns the number of tracks in the event.

Implements erhic::VirtualEvent.

Definition at line 232 of file EventMC.h.

View newest version in sPHENIX GitHub at line 232 of file EventMC.h

References particles.

Referenced by erhic::ParticleMCbase::ComputeEventDependentQuantities(), Print(), ReadEICFiles::process_event(), and TreeToHepMC().

+ Here is the caller graph for this function:

Int_t erhic::EventMC::GetProcess ( ) const
inlinevirtual

Returns a code describing the production process of this event.

Definition at line 228 of file EventMC.h.

View newest version in sPHENIX GitHub at line 228 of file EventMC.h

References process.

Referenced by ReadEICFiles::process_event().

+ Here is the caller graph for this function:

const ParticleMC * erhic::EventMC::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()).

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements erhic::VirtualEvent.

Definition at line 236 of file EventMC.h.

View newest version in sPHENIX GitHub at line 236 of file EventMC.h

References particles.

Referenced by BeamHadron(), BeamLepton(), erhic::EventPepsi::ExchangeBoson(), erhic::EventDjangoh::ExchangeBoson(), ExchangeBoson(), EventToDot::Generate(), erhic::ParticleMC::GetChild(), erhic::ParticleMC::GetParent(), erhic::HandleAllVertices(), main(), Print(), ReadEICFiles::process_event(), erhic::EventPepsi::ScatteredLepton(), erhic::EventDjangoh::ScatteredLepton(), ScatteredLepton(), and TreeToHepMC().

+ Here is the caller graph for this function:

ParticleMC * erhic::EventMC::GetTrack ( UInt_t  )
inlinevirtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implements erhic::VirtualEvent.

Definition at line 244 of file EventMC.h.

View newest version in sPHENIX GitHub at line 244 of file EventMC.h

References particles.

TrackVector erhic::EventMC::GetTracks ( ) const

Returns pointers to all tracks in the event. Do not delete the pointers.

Definition at line 48 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 48 of file EventMC.cxx

References particles.

Referenced by erhic::EventRapgap::ExchangeBoson(), and erhic::EventSartre::ExchangeBoson().

+ Here is the caller graph for this function:

void erhic::EventMC::HadronicFinalState ( ParticlePtrList ) 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 (i.e. including leptons and bosons).

Reimplemented from erhic::VirtualEvent.

Definition at line 58 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 58 of file EventMC.cxx

References FinalState(), and ScatteredLepton().

Referenced by HadronicFinalStateMomentum().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TLorentzVector erhic::EventMC::HadronicFinalStateMomentum ( ) const

Returns the total momentum of the hadronic final state in GeV/c.

Definition at line 98 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 98 of file EventMC.cxx

References HadronicFinalState(), and charm_jet_coverage::mom.

+ Here is the call graph for this function:

virtual bool erhic::EventMC::Parse ( const std::string &  )
pure virtual

Populates the event-wise variables from a string. Does not populate the particle list or compute derived quantities. See also Compute().

Implemented in erhic::EventBeagle, EventEicMC, EventProMC, erhic::EventPythia, erhic::EventGmcTrans, erhic::EventDjangoh, erhic::EventMilou, erhic::EventPepsi, erhic::EventDEMP, erhic::EventDpmjet, erhic::EventSartre, erhic::EventSimple, erhic::EventHepMC, and erhic::EventRapgap.

void erhic::EventMC::Print ( const Option_t *  option = "") const

Quick Event list

Definition at line 163 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 163 of file EventMC.cxx

References GetNTracks(), GetTrack(), Print(), erhic::ParticleMCbase::Print(), and t.

+ Here is the call graph for this function:

virtual bool erhic::EventMC::RequiresEaParticleFields ( )
inlinevirtual

Reimplemented in erhic::EventBeagle.

Definition at line 42 of file EventMC.h.

View newest version in sPHENIX GitHub at line 42 of file EventMC.h

void erhic::EventMC::Reset ( )
virtual

Resets event properties to defaults. Does not clear particle list - use Clear() for that.

Definition at line 146 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 146 of file EventMC.cxx

References ELeptonInNucl, ELeptonOutNucl, nTracks, erhic::EventDis::nu, number, process, erhic::EventDis::QSquared, erhic::EventDis::WSquared, erhic::EventDis::x, and erhic::EventDis::y.

Referenced by Clear().

+ Here is the caller graph for this function:

const ParticleMC * erhic::EventMC::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.

Please overwrite this method accordingly! By default, it will simply use the fourth particle in the particle list. See e.g. EventPythia, EventSimple.

Implements erhic::EventDis.

Reimplemented in erhic::EventPythia, EventEicMC, erhic::EventDjangoh, EventProMC, erhic::EventPepsi, erhic::EventSartre, erhic::EventDEMP, erhic::EventSimple, and erhic::EventRapgap.

Definition at line 136 of file EventMC.cxx.

View newest version in sPHENIX GitHub at line 136 of file EventMC.cxx

References GetTrack().

Referenced by HadronicFinalState(), and TreeToHepMC().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void erhic::EventMC::SetELeptonInNuclearFrame ( double  energy)
inlinevirtual

Set incident lepton energy in the nuclear rest frame.

Definition at line 264 of file EventMC.h.

View newest version in sPHENIX GitHub at line 264 of file EventMC.h

References Acts::UnitConstants::e, and ELeptonInNucl.

void erhic::EventMC::SetEScatteredInNuclearFrame ( double  energy)
inlinevirtual

Set scattered lepton energy in the nuclear rest frame.

Definition at line 268 of file EventMC.h.

View newest version in sPHENIX GitHub at line 268 of file EventMC.h

References Acts::UnitConstants::e, and ELeptonOutNucl.

void erhic::EventMC::SetN ( int  n)
inlinevirtual

Sets the unique identifier for this event.

Parameters
[in]nThe identifying number, an integer

Definition at line 256 of file EventMC.h.

View newest version in sPHENIX GitHub at line 256 of file EventMC.h

References n, and number.

void erhic::EventMC::SetNTracks ( int  n)
inlinevirtual

Sets the track count for this event.

Parameters
[in]nThe track count, an integer

Definition at line 260 of file EventMC.h.

View newest version in sPHENIX GitHub at line 260 of file EventMC.h

References n, and nTracks.

void erhic::EventMC::SetProcess ( int  code)
inlinevirtual

Sets the code describing the production process of this event.

Parameters
[in]codeThe identifying code, an integer

Definition at line 252 of file EventMC.h.

View newest version in sPHENIX GitHub at line 252 of file EventMC.h

References process.

Member Data Documentation

Double32_t erhic::EventMC::ELeptonInNucl
protected

Incident lepton energy in the nuclear rest frame

Definition at line 215 of file EventMC.h.

View newest version in sPHENIX GitHub at line 215 of file EventMC.h

Referenced by Reset(), and SetELeptonInNuclearFrame().

Double32_t erhic::EventMC::ELeptonOutNucl
protected

Scattered lepton energy in the nuclear rest frame

Definition at line 217 of file EventMC.h.

View newest version in sPHENIX GitHub at line 217 of file EventMC.h

Referenced by Reset(), and SetEScatteredInNuclearFrame().

Int_t erhic::EventMC::nTracks
protected

Number of Particles in the event (intermediate + final)

Definition at line 214 of file EventMC.h.

View newest version in sPHENIX GitHub at line 214 of file EventMC.h

Referenced by AddLast(), erhic::EventRapgap::Parse(), erhic::EventDpmjet::Parse(), erhic::EventPepsi::Parse(), erhic::EventMilou::Parse(), erhic::EventDjangoh::Parse(), erhic::EventPythia::Parse(), erhic::EventBeagle::Parse(), Reset(), and SetNTracks().

TClonesArray erhic::EventMC::particles
protected

Particle list.

Definition at line 219 of file EventMC.h.

View newest version in sPHENIX GitHub at line 219 of file EventMC.h

Referenced by AddLast(), Clear(), FinalState(), GetNTracks(), GetTrack(), and GetTracks().

Int_t erhic::EventMC::process
protected

PYTHIA code for the physics process producing the event.

Definition at line 213 of file EventMC.h.

View newest version in sPHENIX GitHub at line 213 of file EventMC.h

Referenced by GetProcess(), erhic::EventRapgap::Parse(), erhic::EventPepsi::Parse(), erhic::EventMilou::Parse(), erhic::EventDjangoh::Parse(), erhic::EventGmcTrans::Parse(), erhic::EventPythia::Parse(), erhic::EventBeagle::Parse(), Reset(), and SetProcess().


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