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

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

#include <Phokhara.h>

Public Member Functions

 Phokhara ()
 Constructor. More...
 
 ~Phokhara ()
 Destructor.
 
void setDefaultSettings ()
 Sets the default settings for the PHOKHARA generator.
 
void setLO (int LO)
 Sets LO correction mode. More...
 
void setWeighted (int weighted)
 Sets weighted mode. More...
 
void setNLO (int NLO)
 Sets NLO mode. More...
 
void setFullNLO (int FullNLO)
 Sets Full NLO mode. More...
 
void setQED (int QED)
 Sets QED corrections. More...
 
void setIFSNLO (int IFSNLO)
 Sets IFSNLO options. More...
 
void setAlpha (int alpha)
 Sets alpha qed options. More...
 
void setPionFF (int pionff)
 Sets pion formfactors. More...
 
void setKaonFF (int kaonff)
 Sets kaon formfactors. More...
 
void setPionStructure (int pionstructure)
 Sets Pion Structure. More...
 
void setNarrowRes (int narres)
 Sets narrow resonances. More...
 
void setProtonFF (int protonff)
 Sets Proton formfactors. More...
 
void setChiSW (int chisw)
 Sets Chi production. More...
 
void setSwitchBeamResolution (int be_r)
 Switches beam resolution for Chi production. More...
 
void setBeamResolution (double beamres)
 Beam resolution for Chi production. More...
 
void setScatteringAngleRangePhoton (std::pair< double, double > angleRange)
 Sets the theta scattering angle range for the photon. More...
 
void setScatteringAngleRangeFinalStates (std::pair< double, double > angleRange)
 Sets the theta scattering angle range for the final state particles. More...
 
void setMinInvMassHadronsGamma (double MinInvMassHadronsGamma)
 Sets the minimal hadrons(muons)-gamma-inv mass squared. More...
 
void setm_MinInvMassHadrons (double MinInvMassHadrons)
 Sets the minimal inv. More...
 
void setForceMinInvMassHadronsCut (bool forceMinInvMassHadronsCut)
 Sets whether to force the minimal invariant mass squared cut. More...
 
void setm_MaxInvMassHadrons (double MaxInvMassHadrons)
 Sets the maximal inv. More...
 
void setMinEnergyGamma (double MinEnergyGamma)
 Sets the minimal photon energy/missing energy. More...
 
void setCMSEnergy (double cmsEnergy)
 Sets the CMS energy. More...
 
void setNSearchMax (int nSearchMax)
 Sets the number of events used to search maximum. More...
 
void setEpsilon (double epsilon)
 Sets soft/hard photon energy separator. More...
 
void setFinalState (int finalState)
 Sets final state. More...
 
void setReplaceMuonsByVirtualPhoton (bool replaceMuonsByVirtualPhoton)
 Sets whether to replace muons by a virtual photon. More...
 
void setNMaxTrials (int nMaxTrials)
 Sets number of trials per event. More...
 
void init (const std::string &paramFile)
 Initializes the generator. More...
 
double generateEvent (MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
 Generates one single event. More...
 
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_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).
 
int m_finalState
 final state, called 'pion' in Phokhara, dont get confused.
 
bool m_replaceMuonsByVirtualPhoton
 Replace muons by a virtual photon.
 
int m_nMaxTrials
 Events before loop is aborted.
 
int m_nSearchMax
 Events used to search maximum of differential cross section.
 
double m_cmsEnergy
 CMS Energy = 2*Ebeam [GeV].
 
double m_epsilon
 Soft/hard photon separator in units of CMS/2., called 'w' in Phokhara.
 
int m_weighted
 generate weighted events
 
int m_LO
 LO: 1ph(0, default), Born: 0ph(1), only Born: 0ph(-1)
 
int m_NLO
 NLO, for 1ph only: off (0, default), on (1)
 
int m_fullNLO
 NLO, full NLO : No(0), Yes(1)
 
int m_QED
 ISR only(0), ISR+FSR(1), ISR+INT+FSR(2)
 
int m_IFSNLO
 IFSNLO: no(0), yes(1)
 
int m_alpha
 vacuum polarization switch: off (0), on (1,[by Fred Jegerlehner]), on (2,[by Thomas Teubner])
 
int m_pionff
 FF_pion: KS PionFormFactor(0),GS old (1),GS new (2)
 
int m_pionstructure
 for pi+pi- only: f0+f0(600): K+K- model(0), "no structure" model(1), no f0+f0(600)(2), f0 KLOE(3)
 
int m_kaonff
 FF_kaon: KaonFormFactor constrained(0), KaonFormFactor unconstrained(1) KaonFormFactor old(2)
 
int m_narres
 narr_res: no narrow resonances (0), J/psi (1) and psi(2S) (2) only for m_finalState = 0,1,6,7
 
int m_protonff
 ProtonFormFactor old(0), ProtonFormFactor new(1)
 
int m_chi_sw
 chi_sw: Radiative return(0), Chi production(1), Radiative return + Chi production (2)
 
int m_be_r
 be_r: without beam resolution(0), with beam resolution(1)
 
std::pair< double, double > m_ScatteringAngleRangePhoton
 Minimal/Maximal photon angle/missing momentum angle.
 
std::pair< double, double > m_ScatteringAngleRangeFinalStates
 Minimal/Maximal pions(muons,nucleons,kaons) momentum angle.
 
double m_MinInvMassHadronsGamma
 minimum mass of the hadron-gamma system [GeV^2]
 
double m_MinInvMassHadrons
 minimum mass of the hadron system [GeV^2]
 
bool m_ForceMinInvMassHadronsCut
 Force application of the above cut.
 
double m_MaxInvMassHadrons
 maximum mass of the hadron system [GeV^2]
 
double m_MinEnergyGamma
 minimum gamma energy [GeV]
 
double m_beamres
 beam resolution for chi2 studies
 

Private Attributes

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

Detailed Description

C++ Interface for the Fortran generator PHOKHARA.

Definition at line 27 of file Phokhara.h.

Constructor & Destructor Documentation

◆ Phokhara()

Phokhara ( )

Constructor.

Sets the default settings.

Definition at line 78 of file Phokhara.cc.

79 {
80  for (int i = 0; i < 100; ++i) {
81  m_npar[i] = 0;
82  m_xpar[i] = 0.0;
83  }
84 
86 }
int m_npar[100]
Integer parameters for PHOKHARA.
Definition: Phokhara.h:264
void setDefaultSettings()
Sets the default settings for the PHOKHARA generator.
Definition: Phokhara.cc:93
double m_xpar[100]
Double parameters for PHOKHARA.
Definition: Phokhara.h:265

Member Function Documentation

◆ generateEvent()

double 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.
vertexgenerated vertex.
boostgenerated boost.

Definition at line 176 of file Phokhara.cc.

◆ init()

void init ( const std::string &  paramFile)

Initializes the generator.

Parameters
paramFileThe path to the input param file for Phokhara.

Definition at line 161 of file Phokhara.cc.

◆ setAlpha()

void setAlpha ( int  alpha)
inline

Sets alpha qed options.

Parameters
alphaVacuum polarization switch: off (0), on (1,[by Fred Jegerlehner], default), on (2,[by Thomas Teubner])

Definition at line 74 of file Phokhara.h.

74 { m_alpha = alpha; }
int m_alpha
vacuum polarization switch: off (0), on (1,[by Fred Jegerlehner]), on (2,[by Thomas Teubner])
Definition: Phokhara.h:226

◆ setBeamResolution()

void setBeamResolution ( double  beamres)
inline

Beam resolution for Chi production.

Parameters
beamres- beam resolution for pion==11 and pion==12 only

Definition at line 114 of file Phokhara.h.

◆ setChiSW()

void setChiSW ( int  chisw)
inline

Sets Chi production.

Parameters
chiswRadiative return(0), Chi production(1), Radiative return + Chi production (2)

Definition at line 104 of file Phokhara.h.

◆ setCMSEnergy()

void setCMSEnergy ( double  cmsEnergy)
inline

Sets the CMS energy.

Parameters
cmsEnergyThe CMS energy in [GeV].

Definition at line 156 of file Phokhara.h.

◆ setEpsilon()

void setEpsilon ( double  epsilon)
inline

Sets soft/hard photon energy separator.

Parameters
epsilonsoft/hard photon energy separator

Definition at line 166 of file Phokhara.h.

◆ setFinalState()

void setFinalState ( int  finalState)
inline

Sets final state.

Parameters
finalStateFinal state code.

Definition at line 171 of file Phokhara.h.

◆ setForceMinInvMassHadronsCut()

void setForceMinInvMassHadronsCut ( bool  forceMinInvMassHadronsCut)
inline

Sets whether to force the minimal invariant mass squared cut.

This cut is ignored by PHOKHARA with LO = 1, NLO = 1.

Parameters
[in]forceMinInvMassHadronsCutWhether to force the cut or not.

Definition at line 140 of file Phokhara.h.

◆ setFullNLO()

void setFullNLO ( int  FullNLO)
inline

Sets Full NLO mode.

Parameters
FullNLONLO : No(0), Yes(1)

Definition at line 59 of file Phokhara.h.

◆ setIFSNLO()

void setIFSNLO ( int  IFSNLO)
inline

Sets IFSNLO options.

Parameters
IFSNLOno(0), yes(1)

Definition at line 69 of file Phokhara.h.

◆ setKaonFF()

void setKaonFF ( int  kaonff)
inline

Sets kaon formfactors.

Parameters
kaonffKaonFormFactor constrained (0),KaonFormFactor unconstrained (1),KaonFormFactor old (2)

