Belle II Software  release-08-01-10
Teegg Class Reference

C++ Interface for the Fortran generator TEEGG. More...

#include <Teegg.h>

Collaboration diagram for Teegg:

Public Member Functions

 Teegg ()
 Constructor. More...
 
 ~Teegg ()
 Destructor.
 
void setDefaultSettings ()
 Sets the default settings for the TEEGG Fortran generator.
 
void setVACPOL (const std::string &vacpol="HLMNT")
 specifies which vacuum polarization code (NOT IMPLEMENTED YET) More...
 
void setTEVETO (double teveto=666.66)
 set maximum theta of e+ in final state (in radians) More...
 
void setTEMIN (double temin=666.66)
 set minimum angle between the e- and -z axis (egamma conf. More...
 
void setTGMIN (double tgmin=666.66)
 set minimum angle between the gamma and -z axis More...
 
void setTGVETO (double tgveto=666.66)
 set maximum angle between the gamma and -z axis(etron conf. More...
 
void setEEMIN (double eemin=666.66)
 set minimum energy of the e- (egamma & etron configurations) More...
 
void setEGMIN (double egmin=666.66)
 set minimum energy of the gamma (egamma & gamma configurations) More...
 
void setPEGMIN (double pegmin=666.66)
 set minimum phi sep of e-gamma (egamma config with hard rad corr) More...
 
void setEEVETO (double eeveto=666.66)
 set minimum energy to veto(gamma config with hard rad corr) More...
 
void setEGVETO (double egveto=666.66)
 set minimum energy to veto(etron/gamma config with hard rad corr) More...
 
void setPHVETO (double phveto=666.66)
 set minimum phi sep to veto(etron/gamma config with hard rad corr) More...
 
void setCUTOFF (double cutoff=666.66)
 set cutoff energy for radiative corrections (in CM frame) More...
 
void setEPS (double eps=666.66)
 set param. More...
 
void setFRAPHI (double fraphi=666.66)
 set fraction of time phi_ks is generated with peak(hard rad corr) More...
 
void setEPSPHI (double epsphi=666.66)
 set param. More...
 
void setWGHT1M (double wght1m=666.66)
 set maximum weight for generation of QP0, cos(theta QP) More...
 
void setWGHTMX (double wghtmx=666.66)
 set maximum weight for the trial events More...
 
void setRADCOR (const std::string &radcor="NONE")
 specifies radiative correction (NONE SOFT or HARD) More...
 
void setCONFIG (const std::string &config="NONE")
 specifies the event configuration (EGAMMA GAMMA or ETRON) More...
 
void setMATRIX (const std::string &matrix="NONE")
 specifies which eeg matrix element (BK BKM2 TCHAN or EPA) More...
 
void setMTRXGG (const std::string &mtrxgg="NONE")
 specifies which eegg matrix element (EPADC BEEGG or MEEGG) More...
 
void setUNWGHT (int unwght=1)
 set logical variable. More...
 
void setCMSEnergy (double cmsEnergy)
 Sets the CMS energy. More...
 
void init ()
 Initialize generator.
 
void initExtraInfo ()
 Initializes the extra info.
 
void generateEvent (MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
 Generates one single event. More...
 
double getT ()
 returns kinematic variable T.
 
double getW2 ()
 returns kinematic variable W2.
 
double getWeight ()
 returns weight.
 
void term ()
 Terminates the generator. More...
 

Protected Member Functions

void applySettings ()
 Apply the settings to the internal Fortran generator.
 
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. More...
 

Protected Attributes

double m_pi
 pi=3.1415....
 
double m_conversionFactor
 Conversion factor for hbarc to nb.
 
double m_alphaQED0
 QED coupling constant at Q=0.
 
double m_massElectron
 muon mass.
 
double m_cmsEnergy
 CMS Energy = 2*Ebeam [GeV].
 
double m_TEVETO
 maximum theta of e+ in final state (in radians)
 
double m_TEMIN
 minimum angle between the e- and -z axis (egamma conf. More...
 
double m_TGMIN
 minimum angle between the gamma and -z axis
 
double m_TGVETO
 maximum angle between the gamma and -z axis(etron conf. More...
 
double m_EEMIN
 minimum energy of the e- (egamma & etron configurations)
 
double m_EGMIN
 minimum energy of the gamma (egamma & gamma configurations)
 
double m_PEGMIN
 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)
 
double m_EGVETO
 minimum energy to veto(etron/gamma config with hard rad corr)
 
double m_PHVETO
 minimum phi sep to veto(etron/gamma config with hard rad corr
 
double m_CUTOFF
 cutoff energy for radiative corrections (in CM frame)
 
double m_EPS
 param. More...
 
double m_FRAPHI
 fraction of time phi_ks is generated with peak(hard rad corr)
 
double m_EPSPHI
 param. More...
 
double m_WGHT1M
 maximum weight for generation of QP0, cos(theta QP)
 
double m_WGHTMX
 maximum weight for the trial events
 
int m_VACPOL
 vacuum polarization: off, nsk (Novosibirsk) or hlmnt (Teubner).
 
int m_RADCOR
 specifies radiative correction (NONE SOFT or HARD)
 
int m_CONFIG
 specifies the event configuration (EGAMMA GAMMA or ETRON)
 
int m_MATRIX
 specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
 
int m_MTRXGG
 specifies which eegg matrix element (EPADC BEEGG or MEEGG)
 
std::string m_sVACPOL
 vacuum polarization: off, nsk (Novosibirsk) or hlmnt (Teubner).
 
std::string m_sRADCOR
 specifies radiative correction (NONE SOFT or HARD)
 
std::string m_sCONFIG
 specifies the event configuration (EGAMMA GAMMA or ETRON)
 
std::string m_sMATRIX
 specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
 
std::string m_sMTRXGG
 specifies which eegg matrix element (EPADC BEEGG or MEEGG)
 
int m_UNWGHT
 logical variable. More...
 
double m_t
 T=-Q2.
 
double m_w2
 W2.
 
double m_weight
 weight per event
 
double m_vp2
 vacuum polarization squared (multiply with this to correcty for VP)
 

Private Attributes

int m_npar [100]
 Integer parameters for Teegg.
 
double m_xpar [100]
 Double parameters for Teegg.
 

Detailed Description

C++ Interface for the Fortran generator TEEGG.

Definition at line 25 of file Teegg.h.

Constructor & Destructor Documentation

◆ Teegg()

Teegg ( )

Constructor.

Sets the default settings.

Definition at line 88 of file Teegg.cc.

89 {
90  for (int i = 0; i < 100; ++i) {
91  m_npar[i] = 0;
92  m_xpar[i] = 0.0;
93  }
94 
96 }
int m_npar[100]
Integer parameters for Teegg.
Definition: Teegg.h:246
void setDefaultSettings()
Sets the default settings for the TEEGG Fortran generator.
Definition: Teegg.cc:103
double m_xpar[100]
Double parameters for Teegg.
Definition: Teegg.h:247

Member Function Documentation

◆ generateEvent()

void generateEvent ( MCParticleGraph mcGraph,
ROOT::Math::XYZVector  vertex,
ROOT::Math::LorentzRotation  boost 
)

Generates one single event.

Parameters
mcGraphReference to the MonteCarlo graph into which the generated particles will be stored.
vertexProduction vertex.
boostLorentz boost vector.

Definition at line 159 of file Teegg.cc.

◆ setCMSEnergy()

void setCMSEnergy ( double  cmsEnergy)
inline

Sets the CMS energy.

Parameters
cmsEnergyThe CMS energy in [GeV].

Definition at line 152 of file Teegg.h.

152 { m_cmsEnergy = cmsEnergy; }
double m_cmsEnergy
CMS Energy = 2*Ebeam [GeV].
Definition: Teegg.h:192

◆ setCONFIG()

void setCONFIG ( const std::string &  config = "NONE")
inline

specifies the event configuration (EGAMMA GAMMA or ETRON)

Parameters
configevent configuration (EGAMMA GAMMA or ETRON)

Definition at line 132 of file Teegg.h.

◆ setCUTOFF()

void setCUTOFF ( double  cutoff = 666.66)
inline

set cutoff energy for radiative corrections (in CM frame)

Parameters
cutoffcutoff energy for radiative corrections (in CM frame)

Definition at line 97 of file Teegg.h.

◆ setEEMIN()

void setEEMIN ( double  eemin = 666.66)
inline

set minimum energy of the e- (egamma & etron configurations)

Parameters
eeminminimum energy of the e- (egamma & etron configurations)

Definition at line 67 of file Teegg.h.

◆ setEEVETO()

void setEEVETO ( double  eeveto = 666.66)
inline

set minimum energy to veto(gamma config with hard rad corr)

Parameters
eevetominimum energy to veto(gamma config with hard rad corr)

Definition at line 82 of file Teegg.h.

◆ setEGMIN()

void setEGMIN ( double  egmin = 666.66)
inline

set minimum energy of the gamma (egamma & gamma configurations)

Parameters
egminminimum energy of the gamma (egamma & gamma configurations)

Definition at line 72 of file Teegg.h.

◆ setEGVETO()

void setEGVETO ( double  egveto = 666.66)
inline

set minimum energy to veto(etron/gamma config with hard rad corr)

Parameters
egvetominimum energy to veto(etron/gamma config with hard rad corr)

Definition at line 87 of file Teegg.h.

◆ setEPS()

void setEPS ( double  eps = 666.66)
inline

set param.

epsilon_s (smaller val. increases sampling of k_s^pbc)

Parameters
epsparam. epsilon_s (smaller val. increases sampling of k_s^pbc)

Definition at line 102 of file Teegg.h.

◆ setEPSPHI()

void setEPSPHI ( double  epsphi = 666.66)
inline

set param.

epsilon_phi ('cutoff' of the phi_ks peak)

Parameters
epsphiparam. epsilon_phi ('cutoff' of the phi_ks peak)

Definition at line 112 of file Teegg.h.

◆ setFRAPHI()

void setFRAPHI ( double  fraphi = 666.66)
inline

set fraction of time phi_ks is generated with peak(hard rad corr)

Parameters
fraphiparfraction of time phi_ks is generated with peak(hard rad corr)

Definition at line 107 of file Teegg.h.

◆ setMATRIX()

void setMATRIX ( const std::string &  matrix = "NONE")
inline

specifies which eeg matrix element (BK BKM2 TCHAN or EPA)

Parameters
matrixeeg matrix element (BK BKM2 TCHAN or EPA)

Definition at line 137 of file Teegg.h.

◆ setMTRXGG()

void setMTRXGG ( const std::string &  mtrxgg = "NONE")
inline

specifies which eegg matrix element (EPADC BEEGG or MEEGG)

Parameters
mtrxggeegg matrix element (EPADC BEEGG or MEEGG)

Definition at line 142 of file Teegg.h.

◆ setPEGMIN()

void setPEGMIN ( double  pegmin = 666.66)
inline

set minimum phi sep of e-gamma (egamma config with hard rad corr)

Parameters
pegminminimum phi sep of e-gamma (egamma config with hard rad corr)

Definition at line 77 of file Teegg.h.

◆ setPHVETO()

void setPHVETO ( double  phveto = 666.66)
inline

set minimum phi sep to veto(etron/gamma config with hard rad corr)

Parameters
phvetominimum phi sep to veto(etron/gamma config with hard rad corr)

Definition at line 92 of file Teegg.h.

◆ setRADCOR()

void setRADCOR ( const std::string &  radcor = "NONE")
inline

specifies radiative correction (NONE SOFT or HARD)

Parameters
radcorradiative correction (NONE SOFT or HARD)

Definition at line 127 of file Teegg.h.

◆ setTEMIN()

void setTEMIN ( double  temin = 666.66)
inline

set minimum angle between the e- and -z axis (egamma conf.

only)

Parameters
teminminimum angle between the e- and -z axis (egamma conf. only)

Definition at line 52 of file Teegg.h.

◆ setTEVETO()

void setTEVETO ( double  teveto = 666.66)
inline

set maximum theta of e+ in final state (in radians)

Parameters
tevetomaximum theta of e+ in final state (in radians)

Definition at line 47 of file Teegg.h.

◆ setTGMIN()

void setTGMIN ( double  tgmin = 666.66)
inline

set minimum angle between the gamma and -z axis

Parameters
tgminminimum angle between the gamma and -z axis

Definition at line 57 of file Teegg.h.

◆ setTGVETO()

void setTGVETO ( double  tgveto = 666.66)
inline

set maximum angle between the gamma and -z axis(etron conf.

only)

Parameters
tgvetomaximum angle between the gamma and -z axis(etron conf. only)

Definition at line 62 of file Teegg.h.

◆ setUNWGHT()

void setUNWGHT ( int  unwght = 1)
inline

set logical variable.

If true then generate unweighted events

Parameters
unwghtlogical variable. If true then generate unweighted events

Definition at line 147 of file Teegg.h.

◆ setVACPOL()

void setVACPOL ( const std::string &  vacpol = "HLMNT")
inline

specifies which vacuum polarization code (NOT IMPLEMENTED YET)

Parameters
vacpolvacuum polarization code (NOT IMPLEMENTED YET)

Definition at line 42 of file Teegg.h.

◆ setWGHT1M()

void setWGHT1M ( double  wght1m = 666.66)
inline

set maximum weight for generation of QP0, cos(theta QP)

Parameters
wght1mmaximum weight for generation of QP0, cos(theta QP)

Definition at line 117 of file Teegg.h.

◆ setWGHTMX()

void setWGHTMX ( double  wghtmx = 666.66)
inline

set maximum weight for the trial events

Parameters
wghtmxmaximum weight for the trial events

Definition at line 122 of file Teegg.h.

◆ storeParticle()

void storeParticle ( MCParticleGraph mcGraph,
const double *  mom,
int  pdg,
ROOT::Math::XYZVector  vertex,
ROOT::Math::LorentzRotation  boost,
bool  isVirtual = false,
bool  isInitial = false 
)
protected

Store a single generated particle into the MonteCarlo graph.

Parameters
mcGraphReference to the MonteCarlo graph into which the particle should be stored.
momThe 3-momentum of the particle in [GeV].
pdgThe PDG code of the particle.
vertexProduciton vertex.
boostLorentz boost vector.
isVirtualIf the particle is a virtual particle, such as the incoming particles, set this to true.
isInitialIf the particle is a initial particle for ISR, set this to true.

Definition at line 281 of file Teegg.cc.

◆ term()

void term ( )

Terminates the generator.

Closes the internal Fortran generator.

Definition at line 197 of file Teegg.cc.

Member Data Documentation

◆ m_EPS

double m_EPS
protected

param.

epsilon_s (smaller val. increases sampling of k_s^pbc)

Definition at line 205 of file Teegg.h.

◆ m_EPSPHI

double m_EPSPHI
protected

param.

epsilon_phi ('cutoff' of the phi_ks peak)

Definition at line 207 of file Teegg.h.

◆ m_TEMIN

double m_TEMIN
protected

minimum angle between the e- and -z axis (egamma conf.

only)

Definition at line 195 of file Teegg.h.

◆ m_TGVETO

double m_TGVETO
protected

maximum angle between the gamma and -z axis(etron conf.

only)

Definition at line 197 of file Teegg.h.

◆ m_UNWGHT

int m_UNWGHT
protected

logical variable.

If true then generate unweighted events.

Definition at line 221 of file Teegg.h.


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