Belle II Software development
|
C++ Interface for the Fortran Bhabha and exclusive two photon generator BABAYAGA.NLO. More...
#include <BabayagaNLO.h>
Public Member Functions | |
BabayagaNLO () | |
Constructor. | |
~BabayagaNLO () | |
Destrucotr. | |
void | setDefaultSettings () |
Sets the default settings for the BhWide Fortran generator. | |
void | setScatAngle (std::pair< double, double > angleRange) |
Sets the theta scattering angle range for the scattered particles. | |
void | setNSearchMax (int nSearchMax) |
Sets the number of events used to search maximum. | |
void | setFMax (double fMax) |
Maximum differential cross section. | |
void | setMaxAcollinearity (double maxAcollinearity) |
Sets maximum acollinearity angle between finale state leptons/photons in degrees. | |
void | setCmsEnergyNominal (double cmsEnergyNominal) |
Sets nominal ECM. | |
void | setMinEnergy (double minEnergy) |
Sets minimum energy for leptons/photons in the final state, in GeV. | |
void | setEpsilon (double epsilon) |
Sets soft/hard photon energy separator. | |
void | setVacPol (const std::string &vacPol) |
Sets vacuum polarization. | |
void | setModel (const std::string &model) |
Sets model: matched or ps. | |
void | setMode (const std::string &mode) |
Sets mode: weighted or unweighted. | |
void | setOrder (const std::string &order) |
Sets Order: born, alpha or exp. | |
void | setFinalState (const std::string &finalState) |
Sets final state minimum energy. | |
void | setEnergySpread (double spread) |
TEMPORARY SOLUTION! Approximate energy spread per beam (CMS) | |
void | setVPUncertainty (bool vpuncertainty) |
Calculate VP uncertainty by internal reweighting (on/off) | |
void | setNPhotons (int nPhot) |
Sets the fixed number of nphot (hard) photons. | |
void | setUserMode (const std::string &usermode) |
Sets User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE or NONE (default) | |
void | setNSKDataFile (const std::string &NSKDataFile) |
Sets NSK VP data file. | |
void | setEEMIN (double eemin) |
Sets the minimum CMS energy of the tagged e-/e+. | |
void | setTEMIN (double temin) |
Sets the minimum CMS angle between the tagged e-/e+ and -z axis. | |
void | setEGMIN (double egmin) |
Sets the minimum CMS energy of the gamma. | |
void | setTGMIN (double tgmin) |
Sets the minimum CMS angle between the gamma and -z axis. | |
void | setEEVETO (double eeveto) |
Sets the minimum CMS energy to veto e-/e+. | |
void | setTEVETO (double teveto) |
Sets the maximum CMS theta of e-/e+ in final state. | |
void | setEGVETO (double egveto) |
Sets the minimum CMS energy to veto gamma. | |
void | setTGVETO (double tgveto) |
Sets the maximum CMS angle between the gamma and -z axis. | |
void | setMaxPrescale (double maxprescale) |
Sets the maximum prescale value. | |
void | init () |
Initializes the generator. | |
void | initExtraInfo () |
Initializes the extra info. | |
void | generateEvent (MCParticleGraph &mcGraph, double ecm, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost) |
Generates one single event. | |
double | getSDif () |
Returns weight. | |
void | term () |
Terminates the generator. | |
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, bool isISRFSR=false) |
Store a single generated particle into the MonteCarlo graph. | |
Protected Attributes | |
bool | m_applyBoost |
Apply a boost to the MCParticles. | |
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_massMuon |
electron mass. | |
double | m_massW |
W mass [GeV] for on shell sin2theta and GF. | |
double | m_massZ |
Z mass [GeV]. | |
double | m_widthZ |
Z width [GeV] (may be recalculated by EW library). | |
std::string | m_vacPol |
vacuum polarization: off, hadr5 (Jegerlehner) or hmnt (Teubner). | |
std::string | m_finalState |
final state: ee, gg or mm. | |
std::string | m_model |
model: matched or ps. | |
std::string | m_mode |
mode: weighted or unweighted. | |
std::string | m_order |
order: born, alpha or exp. | |
double | m_EnergySpread |
TEMPORARY SOLUTION! Approximate energy spread per beam (CMS). | |
double | m_cmsEnergyNominal |
Nominal CMS Energy = 2*Ebeam [GeV]. | |
std::pair< double, double > | m_ScatteringAngleRange |
Min and Max val. | |
std::pair< double, double > | m_ScatteringAngleRangePhoton |
Min and Max val. | |
double | m_epsilon |
Soft/hard photon separator in units of CMS/2. | |
double | m_eMin |
[GeV]. | |
double | m_maxAcollinearity |
Maximum acollinearity of the electron-positron pair. | |
int | m_nSearchMax |
Events used to search maximum of differential cross section. | |
int | m_nPhot |
fixed number of nphot (hard) photons are generated. | |
bool | m_VPUncertainty |
vary all VP related parameters and extracted total uncertainty. | |
std::string | m_NSKDataFile |
data file for NSK VP. | |
std::string | m_userMode |
User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE. | |
double | m_eemin |
Minimum CMS energy of the tagged e-/e+ (GeV). | |
double | m_temin |
Minimum CMS angle between the tagged e-/e+ and -z axis (deg). | |
double | m_egmin |
Minimum CMS energy of the gamma (GeV). | |
double | m_tgmin |
Minimum CMS angle between the gamma and -z axis (deg). | |
double | m_eeveto |
Minimum CMS energy to veto e-/e+ (GeV). | |
double | m_teveto |
Maximum CMS theta of e-/e+ in final state (deg). | |
double | m_egveto |
Minimum CMS energy to veto gamma (GeV). | |
double | m_tgveto |
Maximum CMS angle between the gamma and -z axis (deg). | |
double | m_maxprescale |
Maximum prescale value. | |
double | m_fMax |
Maximum of differential cross section. | |
double | m_sDif |
Differential xsec/weight used for event. | |
ROOT::Math::LorentzRotation | m_boostVector |
The Lorentz boost vector for the transformation CMS to LAB frame. | |
Private Attributes | |
int | m_npar [100] |
Integer parameters for BabayagaNLO. | |
double | m_xpar [100] |
Double parameters for BabayagaNLO. | |
C++ Interface for the Fortran Bhabha and exclusive two photon generator BABAYAGA.NLO.
Definition at line 27 of file BabayagaNLO.h.
BabayagaNLO | ( | ) |
Constructor.
Sets the default settings.
Definition at line 257 of file BabayagaNLO.cc.
~BabayagaNLO | ( | ) |
|
protected |
Apply the settings to the internal Fortran generator.
Definition at line 403 of file BabayagaNLO.cc.
void generateEvent | ( | MCParticleGraph & | mcGraph, |
double | ecm, | ||
ROOT::Math::XYZVector | vertex, | ||
ROOT::Math::LorentzRotation | boost | ||
) |
Generates one single event.
mcGraph | Reference to the MonteCarlo graph into which the generated particles will be stored. |
ecm | Centre of mass energy. |
vertex | Production vertex. |
boost | Lorentz boost vector. |
Definition at line 331 of file BabayagaNLO.cc.
|
inline |
void init | ( | ) |
Initializes the generator.
Definition at line 325 of file BabayagaNLO.cc.
void initExtraInfo | ( | ) |
Initializes the extra info.
Definition at line 319 of file BabayagaNLO.cc.
|
inline |
Sets nominal ECM.
cmsEnergyNominal | nominal ecm in GeV |
Definition at line 64 of file BabayagaNLO.h.
void setDefaultSettings | ( | ) |
Sets the default settings for the BhWide Fortran generator.
Definition at line 274 of file BabayagaNLO.cc.
|
inline |
Sets the minimum CMS energy of the tagged e-/e+.
eemin | minimum CMS energy of the tagged e-/e+ |
Definition at line 129 of file BabayagaNLO.h.
|
inline |
Sets the minimum CMS energy to veto e-/e+.
eeveto | minimum CMS energy to veto e-/e+ |
Definition at line 149 of file BabayagaNLO.h.
|
inline |
Sets the minimum CMS energy of the gamma.
egmin | minimum CMS energy of the gamma |
Definition at line 139 of file BabayagaNLO.h.
|
inline |
Sets the minimum CMS energy to veto gamma.
egveto | minimum CMS energy to veto gamma |
Definition at line 159 of file BabayagaNLO.h.
|
inline |
TEMPORARY SOLUTION! Approximate energy spread per beam (CMS)
spread | energy spread per beam (CMS) |
Definition at line 104 of file BabayagaNLO.h.
|
inline |
Sets soft/hard photon energy separator.
epsilon | soft/hard photon energy separator, in units of ECMS/2 |
Definition at line 74 of file BabayagaNLO.h.
|
inline |
Sets final state minimum energy.
finalState | Minimum energy for leptons/photons in the final state, in GeV |
Definition at line 99 of file BabayagaNLO.h.
|
inline |
Maximum differential cross section.
fMax | Maximum differential cross section |
Definition at line 54 of file BabayagaNLO.h.
|
inline |
Sets maximum acollinearity angle between finale state leptons/photons in degrees.
maxAcollinearity | Maximum acollinearity angle between finale state leptons/photons in degrees |
Definition at line 59 of file BabayagaNLO.h.
|
inline |
Sets the maximum prescale value.
maxprescale | maximum prescale value (at maxmin theta) |
Definition at line 169 of file BabayagaNLO.h.
|
inline |
Sets minimum energy for leptons/photons in the final state, in GeV.
minEnergy | Minimum energy for leptons/photons in the final state, in GeV |
Definition at line 69 of file BabayagaNLO.h.
|
inline |
Sets mode: weighted or unweighted.
mode | weighted or unweighted |
Definition at line 89 of file BabayagaNLO.h.
|
inline |
Sets model: matched or ps.
model | matched or ps |
Definition at line 84 of file BabayagaNLO.h.
|
inline |
Sets the fixed number of nphot (hard) photons.
nPhot | number of nphot (hard) photons |
Definition at line 114 of file BabayagaNLO.h.
|
inline |
Sets the number of events used to search maximum.
nSearchMax | Number of events for maximum search |
Definition at line 49 of file BabayagaNLO.h.
|
inline |
Sets NSK VP data file.
NSKDataFile | (default) |
Definition at line 124 of file BabayagaNLO.h.
|
inline |
Sets Order: born, alpha or exp.
order | born, alpha or exp |
Definition at line 94 of file BabayagaNLO.h.
|
inline |
Sets the theta scattering angle range for the scattered particles.
angleRange | A pair of values, representing the min and max theta angle of the scattered particles in [deg]. |
Definition at line 44 of file BabayagaNLO.h.
|
inline |
Sets the minimum CMS angle between the tagged e-/e+ and -z axis.
temin | minimum CMS energy of the tagged e-/e+ |
Definition at line 134 of file BabayagaNLO.h.
|
inline |
Sets the maximum CMS theta of e-/e+ in final state.
teveto | maximum CMS theta of e-/e+ in final state |
Definition at line 154 of file BabayagaNLO.h.
|
inline |
Sets the minimum CMS angle between the gamma and -z axis.
tgmin | minimum CMS angle between the gamma and -z axis |
Definition at line 144 of file BabayagaNLO.h.
|
inline |
Sets the maximum CMS angle between the gamma and -z axis.
tgveto | maximum CMS angle between the gamma and -z axis |
Definition at line 164 of file BabayagaNLO.h.
|
inline |
Sets User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE or NONE (default)
usermode | ETRON, EGAMMA, GAMMA or NONE (default) |
Definition at line 119 of file BabayagaNLO.h.
|
inline |
Sets vacuum polarization.
vacPol | Vacuum polarization option |
Definition at line 79 of file BabayagaNLO.h.
|
inline |
Calculate VP uncertainty by internal reweighting (on/off)
vpuncertainty | boolean on/off |
Definition at line 109 of file BabayagaNLO.h.
|
protected |
Store a single generated particle into the MonteCarlo graph.
mcGraph | Reference to the MonteCarlo graph into which the particle should be stored. |
mom | The 3-momentum of the particle in [GeV]. |
pdg | The PDG code of the particle. |
vertex | Production vertex. |
boost | Lorentz boost vector. |
isVirtual | If the particle is a virtual particle, such as the incoming particles, set this to true. |
isInitial | If the particle is a initial particle for ISR, set this to true. |
isISRFSR | If the particle is from ISR or FSR, set this to true. |
Definition at line 488 of file BabayagaNLO.cc.
void term | ( | ) |
Terminates the generator.
Closes the internal Fortran generator.
Definition at line 381 of file BabayagaNLO.cc.
|
protected |
QED coupling constant at Q=0.
Definition at line 202 of file BabayagaNLO.h.
|
protected |
Apply a boost to the MCParticles.
Definition at line 199 of file BabayagaNLO.h.
|
protected |
The Lorentz boost vector for the transformation CMS to LAB frame.
Definition at line 240 of file BabayagaNLO.h.
|
protected |
Nominal CMS Energy = 2*Ebeam [GeV].
Definition at line 215 of file BabayagaNLO.h.
|
protected |
Conversion factor for hbarc to nb.
Definition at line 201 of file BabayagaNLO.h.
|
protected |
Minimum CMS energy of the tagged e-/e+ (GeV).
Definition at line 227 of file BabayagaNLO.h.
|
protected |
Minimum CMS energy to veto e-/e+ (GeV).
Definition at line 231 of file BabayagaNLO.h.
|
protected |
Minimum CMS energy of the gamma (GeV).
Definition at line 229 of file BabayagaNLO.h.
|
protected |
Minimum CMS energy to veto gamma (GeV).
Definition at line 233 of file BabayagaNLO.h.
|
protected |
[GeV].
Definition at line 219 of file BabayagaNLO.h.
|
protected |
TEMPORARY SOLUTION! Approximate energy spread per beam (CMS).
Definition at line 214 of file BabayagaNLO.h.
|
protected |
Soft/hard photon separator in units of CMS/2.
Definition at line 218 of file BabayagaNLO.h.
|
protected |
final state: ee, gg or mm.
Definition at line 210 of file BabayagaNLO.h.
|
protected |
Maximum of differential cross section.
Definition at line 237 of file BabayagaNLO.h.
|
protected |
muon mass.
Definition at line 203 of file BabayagaNLO.h.
|
protected |
electron mass.
Definition at line 204 of file BabayagaNLO.h.
|
protected |
W mass [GeV] for on shell sin2theta and GF.
Definition at line 205 of file BabayagaNLO.h.
|
protected |
Z mass [GeV].
Definition at line 206 of file BabayagaNLO.h.
|
protected |
Maximum acollinearity of the electron-positron pair.
Definition at line 220 of file BabayagaNLO.h.
|
protected |
Maximum prescale value.
Definition at line 235 of file BabayagaNLO.h.
|
protected |
mode: weighted or unweighted.
Definition at line 212 of file BabayagaNLO.h.
|
protected |
model: matched or ps.
Definition at line 211 of file BabayagaNLO.h.
|
private |
Integer parameters for BabayagaNLO.
Definition at line 261 of file BabayagaNLO.h.
|
protected |
fixed number of nphot (hard) photons are generated.
A negative value means all possible photons.
Definition at line 222 of file BabayagaNLO.h.
|
protected |
Events used to search maximum of differential cross section.
Definition at line 221 of file BabayagaNLO.h.
|
protected |
data file for NSK VP.
Definition at line 224 of file BabayagaNLO.h.
|
protected |
order: born, alpha or exp.
Definition at line 213 of file BabayagaNLO.h.
|
protected |
pi=3.1415....
Definition at line 200 of file BabayagaNLO.h.
|
protected |
Min and Max val.
for the scattering angle [deg] of the electron/positron.
Definition at line 216 of file BabayagaNLO.h.
|
protected |
Min and Max val.
for the scattering angle [deg] of the g in gg mode.
Definition at line 217 of file BabayagaNLO.h.
|
protected |
Differential xsec/weight used for event.
Definition at line 238 of file BabayagaNLO.h.
|
protected |
Minimum CMS angle between the tagged e-/e+ and -z axis (deg).
Definition at line 228 of file BabayagaNLO.h.
|
protected |
Maximum CMS theta of e-/e+ in final state (deg).
Definition at line 232 of file BabayagaNLO.h.
|
protected |
Minimum CMS angle between the gamma and -z axis (deg).
Definition at line 230 of file BabayagaNLO.h.
|
protected |
Maximum CMS angle between the gamma and -z axis (deg).
Definition at line 234 of file BabayagaNLO.h.
|
protected |
User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE.
Definition at line 226 of file BabayagaNLO.h.
|
protected |
vacuum polarization: off, hadr5 (Jegerlehner) or hmnt (Teubner).
Definition at line 209 of file BabayagaNLO.h.
|
protected |
vary all VP related parameters and extracted total uncertainty.
Definition at line 223 of file BabayagaNLO.h.
|
protected |
Z width [GeV] (may be recalculated by EW library).
Definition at line 207 of file BabayagaNLO.h.
|
private |
Double parameters for BabayagaNLO.
Definition at line 262 of file BabayagaNLO.h.