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

C++ Interface for the Fortran Bhabha and exclusive two photon generator BABAYAGA.NLO. More...

#include <BabayagaNLO.h>

Collaboration diagram for BabayagaNLO:

Public Member Functions

 BabayagaNLO ()
 Constructor. More...
 
 ~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. More...
 
void setNSearchMax (int nSearchMax)
 Sets the number of events used to search maximum. More...
 
void setFMax (double fMax)
 Maximum differential cross section. More...
 
void setMaxAcollinearity (double maxAcollinearity)
 Sets maximum acollinearity angle between finale state leptons/photons in degrees. More...
 
void setCmsEnergyNominal (double cmsEnergyNominal)
 Sets nominal ECM. More...
 
void setMinEnergy (double minEnergy)
 Sets minimum energy for leptons/photons in the final state, in GeV. More...
 
void setEpsilon (double epsilon)
 Sets soft/hard photon energy separator. More...
 
void setVacPol (const std::string &vacPol)
 Sets vacuum polarization. More...
 
void setModel (const std::string &model)
 Sets model: matched or ps. More...
 
void setMode (const std::string &mode)
 Sets mode: weighted or unweighted. More...
 
void setOrder (const std::string &order)
 Sets Order: born, alpha or exp. More...
 
void setFinalState (const std::string &finalState)
 Sets final state minimum energy. More...
 
void setEnergySpread (double spread)
 TEMPORARY SOLUTION! Approximate energy spread per beam (CMS) More...
 
void setVPUncertainty (bool vpuncertainty)
 Calculate VP uncertainty by internal reweighting (on/off) More...
 
void setNPhotons (int nPhot)
 Sets the fixed number of nphot (hard) photons. More...
 
void setUserMode (const std::string &usermode)
 Sets User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE or NONE (default) More...
 
void setNSKDataFile (const std::string &NSKDataFile)
 Sets NSK VP data file. More...
 
void setEEMIN (double eemin)
 Sets the minimum CMS energy of the tagged e-/e+. More...
 
void setTEMIN (double temin)
 Sets the minimum CMS angle between the tagged e-/e+ and -z axis. More...
 
void setEGMIN (double egmin)
 Sets the minimum CMS energy of the gamma. More...
 
void setTGMIN (double tgmin)
 Sets the minimum CMS angle between the gamma and -z axis. More...
 
void setEEVETO (double eeveto)
 Sets the minimum CMS energy to veto e-/e+. More...
 
void setTEVETO (double teveto)
 Sets the maximum CMS theta of e-/e+ in final state. More...
 
void setEGVETO (double egveto)
 Sets the minimum CMS energy to veto gamma. More...
 
void setTGVETO (double tgveto)
 Sets the maximum CMS angle between the gamma and -z axis. More...
 
void setMaxPrescale (double maxprescale)
 Sets the maximum prescale value. More...
 
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. More...
 
double getSDif ()
 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, bool isISRFSR=false)
 Store a single generated particle into the MonteCarlo graph. More...
 

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. More...
 
std::pair< double, double > m_ScatteringAngleRangePhoton
 Min and Max val. More...
 
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. More...
 
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.
 

Detailed Description

C++ Interface for the Fortran Bhabha and exclusive two photon generator BABAYAGA.NLO.

Definition at line 27 of file BabayagaNLO.h.

Constructor & Destructor Documentation

◆ BabayagaNLO()

Constructor.

Sets the default settings.

Definition at line 257 of file BabayagaNLO.cc.

258 {
259  for (int i = 0; i < 100; ++i) {
260  m_npar[i] = 0;
261  m_xpar[i] = 0.0;
262  }
263 
264  m_sDif = 0.;
265 
267 }
double m_sDif
Differential xsec/weight used for event.
Definition: BabayagaNLO.h:238
int m_npar[100]
Integer parameters for BabayagaNLO.
Definition: BabayagaNLO.h:261
void setDefaultSettings()
Sets the default settings for the BhWide Fortran generator.
Definition: BabayagaNLO.cc:274
double m_xpar[100]
Double parameters for BabayagaNLO.
Definition: BabayagaNLO.h:262

