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 Namespace Reference

Classes

class  Acceptance
 Defines a range of acceptance in one or more of: theta, phi, E, p, pt, pz. More...
 
struct  Bremsstrahlung
 A specialized Device class for modelling radiative losses. More...
 
class  Detector
 The detector structure. More...
 
class  Device
 Performs smearing of a single kinematic variable according to a simple expression defined via a string. More...
 
class  Distributor
 Distribution function for random sampling. More...
 
class  Event
 
class  EventDisFactory
 Factory class for smeared DIS events. More...
 
class  EventFactory
 Event factory for events of a particular type. More...
 
class  FormulaString
 A formula described by a string with up to four variables. More...
 
class  HadronicEventBuilder
 Factory class for smeared hadronic events. More...
 
struct  ParticleID
 This structure is used to generate particle ID. More...
 
class  ParticleMCS
 A smeared Monte Carlo particle. More...
 
class  PerfectID
 Smearer that copies the PDG ID of a particle to a smeared particle with no modification. More...
 
class  PlanarTracker
 A cylindrical tracking detector. More...
 
class  RadialTracker
 A cylindrical tracking detector. More...
 
class  Smearer
 Abstract base class for objects performing smearing. More...
 
class  Tracker
 A cylindrical tracking detector. More...
 

Enumerations

enum  KinType {
  kE, kP, kTheta, kPhi,
  kPz, kPt, kInvalidKinType
}
 Enumerator listing particle wise kinematic variables. More...
 
enum  EGenre { kAll = 0, kElectromagnetic = 1, kHadronic = 2 }
 Classes of particles. More...
 
enum  ECharge { kNeutral, kCharged, kAllCharges }
 Particle charged. More...
 

Functions

int ParseInputFunction (TString &s, KinType &kin1, KinType &kin2)
 
int PGenre (const erhic::VirtualParticle &prt)
 Determine particle "genre". More...
 
double FixTheta (double theta)
 Fix a polar angle so that it lies within [0,pi]. More...
 
double FixPhi (double phi)
 Fix an azimuthal angle so that it lies within [0,2*pi). More...
 
double GetVariable (const erhic::VirtualParticle &prt, KinType kin)
 Returns the kinematic variable associated with kin from the input particle. More...
 
void SetVariable (ParticleMCS &prt, double z, KinType kin)
 Stores z in the ParticleS.K where K is the kinematic variable associated with kin. More...
 
void HandleBogusValues (ParticleMCS &prt, KinType kin)
 This dictates how the namespace deals with positive definite variables which have been smeared to negative values. More...
 
void HandleBogusValues (ParticleMCS &prt)
 
bool IsCoreType (KinType kin)
 

Enumeration Type Documentation

◆ ECharge

Particle charged.

Enumerator
kNeutral 
kCharged 
kAllCharges 

Definition at line 53 of file Smear.h.

◆ EGenre

Classes of particles.

Enumerator
kAll 
kElectromagnetic 
kHadronic 

Definition at line 48 of file Smear.h.

◆ KinType

Enumerator listing particle wise kinematic variables.

Naming is self explanitory. These will be used when specifying arguments and outputs for device parametrizations.

Enumerator
kE 
kP 
kTheta 
kPhi 
kPz 
kPt 
kInvalidKinType 

Definition at line 43 of file Smear.h.

Function Documentation

◆ FixPhi()

double Smear::FixPhi ( double  phi)
inline

Fix an azimuthal angle so that it lies within [0,2*pi).

TODO Nothing Smear-specific here - move to general functions file.

Definition at line 101 of file Smear.h.

◆ FixTheta()

double Smear::FixTheta ( double  theta)
inline

Fix a polar angle so that it lies within [0,pi].

TODO Nothing Smear-specific here - move to general functions file.

Definition at line 85 of file Smear.h.

◆ GetVariable()

double Smear::GetVariable ( const erhic::VirtualParticle prt,
KinType  kin 
)
inline

Returns the kinematic variable associated with kin from the input particle.

Definition at line 108 of file Smear.h.

◆ HandleBogusValues() [1/2]

void Smear::HandleBogusValues ( ParticleMCS prt)
inline

Definition at line 168 of file Smear.h.

◆ HandleBogusValues() [2/2]

void Smear::HandleBogusValues ( ParticleMCS prt,
KinType  kin 
)
inline

This dictates how the namespace deals with positive definite variables which have been smeared to negative values.

Definition at line 155 of file Smear.h.

◆ IsCoreType()

bool Smear::IsCoreType ( KinType  kin)
inline

Definition at line 184 of file Smear.h.

◆ ParseInputFunction()

int Smear::ParseInputFunction ( TString &  s,
KinType kin1,
KinType kin2 
)

Definition at line 18 of file Smear.cxx.

◆ PGenre()

int Smear::PGenre ( const erhic::VirtualParticle prt)
inline

Determine particle "genre".

This refers to whether the particle in the argument is "electromagnetic" or "hadronic" from the perspective of calorimetry.

Returns one of the following (see enum EGenre): kElectromagnetic: photon or electron/positron. kHadronic: stable hadron. kAll: neither of the above.

Definition at line 68 of file Smear.h.

◆ SetVariable()

void Smear::SetVariable ( ParticleMCS prt,
double  z,
KinType  kin 
)
inline

Stores z in the ParticleS.K where K is the kinematic variable associated with kin.

Definition at line 132 of file Smear.h.