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
erhic::EventDis Class Referenceabstract

A deeply inelastic scattering event. More...

#include <EventDis.h>

Inheritance diagram for erhic::EventDis:
erhic::VirtualEvent erhic::EventMC Smear::Event erhic::EventDjangoh erhic::EventDpmjet erhic::EventGmcTrans erhic::EventMilou erhic::EventPepsi erhic::EventPythia erhic::EventRapgap erhic::EventBeagle

Public Member Functions

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 const VirtualParticleBeamLepton () const =0
 Returns a pointer to the incident lepton beam particle. More...
 
virtual const VirtualParticleBeamHadron () const =0
 Returns a pointer to the incident hadron beam particle. More...
 
virtual const VirtualParticleExchangeBoson () const =0
 Returns a pointer to the exchanged boson. More...
 
virtual const VirtualParticleScatteredLepton () const =0
 Returns a pointer to the lepton beam particle after scattering. 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...
 
virtual const VirtualParticleGetTrack (UInt_t) const =0
 Returns the nth track from the event. More...
 
virtual VirtualParticleGetTrack (UInt_t)=0
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual UInt_t GetNTracks () const =0
 Returns the number of tracks in the event. More...
 
virtual void HadronicFinalState (ParticlePtrList &) const
 Populate a track list with the hadronic final-state. More...
 

Public Attributes

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...
 

Additional Inherited Members

- Public Types inherited from erhic::VirtualEvent
typedef std::vector< const erhic::VirtualParticle * > ParticlePtrList
 typedef for a track pointer collection. More...
 

Detailed Description

A deeply inelastic scattering event.

Stores kinematics computed by different methods:

  • Using the scattered electron
  • Jacquet-Blondel method (uses hadrons)
  • Double-angle method (uses both hadrons and the scattered electron)

This is an abstract class, as it does not implement track methods inherited from VirtualEvent. The user must implement the appropriate methods for their track type in an inheriting class.

Definition at line 37 of file EventDis.h.

Constructor & Destructor Documentation

◆ ~EventDis()

erhic::EventDis::~EventDis ( )
virtual

Destructor.

Definition at line 16 of file EventDis.cxx.

◆ EventDis() [1/2]

erhic::EventDis::EventDis ( )

Default constructor.

Todo:
Consider initialising float fields to zero, not NAN.

e.g. in smeared output, particles outside acceptance retain default values, therefore in e.g. jacquet-blondel calculations, those not detected screw up the calculation because they have E, p = NAN, not zero!

Definition at line 24 of file EventDis.cxx.

◆ EventDis() [2/2]

erhic::EventDis::EventDis ( const EventDis that)

Constructor copying another event's kinematics.

Definition at line 40 of file EventDis.cxx.

Member Function Documentation

◆ BeamHadron()

virtual const VirtualParticle* erhic::EventDis::BeamHadron ( ) const
pure virtual

Returns a pointer to the incident hadron beam particle.

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

Implemented in Smear::Event, and erhic::EventMC.

◆ BeamLepton()

virtual const VirtualParticle* erhic::EventDis::BeamLepton ( ) const
pure virtual

Returns a pointer to the incident lepton beam particle.

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

Implemented in Smear::Event, and erhic::EventMC.

◆ CopyKinematics()

void erhic::EventDis::CopyKinematics ( const EventDis that)
virtual

Copy the kinematics from another event to this event.

Definition at line 52 of file EventDis.cxx.

◆ ExchangeBoson()

virtual const VirtualParticle* erhic::EventDis::ExchangeBoson ( ) const
pure virtual

Returns a pointer to the exchanged boson.

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

Implemented in Smear::Event, erhic::EventMC, erhic::EventDjangoh, and erhic::EventPepsi.

◆ GetNu()

Double_t erhic::EventDis::GetNu ( ) const
inlinevirtual

Returns the exchange boson energy in the beam hadron rest frame.

nu = q.p/M

Definition at line 202 of file EventDis.h.

◆ GetQ2()

Double_t erhic::EventDis::GetQ2 ( ) const
inlinevirtual

Returns the four-momentum transfer (exchange boson mass) Q2.

Q2 = 2EE(1+cos(theta)) = (e-e)2

Definition at line 206 of file EventDis.h.

◆ GetQ2DoubleAngle()

double erhic::EventDis::GetQ2DoubleAngle ( ) const
inlinevirtual

Returns Q-squared computed via the double-angle method.

Definition at line 226 of file EventDis.h.

◆ GetQ2JacquetBlondel()

double erhic::EventDis::GetQ2JacquetBlondel ( ) const
inlinevirtual

Returns Q-squared computed via the Jacquet-Blondel method.

Definition at line 242 of file EventDis.h.

◆ GetW2()

Double_t erhic::EventDis::GetW2 ( ) const
inlinevirtual

Returns the invariant mass of the hadronic final state.

W2 = M2 + Q2(1-x)/x

Definition at line 210 of file EventDis.h.

◆ GetW2DoubleAngle()