Member Function Documentation

◆ generateEvent()

void generateEvent ( MCParticleGraph mcGraph,
double  ecm,
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.
ecmCentre of mass energy.
vertexProduction vertex.
boostLorentz boost vector.

Definition at line 331 of file BabayagaNLO.cc.

◆ setCmsEnergyNominal()

void setCmsEnergyNominal ( double  cmsEnergyNominal)
inline

Sets nominal ECM.

Parameters
cmsEnergyNominalnominal ecm in GeV

Definition at line 64 of file BabayagaNLO.h.

64 { m_cmsEnergyNominal = cmsEnergyNominal; }
double m_cmsEnergyNominal
Nominal CMS Energy = 2*Ebeam [GeV].
Definition: BabayagaNLO.h:215

◆ setEEMIN()

void setEEMIN ( double  eemin)
inline

Sets the minimum CMS energy of the tagged e-/e+.

Parameters
eeminminimum CMS energy of the tagged e-/e+

Definition at line 129 of file BabayagaNLO.h.

◆ setEEVETO()

void setEEVETO ( double  eeveto)
inline

Sets the minimum CMS energy to veto e-/e+.

Parameters
eevetominimum CMS energy to veto e-/e+

Definition at line 149 of file BabayagaNLO.h.

◆ setEGMIN()

void setEGMIN ( double  egmin)
inline

Sets the minimum CMS energy of the gamma.

Parameters
egminminimum CMS energy of the gamma

Definition at line 139 of file BabayagaNLO.h.

◆ setEGVETO()

void setEGVETO ( double  egveto)
inline

Sets the minimum CMS energy to veto gamma.

Parameters
egvetominimum CMS energy to veto gamma

Definition at line 159 of file BabayagaNLO.h.

◆ setEnergySpread()

void setEnergySpread ( double  spread)
inline

TEMPORARY SOLUTION! Approximate energy spread per beam (CMS)

Parameters
spreadenergy spread per beam (CMS)

Definition at line 104 of file BabayagaNLO.h.

◆ setEpsilon()

void setEpsilon ( double  epsilon)
inline

Sets soft/hard photon energy separator.

Parameters
epsilonsoft/hard photon energy separator, in units of ECMS/2

Definition at line 74 of file BabayagaNLO.h.

◆ setFinalState()

void setFinalState ( const std::string &  finalState)
inline

Sets final state minimum energy.

Parameters
finalStateMinimum energy for leptons/photons in the final state, in GeV

Definition at line 99 of file BabayagaNLO.h.

◆ setFMax()

void setFMax ( double  fMax)
inline

Maximum differential cross section.

Parameters
fMaxMaximum differential cross section

Definition at line 54 of file BabayagaNLO.h.

◆ setMaxAcollinearity()

void setMaxAcollinearity ( double  maxAcollinearity)
inline

Sets maximum acollinearity angle between finale state leptons/photons in degrees.

Parameters
maxAcollinearityMaximum acollinearity angle between finale state leptons/photons in degrees

Definition at line 59 of file BabayagaNLO.h.

◆ setMaxPrescale()

void setMaxPrescale ( double  maxprescale)
inline

Sets the maximum prescale value.

Parameters
maxprescalemaximum prescale value (at maxmin theta)

Definition at line 169 of file BabayagaNLO.h.

◆ setMinEnergy()

void setMinEnergy ( double  minEnergy)
inline

Sets minimum energy for leptons/photons in the final state, in GeV.

Parameters
minEnergyMinimum energy for leptons/photons in the final state, in GeV

Definition at line 69 of file BabayagaNLO.h.

◆ setMode()

void setMode ( const std::string &  mode)
inline

Sets mode: weighted or unweighted.

Parameters
modeweighted or unweighted

Definition at line 89 of file BabayagaNLO.h.

◆ setModel()

void setModel ( const std::string &  model)
inline

Sets model: matched or ps.

Parameters
modelmatched or ps

Definition at line 84 of file BabayagaNLO.h.

◆ setNPhotons()

void setNPhotons ( int  nPhot)
inline

Sets the fixed number of nphot (hard) photons.

Parameters
nPhotnumber of nphot (hard) photons

Definition at line 114 of file BabayagaNLO.h.

◆ setNSearchMax()

void setNSearchMax ( int  nSearchMax)
inline

Sets the number of events used to search maximum.

Parameters
nSearchMaxNumber of events for maximum search

Definition at line 49 of file BabayagaNLO.h.

◆ setNSKDataFile()

void setNSKDataFile ( const std::string &  NSKDataFile)
inline

Sets NSK VP data file.

Parameters
NSKDataFile(default)

Definition at line 124 of file BabayagaNLO.h.

◆ setOrder()

void setOrder ( const std::string &  order)
inline

Sets Order: born, alpha or exp.

Parameters
orderborn, alpha or exp

Definition at line 94 of file BabayagaNLO.h.

◆ setScatAngle()

void setScatAngle ( std::pair< double, double >  angleRange)
inline

Sets the theta scattering angle range for the scattered particles.

Parameters
angleRangeA pair of values, representing the min and max theta angle of the scattered particles in [deg].

Definition at line 44 of file BabayagaNLO.h.

◆ setTEMIN()

void setTEMIN ( double  temin)
inline

Sets the minimum CMS angle between the tagged e-/e+ and -z axis.

Parameters
teminminimum CMS energy of the tagged e-/e+

Definition at line 134 of file BabayagaNLO.h.

◆ setTEVETO()

void setTEVETO ( double  teveto)
inline

Sets the maximum CMS theta of e-/e+ in final state.

Parameters
tevetomaximum CMS theta of e-/e+ in final state

Definition at line 154 of file BabayagaNLO.h.

◆ setTGMIN()

void setTGMIN ( double  tgmin)
inline

Sets the minimum CMS angle between the gamma and -z axis.

Parameters
tgminminimum CMS angle between the gamma and -z axis

Definition at line 144 of file BabayagaNLO.h.

◆ setTGVETO()

void setTGVETO ( double  tgveto)
inline

Sets the maximum CMS angle between the gamma and -z axis.

Parameters
tgvetomaximum CMS angle between the gamma and -z axis

Definition at line 164 of file BabayagaNLO.h.

◆ setUserMode()

void setUserMode ( const std::string &  usermode)
inline

Sets User mode similar to TEEGG: ETRON, EGAMMA, GAMMA or PRESCALE or NONE (default)

Parameters
usermodeETRON, EGAMMA, GAMMA or NONE (default)

Definition at line 119 of file BabayagaNLO.h.

◆ setVacPol()

void setVacPol ( const std::string &  vacPol)
inline

Sets vacuum polarization.

Parameters
vacPolVacuum polarization option

Definition at line 79 of file BabayagaNLO.h.

◆ setVPUncertainty()

void setVPUncertainty ( bool  vpuncertainty)
inline

Calculate VP uncertainty by internal reweighting (on/off)

Parameters
vpuncertaintyboolean on/off

Definition at line 109 of file BabayagaNLO.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,
bool  isISRFSR = 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.
vertexProduction 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.
isISRFSRIf the particle is from ISR or FSR, set this to true.

Definition at line 488 of file BabayagaNLO.cc.

◆ term()

void term ( )

Terminates the generator.

Closes the internal Fortran generator.

Definition at line 381 of file BabayagaNLO.cc.

Member Data Documentation

◆ m_nPhot

int m_nPhot
protected

fixed number of nphot (hard) photons are generated.

A negative value means all possible photons.

Definition at line 222 of file BabayagaNLO.h.

◆ m_ScatteringAngleRange

std::pair<double, double> m_ScatteringAngleRange
protected

Min and Max val.

for the scattering angle [deg] of the electron/positron.

Definition at line 216 of file BabayagaNLO.h.

◆ m_ScatteringAngleRangePhoton

std::pair<double, double> m_ScatteringAngleRangePhoton
protected

Min and Max val.

for the scattering angle [deg] of the g in gg mode.

Definition at line 217 of file BabayagaNLO.h.


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