EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EPhenixMomentum Class Reference
+ Inheritance diagram for EPhenixMomentum:
+ Collaboration diagram for EPhenixMomentum:

Public Member Functions

virtual ~EPhenixMomentum ()
 
 EPhenixMomentum (bool multipleScattering=true)
 
void Initialise ()
 
TMultiGraph * Graphs ()
 
virtual EPhenixMomentumClone (const char *) const
 
virtual void Smear (const erhic::VirtualParticle &particle, Smear::ParticleMCS &smeared)
 
virtual double computeMultipleScattering (const erhic::VirtualParticle &particle) const
 
virtual void Draw (Option_t *option="ac")
 
- Public Member Functions inherited from Smear::Smearer
virtual ~Smearer ()
 

Static Public Member Functions

static double etaToTheta (double eta)
 

Private Attributes

TMultiGraph * mGraphDrawer
 Collection of graphs for each eta range.
 
Bool_t mMultipleScattering
 Flag to include multiple scattering.
 

Additional Inherited Members

- Public Attributes inherited from Smear::Smearer
Acceptance Accept
 

Detailed Description

Smearing class describing ePHENIX momentum resolution.

The ePHENIX momentum resolution is too complicated to handle with a simple parameterisation via the Smear::Device class. Therefore we define a custom Smearer class to implement the resolution. See the email in comments at the end of the file for details of the resolution values we use.

Definition at line 58 of file SmearePHENIX_0_0.cxx.

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

Constructor & Destructor Documentation

EPhenixMomentum::~EPhenixMomentum ( )
virtual

Destructor.

Definition at line 128 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 128 of file SmearePHENIX_0_0.cxx

References mGraphDrawer.

EPhenixMomentum::EPhenixMomentum ( bool  multipleScattering = true)

Constructor.

If multipleScattering is true, apply the multiple scattering resolution in the region where it is known, 2 < eta < 4. Otherwise apply only the linear resolution term.

Definition at line 122 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 122 of file SmearePHENIX_0_0.cxx

References Smear::Smearer::Accept, Smear::kCharged, and Smear::Acceptance::SetCharge().

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Function Documentation

EPhenixMomentum * EPhenixMomentum::Clone ( const char *  ) const
virtual

Duplicate this object.

Implements Smear::Smearer.

Definition at line 188 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 188 of file SmearePHENIX_0_0.cxx

References EPhenixMomentum(), and mGraphDrawer.

+ Here is the call graph for this function:

double EPhenixMomentum::computeMultipleScattering ( const erhic::VirtualParticle particle) const
virtual

Return sigma(P) due to multiple scattering

Note this means sigma(P) (GeV) not sigma(P)/P

Definition at line 227 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 227 of file SmearePHENIX_0_0.cxx

References Acts::VectorHelpers::eta(), erhic::VirtualParticle::GetEta(), and erhic::VirtualParticle::GetP().

Referenced by Smear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EPhenixMomentum::Draw ( Option_t *  option = "ac")
virtual

Draw all graphs

Definition at line 251 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 251 of file SmearePHENIX_0_0.cxx

References Graphs().

+ Here is the call graph for this function:

static double EPhenixMomentum::etaToTheta ( double  eta)
inlinestatic

Helper function to convert eta to theta (radians)

Detector acceptances require theta, not eta

Definition at line 111 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 111 of file SmearePHENIX_0_0.cxx

Referenced by BuildePHENIX_0_0().

+ Here is the caller graph for this function:

TMultiGraph * EPhenixMomentum::Graphs ( )

Returns a pointer to the graphs.

Initialises all graphs if not yet done.

Definition at line 181 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 181 of file SmearePHENIX_0_0.cxx

References Initialise(), and mGraphDrawer.

Referenced by Draw(), and Smear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EPhenixMomentum::Initialise ( )

Initialise the object

This is called automatically by the smearing routine, so the user needn't call it themselves before smearing.

Definition at line 135 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 135 of file SmearePHENIX_0_0.cxx

References Acts::VectorHelpers::eta(), mGraphDrawer, name, and Acts::VectorHelpers::position().

Referenced by Graphs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EPhenixMomentum::Smear ( const erhic::VirtualParticle particle,
Smear::ParticleMCS smeared 
)
virtual

Smears the input ParticleMC and stores the results in the ParticleMCS.

Implements Smear::Smearer.

Definition at line 196 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 196 of file SmearePHENIX_0_0.cxx

References computeMultipleScattering(), Acts::VectorHelpers::eta(), erhic::VirtualParticle::GetEta(), erhic::VirtualParticle::GetP(), Graphs(), max, mMultipleScattering, and Smear::ParticleMCS::SetP().

+ Here is the call graph for this function:

Member Data Documentation

TMultiGraph* EPhenixMomentum::mGraphDrawer
private

Collection of graphs for each eta range.

Definition at line 117 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 117 of file SmearePHENIX_0_0.cxx

Referenced by Clone(), Graphs(), Initialise(), and ~EPhenixMomentum().

Bool_t EPhenixMomentum::mMultipleScattering
private

Flag to include multiple scattering.

Definition at line 118 of file SmearePHENIX_0_0.cxx.

View newest version in sPHENIX GitHub at line 118 of file SmearePHENIX_0_0.cxx

Referenced by Smear().


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