![]() |
Belle II Software release-09-00-03
|
C++ Interface for the Fortran Bhabha scattering generator BHWide. More...
#include <BHWide.h>
Public Types | |
| enum | Channel { CH_BOTH = 0 , CH_S_ONLY = 1 , CH_T_ONLY = 2 } |
| Call needed channels. More... | |
| enum | RandomGenerator { RG_RANMAR = 1 , RG_RANECU = 2 } |
| Call random generator. More... | |
| enum | EWCorrectionLib { EC_BABAMC = 1 , EC_ALIBABA = 2 } |
| Call electroweak correction. More... | |
| enum | HardBremsModel { HM_HELICITY_AMP = 1 , HM_CALKUL = 2 } |
| Call Brem Model. More... | |
| enum | PhotonVacPolarization { PP_OFF = 0 , PP_BHLUMI = 1 , PP_EIDELMAN = 2 , PP_BURKHARDT = 3 } |
| Call photon polarization. More... | |
Public Member Functions | |
| BHWide () | |
| Constructor. | |
| ~BHWide () | |
| Destrucotr. | |
| void | setDefaultSettings () |
| Sets the default settings for the BhWide Fortran generator. | |
| void | enableZContribution (bool zContribution=true) |
| Enabled the Z contribution. | |
| void | setChannel (Channel channel) |
| Set the type of channel which should be used. | |
| void | enableWeights (bool weighted=true) |
| Enable the use of weighted events. | |
| void | setRandomGenerator (RandomGenerator randomGenerator) |
| Set the type of the randomN nmber generator. | |
| void | enableWeakCorrections (bool weakCorrections=true) |
| Enable the use of weak corrections. | |
| void | setElectroWeakCorrectionsLib (EWCorrectionLib ewCorrectionLib) |
| Set the type of the electro weak correction library. | |
| void | setHardBremsModel (HardBremsModel hardBremsModel) |
| Set the type of the hard bremsstrahlung model. | |
| void | setPhotonVacPolarization (PhotonVacPolarization photonVacPol) |
| Set the model for the photon vacuum polarization. | |
| void | setCMSEnergy (double cmsEnergy) |
| Sets the CMS energy. | |
| void | setScatAnglePositron (std::pair< double, double > angleRange) |
| Sets the theta scattering angle range for the scattered positron. | |
| void | setScatAngleElectron (std::pair< double, double > angleRange) |
| Sets the theta scattering angle range for the scattered electron. | |
| void | setMinEnergyFinalStatePos (double minEnergyFinalStatePos) |
| Sets the minimal energy for the scattered positron. | |
| void | setMinEnergyFinalStateElc (double minEnergyFinalStateElc) |
| Sets the minimal energy for the scattered electron. | |
| void | setMaxAcollinearity (double maxAcollinearity) |
| Sets the max acollinearity angle. | |
| void | setInfCutCMSEnergy (double infCutCMSEnergy) |
| Sets the CMS energy on which an infrared cut is performed. | |
| void | setMaxRejectionWeight (double maxRejectionWeight) |
| Sets the max weight at which events are rejected. | |
| void | setMassZ (double massZ) |
| Sets the mass of the Z Boson. | |
| void | setWidthZ (double widthZ) |
| Sets the width of the Z Boson. | |
| void | setSinW2 (double sinW2) |
| Sets the value for the sinW2. | |
| void | setMassTop (double massTop) |
| Sets the mass for the top quark. | |
| void | setMassHiggs (double massHiggs) |
| Sets the mass for the Higgs Boson. | |
| void | init () |
| Initializes the generator. | |
| void | generateEvent (MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost) |
| Generates one single event. | |
| void | term () |
| Terminates the generator. | |
| double | getCrossSection () |
| Returns the total cross section of the generated process. | |
| double | getCrossSectionError () |
| Returns the error on the total cross section of the generated process. | |
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. | |
Protected Attributes | |
| bool | m_zContribution |
| Z-contribution ON/OFF. | |
| Channel | m_channel |
| Channel choice. | |
| bool | m_weighted |
| Switch for constant, variable weight. | |
| RandomGenerator | m_randomGenerator |
| Type of random number generator. | |
| bool | m_weakCorrections |
| Switching ON/OFF weak corrections. | |
| EWCorrectionLib | m_ewCorrectionLib |
| Option for ElectroWeak Corrections Library. | |
| HardBremsModel | m_hardBremsModel |
| type of MODEL subprogram and QED matrix element for hard bremsstrahlung. | |
| PhotonVacPolarization | m_photonVacPol |
| Photon vacuum polarization switch. | |
| double | m_cmsEnergy |
| CMS Energy = 2*Ebeam [GeV]. | |
| std::pair< double, double > | m_ScatteringAngleRangePositron |
| Min and Max value for the scattering angle [deg] of the positron. | |
| std::pair< double, double > | m_ScatteringAngleRangeElectron |
| Min and Max value for the scattering angle [deg] of the electron. | |
| double | m_minEnergyFinalStatePos |
| Minimum energy [GeV] for final state positron. | |
| double | m_minEnergyFinalStateElc |
| Minimum energy [GeV] for final state electron. | |
| double | m_maxAcollinearity |
| Maximum acollinearity [deg] of final state e+e-. | |
| double | m_infCutCMSEnergy |
| Dimensionless infrared cut on CMS energy of soft photons, ( E_phot > CMSENE*EPSCMS/2 ). | |
| double | m_maxRejectionWeight |
| Maximum Weight for rejection (if <= 0, it is reset inside the program). | |
| double | m_massZ |
| Z mass [GeV]. | |
| double | m_widthZ |
| Z width [GeV] (may be recalculated by EW library). | |
| double | m_sinW2 |
| sin^2(theta_W) (may be recalculated by EW library). | |
| double | m_massTop |
| top quark mass [GeV]. | |
| double | m_massHiggs |
| Higgs mass [GeV]. | |
| double | m_crossSection |
| The cross section of the generated bhabha scattering events. | |
| double | m_crossSectionError |
| The error on the cross section of the generated bhabha scattering events. | |
Private Attributes | |
| int | m_npar [100] |
| Integer parameters for BHWide. | |
| double | m_xpar [100] |
| Double parameters for BHWide. | |
C++ Interface for the Fortran Bhabha scattering generator BHWide.
IMPOTRANT NOTE: In the case of generating UNWEIGHTED events, the user should check in the OUTPUT if the number of OVERWEIGHTED events and/or the fraction of the corresponding cross section is ACCEPTABLE for his/her desired PRECISION. If not, the value of WTMAX has to be adjusted (increased) accordingly (making a histogram of the weight might be helpful).
| enum Channel |
Call needed channels.
| Enumerator | |
|---|---|
| CH_BOTH | both s and t-channels + interferences. |
| CH_S_ONLY | only s-channel (for tests!), with model == HM_CALKUL. |
| CH_T_ONLY | only t-channel (for tests!), with model == HM_CALKUL. |
Definition at line 36 of file BHWide.h.
| enum EWCorrectionLib |
Call electroweak correction.
| Enumerator | |
|---|---|
| EC_BABAMC | ElectroWeak Corr. from BABAMC (obsolete). |
| EC_ALIBABA | ElectroWeak Corr. from ALIBABA, RECOMMENDED. |
| enum HardBremsModel |
Call Brem Model.
| Enumerator | |
|---|---|
| HM_HELICITY_AMP | obtained by the BHWide authors (helicity amplitudes). |
| HM_CALKUL | from CALKUL, Nucl. Phys. B206 (1982) 61. |
Definition at line 55 of file BHWide.h.
Call photon polarization.
Definition at line 61 of file BHWide.h.
| enum RandomGenerator |
| BHWide | ( | ) |
Constructor.
Sets the default settings.
Definition at line 60 of file BHWide.cc.
|
protected |
Apply the settings to the internal Fortran generator.
Definition at line 152 of file BHWide.cc.
|
inline |
Enable the use of weak corrections.
| weakCorrections | Set to true to use weak corrections. |
Definition at line 102 of file BHWide.h.
|
inline |
Enable the use of weighted events.
| weighted | Set to false to generate events for an unweighted MonteCarlo detector simulation. |
Definition at line 92 of file BHWide.h.
|
inline |
Enabled the Z contribution.
| zContribution | Set to true to enabled the Z contribution. |
Definition at line 82 of file BHWide.h.
| void generateEvent | ( | MCParticleGraph & | mcGraph, |
| 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. |
| vertex | generated vertex. |
| boost | generated boost. |
Definition at line 116 of file BHWide.cc.
|
inline |
|
inline |
| void init | ( | ) |
Initializes the generator.
Sets the default values for the internal Fortran generator.
Definition at line 108 of file BHWide.cc.
|
inline |
|
inline |
Sets the CMS energy.
| cmsEnergy | The CMS energy in [GeV]. |
Definition at line 122 of file BHWide.h.
| void setDefaultSettings | ( | ) |
Sets the default settings for the BhWide Fortran generator.
Definition at line 80 of file BHWide.cc.
|
inline |
Set the type of the electro weak correction library.
| ewCorrectionLib | The electro weak correction library which is used: BABAMC or ALIBABA. |
Definition at line 107 of file BHWide.h.
|
inline |
Set the type of the hard bremsstrahlung model.
| hardBremsModel | The model which is used for the hard bremsstrahlung: helicity amplitudes or CALKUL. |
Definition at line 112 of file BHWide.h.
|
inline |
Sets the CMS energy on which an infrared cut is performed.
| infCutCMSEnergy | The CMS energy in [Gev] at which an infrared cut is performed. |
Definition at line 152 of file BHWide.h.
|
inline |
Sets the mass for the Higgs Boson.
| massHiggs | The mass for the Higgs Boson in [GeV]. |
Definition at line 182 of file BHWide.h.
|
inline |
|
inline |
|
inline |
Sets the max acollinearity angle.
| maxAcollinearity | The max acollinearity angle in [deg]. |
Definition at line 147 of file BHWide.h.
|
inline |
Sets the max weight at which events are rejected.
| maxRejectionWeight | The weight at which events are rejected. |
Definition at line 157 of file BHWide.h.
|
inline |
Sets the minimal energy for the scattered electron.
| minEnergyFinalStateElc | The minimal energy for the scattered electron in [GeV]. |
Definition at line 142 of file BHWide.h.
|
inline |
Sets the minimal energy for the scattered positron.
| minEnergyFinalStatePos | The minimal energy for the scattered positron in [GeV]. |
Definition at line 137 of file BHWide.h.
|
inline |
|
inline |
Set the type of the randomN nmber generator.
| randomGenerator | The type of the random number generator: Ranmar or Ranecu. |
Definition at line 97 of file BHWide.h.
|
inline |
Sets the theta scattering angle range for the scattered electron.
| angleRange | A pair of values, representing the min and max theta angle of the scattered electron in [deg]. |
Definition at line 132 of file BHWide.h.
|
inline |
Sets the theta scattering angle range for the scattered positron.
| angleRange | A pair of values, representing the min and max theta angle of the scattered positron in [deg]. |
Definition at line 127 of file BHWide.h.
|
inline |
|
inline |
|
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. |
Definition at line 187 of file BHWide.cc.
| void term | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |