EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <eic-smear/blob/master/include/eicsmear/erhic/EventMC.h>
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 ParticleMC * | GetTrack (UInt_t) const |
virtual ParticleMC * | GetTrack (UInt_t) |
virtual const ParticleMC * | BeamLepton () const |
virtual const ParticleMC * | BeamHadron () const |
virtual const ParticleMC * | ExchangeBoson () const |
virtual const ParticleMC * | ScatteredLepton () 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 &) | |
EventDis & | operator= (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. | |
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
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
|
virtual |
Destructor.
Definition at line 43 of file EventMC.cxx.
View newest version in sPHENIX GitHub at line 43 of file EventMC.cxx
|
virtual |
Add a copy of a track argument to the end of the track list.
[in] | Pointer | to 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().
|
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().
|
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().
|
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().
|
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().
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.
[out] | particles | The 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().
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.
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.
|
inlinevirtual |
|
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().
|
inlinevirtual |
|
inlinevirtual |
Returns the nth track. Returns NULL if the track number is out of the range [0, GetNTracks()).
[in] | The | track 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().
|
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().
|
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().
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.
|
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.
|
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
|
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().
|
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().
|
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.
|
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.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
protected |
|
protected |
|
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().
|
protected |
Event number.
Definition at line 212 of file EventMC.h.
View newest version in sPHENIX GitHub at line 212 of file EventMC.h
Referenced by GetN(), erhic::EventRapgap::Parse(), erhic::EventSimple::Parse(), erhic::EventSartre::Parse(), erhic::EventDEMP::Parse(), erhic::EventDpmjet::Parse(), erhic::EventPepsi::Parse(), erhic::EventMilou::Parse(), erhic::EventDjangoh::Parse(), erhic::EventPythia::Parse(), erhic::EventBeagle::Parse(), Reset(), and SetN().
|
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().
|
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().