11#include <mdst/dataobjects/MCParticleGraph.h>
12#include <Math/LorentzRotation.h>
241 ROOT::Math::LorentzRotation boost,
242 bool isVirtual =
false,
bool isInitial =
false);
Class to build, validate and sort a particle decay chain.
C++ Interface for the Fortran generator TEEGG.
int m_MTRXGG
specifies which eegg matrix element (EPADC BEEGG or MEEGG)
void init()
Initialize generator.
void generateEvent(MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
Generates one single event.
double getT()
returns kinematic variable T.
double m_EGVETO
minimum energy to veto(etron/gamma config with hard rad corr)
double m_vp2
vacuum polarization squared (multiply with this to correcty for VP)
double m_alphaQED0
QED coupling constant at Q=0.
void setTGMIN(double tgmin=666.66)
set minimum angle between the gamma and -z axis
double m_TEVETO
maximum theta of e+ in final state (in radians)
int m_npar[100]
Integer parameters for Teegg.
double m_conversionFactor
Conversion factor for hbarc to nb.
void setMTRXGG(const std::string &mtrxgg="NONE")
specifies which eegg matrix element (EPADC BEEGG or MEEGG)
void setPEGMIN(double pegmin=666.66)
set minimum phi sep of e-gamma (egamma config with hard rad corr)
double m_EEVETO
minimum energy to veto(gamma config with hard rad corr)
void storeParticle(MCParticleGraph &mcGraph, const double *mom, int pdg, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost, bool isVirtual=false, bool isInitial=false)
Store a single generated particle into the MonteCarlo graph.
void setEPSPHI(double epsphi=666.66)
set param.
void setDefaultSettings()
Sets the default settings for the TEEGG Fortran generator.
double m_cmsEnergy
CMS Energy = 2*Ebeam [GeV].
double m_WGHTMX
maximum weight for the trial events
void setEEMIN(double eemin=666.66)
set minimum energy of the e- (egamma & etron configurations)
void setWGHTMX(double wghtmx=666.66)
set maximum weight for the trial events
int m_CONFIG
specifies the event configuration (EGAMMA GAMMA or ETRON)
double m_EGMIN
minimum energy of the gamma (egamma & gamma configurations)
int m_UNWGHT
logical variable.
void setEGVETO(double egveto=666.66)
set minimum energy to veto(etron/gamma config with hard rad corr)
void setCMSEnergy(double cmsEnergy)
Sets the CMS energy.
std::string m_sMATRIX
specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
void term()
Terminates the generator.
double getW2()
returns kinematic variable W2.
double m_weight
weight per event
int m_MATRIX
specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
double m_WGHT1M
maximum weight for generation of QP0, cos(theta QP)
void setFRAPHI(double fraphi=666.66)
set fraction of time phi_ks is generated with peak(hard rad corr)
double m_PHVETO
minimum phi sep to veto(etron/gamma config with hard rad corr
void setTGVETO(double tgveto=666.66)
set maximum angle between the gamma and -z axis(etron conf.
void setCONFIG(const std::string &config="NONE")
specifies the event configuration (EGAMMA GAMMA or ETRON)
std::string m_sCONFIG
specifies the event configuration (EGAMMA GAMMA or ETRON)
int m_VACPOL
vacuum polarization: off, nsk (Novosibirsk) or hlmnt (Teubner).
void setRADCOR(const std::string &radcor="NONE")
specifies radiative correction (NONE SOFT or HARD)
std::string m_sMTRXGG
specifies which eegg matrix element (EPADC BEEGG or MEEGG)
void setPHVETO(double phveto=666.66)
set minimum phi sep to veto(etron/gamma config with hard rad corr)
double m_xpar[100]
Double parameters for Teegg.
void setVACPOL(const std::string &vacpol="HLMNT")
specifies which vacuum polarization code (NOT IMPLEMENTED YET)
int m_RADCOR
specifies radiative correction (NONE SOFT or HARD)
void setWGHT1M(double wght1m=666.66)
set maximum weight for generation of QP0, cos(theta QP)
double m_TGVETO
maximum angle between the gamma and -z axis(etron conf.
void setEGMIN(double egmin=666.66)
set minimum energy of the gamma (egamma & gamma configurations)
std::string m_sRADCOR
specifies radiative correction (NONE SOFT or HARD)
void setMATRIX(const std::string &matrix="NONE")
specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
double m_massElectron
muon mass.
double m_EEMIN
minimum energy of the e- (egamma & etron configurations)
void setTEMIN(double temin=666.66)
set minimum angle between the e- and -z axis (egamma conf.
double m_CUTOFF
cutoff energy for radiative corrections (in CM frame)
void setUNWGHT(int unwght=1)
set logical variable.
double getWeight()
returns weight.
double m_TGMIN
minimum angle between the gamma and -z axis
std::string m_sVACPOL
vacuum polarization: off, nsk (Novosibirsk) or hlmnt (Teubner).
double m_TEMIN
minimum angle between the e- and -z axis (egamma conf.
void initExtraInfo()
Initializes the extra info.
void setTEVETO(double teveto=666.66)
set maximum theta of e+ in final state (in radians)
void setEEVETO(double eeveto=666.66)
set minimum energy to veto(gamma config with hard rad corr)
double m_FRAPHI
fraction of time phi_ks is generated with peak(hard rad corr)
void setCUTOFF(double cutoff=666.66)
set cutoff energy for radiative corrections (in CM frame)
void setEPS(double eps=666.66)
set param.
double m_PEGMIN
minimum phi sep of e-gamma (egamma config with hard rad corr)
void applySettings()
Apply the settings to the internal Fortran generator.
Abstract base class for different kinds of events.