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
|
Go to the documentation of this file.
27 const TString& resolutionFunction,
int genre) {
45 , mKinematicFunction(NULL)
54 , mKinematicFunction(NULL)
56 Init(variable, resolution, genre);
61 , mSmeared(that.mSmeared)
62 , mKinematicFunction(NULL)
64 , mDimensions(that.mDimensions) {
92 std::vector<double> args;
93 for (
unsigned i(0); i < vars.size(); ++i) {
118 std::cout <<
"Device smearing " << name <<
" with sigma(" << name <<
virtual void Print(Option_t *="") const
Print information about this device to standard output.
KinType mSmeared
Smeared variable.
bool Is(const erhic::VirtualParticle &prt) const
This function determines if the particle provided lies within the acceptance of the detector.
double FixPhi(double phi)
Fix an azimuthal angle so that it lies within [0,2*pi).
void HandleBogusValues(ParticleMCS &prt, KinType kin)
This dictates how the namespace deals with positive definite variables which have been smeared to neg...
Double32_t phi
Azimuthal angle.
virtual ~Device()
Destructor.
FormulaString * mFormula
Expression for resolution standard deviation.
void SetVariable(ParticleMCS &prt, double z, KinType kin)
Stores z in the ParticleS.K where K is the kinematic variable associated with kin.
Device(KinType=kE, const TString &formula="0", EGenre=kAll)
Constructor.
void SetGenre(int genre)
Select the class(es) of particles to accept.
double FixTheta(double theta)
Fix a polar angle so that it lies within [0,pi].
Abstract base class for a general particle.
Distributor mDistribution
Random distribution.
Abstract base class for objects performing smearing.
virtual Device * Clone(const char *="") const
Returns a dynamically allocated copy of this object.
A smeared Monte Carlo particle.
Double32_t theta
Polar angle.
Performs smearing of a single kinematic variable according to a simple expression defined via a strin...
bool Init(const TString &, const TString &, int)
virtual void Smear(const erhic::VirtualParticle &, ParticleMCS &)
Smear the kinematic value of the input particle and store the result in the ParticleMCS.
KinType
Enumerator listing particle wise kinematic variables.
double GetVariable(const erhic::VirtualParticle &prt, KinType kin)
Returns the kinematic variable associated with kin from the input particle.
EGenre
Classes of particles.
virtual double Generate(double midpoint, double width)
Generate a random value based on a given midpoint and width.