Definition at line 84 of file Phokhara.h.

◆ setLO()

void setLO ( int  LO)
inline

Sets LO correction mode.

Parameters
LODefines LO: 1ph (0, default), Born: 0ph (1), only Born: 0ph (-1).

Definition at line 44 of file Phokhara.h.

◆ setm_MaxInvMassHadrons()

void setm_MaxInvMassHadrons ( double  MaxInvMassHadrons)
inline

Sets the maximal inv.

mass squared of the hadrons(muons)

Parameters
MaxInvMassHadronsmaximal inv. mass squared of the hadrons(muons) in [GeV^2].

Definition at line 146 of file Phokhara.h.

◆ setm_MinInvMassHadrons()

void setm_MinInvMassHadrons ( double  MinInvMassHadrons)
inline

Sets the minimal inv.

mass squared of the hadrons(muons)

Parameters
MinInvMassHadronsminimal inv. mass squared of the hadrons(muons) in [GeV^2].

Definition at line 134 of file Phokhara.h.

◆ setMinEnergyGamma()

void setMinEnergyGamma ( double  MinEnergyGamma)
inline

Sets the minimal photon energy/missing energy.

Parameters
MinEnergyGammaminimal photon energy/missing energy in [GeV^2].

Definition at line 151 of file Phokhara.h.

◆ setMinInvMassHadronsGamma()

void setMinInvMassHadronsGamma ( double  MinInvMassHadronsGamma)
inline

Sets the minimal hadrons(muons)-gamma-inv mass squared.

Parameters
MinInvMassHadronsGammaminimal hadrons(muons)-gamma-inv mass squared in [GeV^2].

Definition at line 129 of file Phokhara.h.

◆ setNarrowRes()

void setNarrowRes ( int  narres)
inline

Sets narrow resonances.

Parameters
narresno narrow resonances (0), J/Psi (1), Psi(2S) (2) (narrow resonances only for pion = 0, 1, 6, 7

Definition at line 94 of file Phokhara.h.

◆ setNLO()

void setNLO ( int  NLO)
inline

Sets NLO mode.

Parameters
NLODefines NLO, for 1ph only: off (0, default), on (1)

Definition at line 54 of file Phokhara.h.

◆ setNMaxTrials()

void setNMaxTrials ( int  nMaxTrials)
inline

Sets number of trials per event.

Parameters
nMaxTrialsPHOKHARA is very ineffienct when using NLO corrections, adjust number of trials to >1000 per event!

Definition at line 182 of file Phokhara.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 161 of file Phokhara.h.

◆ setPionFF()

void setPionFF ( int  pionff)
inline

Sets pion formfactors.

Parameters
pionffKS Pionformfactor(0), GS Pionformfactor(1) old, GS Pionformfactor new(2)

Definition at line 79 of file Phokhara.h.

◆ setPionStructure()

void setPionStructure ( int  pionstructure)
inline

Sets Pion Structure.

Parameters
pionstructuref0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3)

Definition at line 89 of file Phokhara.h.

◆ setProtonFF()

void setProtonFF ( int  protonff)
inline

Sets Proton formfactors.

Parameters
protonfff0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3)

Definition at line 99 of file Phokhara.h.

◆ setQED()

void setQED ( int  QED)
inline

Sets QED corrections.

Parameters
QEDQED corrections: ISR only(0), ISR+FSR(1), ISR+INT+FSR(2)

Definition at line 64 of file Phokhara.h.

◆ setReplaceMuonsByVirtualPhoton()

void setReplaceMuonsByVirtualPhoton ( bool  replaceMuonsByVirtualPhoton)
inline

Sets whether to replace muons by a virtual photon.

Parameters
replaceMuonsByVirtualPhotonIf true, perform the replacement.

Definition at line 176 of file Phokhara.h.

◆ setScatteringAngleRangeFinalStates()

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

Sets the theta scattering angle range for the final state particles.

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

Definition at line 124 of file Phokhara.h.

◆ setScatteringAngleRangePhoton()

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

Sets the theta scattering angle range for the photon.

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

Definition at line 119 of file Phokhara.h.

◆ setSwitchBeamResolution()

void setSwitchBeamResolution ( int  be_r)
inline

Switches beam resolution for Chi production.

Parameters
be_rwithout beam resolution(0), with beam resolution(1). Works only for pion=11 and pion=12

Definition at line 109 of file Phokhara.h.

◆ setWeighted()

void setWeighted ( int  weighted)
inline

Sets weighted mode.

Parameters
weightedgenerate weighted events.

Definition at line 49 of file Phokhara.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.
vertexgenerated vertex.
boostgenerated boost.
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 332 of file Phokhara.cc.

◆ term()

void term ( )

Terminates the generator.

Closes the internal Fortran generator.

Definition at line 257 of file Phokhara.cc.


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