double erhic::EventDis::GetW2DoubleAngle ( ) const
inlinevirtual

Returns W-squared computed via the double-angle method.

Definition at line 234 of file EventDis.h.

◆ GetW2JacquetBlondel()

double erhic::EventDis::GetW2JacquetBlondel ( ) const
inlinevirtual

Returns W-squared computed via the Jacquet-Blondel method.

Definition at line 250 of file EventDis.h.

◆ GetX()

Double_t erhic::EventDis::GetX ( ) const
inlinevirtual

Returns Bjorken-x of the event.

xB = Q2/(2p.q)

Definition at line 198 of file EventDis.h.

◆ GetXDoubleAngle()

double erhic::EventDis::GetXDoubleAngle ( ) const
inlinevirtual

Returns Bjorken x computed via the double-angle method.

Definition at line 222 of file EventDis.h.

◆ GetXJacquetBlondel()

double erhic::EventDis::GetXJacquetBlondel ( ) const
inlinevirtual

Returns Bjorken x computed via the Jacquet-Blondel method.

Definition at line 238 of file EventDis.h.

◆ GetY()

Double_t erhic::EventDis::GetY ( ) const
inlinevirtual

Returns the event inelasticity.

y = (p.q)/(p.e)

Definition at line 214 of file EventDis.h.

◆ GetYDoubleAngle()

double erhic::EventDis::GetYDoubleAngle ( ) const
inlinevirtual

Returns inelasticity computed via the double-angle method.

Definition at line 230 of file EventDis.h.

◆ GetYJacquetBlondel()

double erhic::EventDis::GetYJacquetBlondel ( ) const
inlinevirtual

Returns inelasticity computed via the Jacquet-Blondel method.

Definition at line 246 of file EventDis.h.

◆ GetYPlus()

Double_t erhic::EventDis::GetYPlus ( ) const
inlinevirtual

Returns Y+ = y2 / (1 + (1-y)2)

Definition at line 218 of file EventDis.h.

◆ operator=()

EventDis & erhic::EventDis::operator= ( const EventDis that)

Assign another event's kinematics to this EventDis.

Definition at line 45 of file EventDis.cxx.

◆ ScatteredLepton()

virtual const VirtualParticle* erhic::EventDis::ScatteredLepton ( ) const
pure virtual

Returns a pointer to the lepton beam particle after scattering.

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

Implemented in erhic::EventPythia, Smear::Event, erhic::EventMC, erhic::EventDjangoh, and erhic::EventPepsi.

◆ SetDoubleAngleKinematics()

void erhic::EventDis::SetDoubleAngleKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the double-angle method.

Definition at line 76 of file EventDis.cxx.

◆ SetJacquetBlondelKinematics()

void erhic::EventDis::SetJacquetBlondelKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the Jacquet-Blondel method.

Definition at line 69 of file EventDis.cxx.

◆ SetLeptonKinematics()

void erhic::EventDis::SetLeptonKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the scattered lepton.

Definition at line 61 of file EventDis.cxx.

Member Data Documentation

◆ nu

Double32_t erhic::EventDis::nu

Energy transfer from the electron.

Definition at line 185 of file EventDis.h.

◆ QSquared

Double32_t erhic::EventDis::QSquared

Q2 calculated from scattered electron.

Definition at line 182 of file EventDis.h.

◆ QSquaredDA

Double32_t erhic::EventDis::QSquaredDA

Q2 calculated via the double-angle method.

Definition at line 191 of file EventDis.h.

◆ QSquaredJB

Double32_t erhic::EventDis::QSquaredJB

Q2 calculated via the Jacquet-Blondel method.

Definition at line 187 of file EventDis.h.

◆ WSquared

Double32_t erhic::EventDis::WSquared

Invariant mass of the hadronic system.

Definition at line 184 of file EventDis.h.

◆ WSquaredDA

Double32_t erhic::EventDis::WSquaredDA

W2 calculated via the double-angle method.

Definition at line 193 of file EventDis.h.

◆ WSquaredJB

Double32_t erhic::EventDis::WSquaredJB

W2 calculated via the Jacquet-Blondel method.

Definition at line 189 of file EventDis.h.

◆ x

Double32_t erhic::EventDis::x

Bjorken scaling variable.

Definition at line 181 of file EventDis.h.

◆ xDA

Double32_t erhic::EventDis::xDA

x calculated via the double-angle method

Definition at line 192 of file EventDis.h.

◆ xJB

Double32_t erhic::EventDis::xJB

x calculated via the Jacquet-Blondel method

Definition at line 188 of file EventDis.h.

◆ y

Double32_t erhic::EventDis::y

Inelasticity.

Definition at line 183 of file EventDis.h.

◆ yDA

Double32_t erhic::EventDis::yDA

y calculated via the double-angle method

Definition at line 190 of file EventDis.h.

◆ yJB

Double32_t erhic::EventDis::yJB

y calculated via the Jacquet-Blondel method

Definition at line 186 of file EventDis.h.


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