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.
10 #ifndef INCLUDE_EICSMEAR_SMEAR_PARTICLEID_H_
11 #define INCLUDE_EICSMEAR_SMEAR_PARTICLEID_H_
21 #include <TLorentzVector.h>
143 int Wild(
int pbin,
int trueID);
153 void ReadP(TString filename);
174 virtual void Clear(Option_t* =
"");
179 virtual void Print(Option_t* =
"")
const;
191 std::vector< std::vector<std::vector<double> > >
PMatrix;
193 std::vector< std::vector<std::vector<double> > >
Range;
227 #endif // INCLUDE_EICSMEAR_SMEAR_PARTICLEID_H_
ParticleID()
Default constructor.
virtual ParticleID * Clone(const char *="") const
Returns a copy of this ParticleID.
void Speak()
Dump the contents of the table to the screen.
std::vector< double > PMin
TRandom3 & GetRandomGenerator()
Return the TRandom3 instance used by the ParticleID.
void SetPIDUseMC(bool useMc)
If true, the ParticleID will use the original Monte Carlo values to generate ID's,...
void SetPMatrixPath(TString)
Set the path to the file containing the particle ID probability matrix, and read it in.
std::vector< int > TrueIdent
virtual void Print(Option_t *="") const
Print information about this device to standard output.
std::vector< double > PMax
void GetAcceptanceFromDevice(const Device &)
Set the ParticleID instance to have the same acceptance as the device.
void ReadP(TString filename)
Read in a P matrix and set up the ParticleID to be ready to generate.
std::vector< int > FalseIdent
void SetupProbabilityArray()
Setup the range array used by wild.
int InListOfFalse(int ID)
std::vector< std::vector< std::vector< double > > > Range
int Wild(int pbin, int trueID)
Randomly generates a false ID based on the current, a momentum bin and a true particle ID.
Abstract base class for a general particle.
This structure is used to generate particle ID.
Abstract base class for objects performing smearing.
A smeared Monte Carlo particle.
void SetPMatrixSize()
Resize the PMatrix, (# of pbins, # of true, # of false).
Performs smearing of a single kinematic variable according to a simple expression defined via a strin...
virtual void Clear(Option_t *="")
Clears existing table contents.
void Smear(const erhic::VirtualParticle &, ParticleMCS &)
Generates particle ID if the particle is in the list of particles to be identified,...
virtual ~ParticleID()
Destructor.
void SetRanSeed(int seed)
Set the seed of the random number generator instance used by the ParticleID.
std::vector< std::vector< std::vector< double > > > PMatrix