11#include <mdst/dataobjects/MCParticleGraph.h>
12#include <Math/LorentzRotation.h>
13#include <Math/Vector3D.h>
187 void init(
const std::string& paramFile);
259 ROOT::Math::LorentzRotation boost,
260 bool isVirtual =
false,
bool isInitial =
false);
Class to build, validate and sort a particle decay chain.
C++ Interface for the Fortran generator PHOKHARA.
double m_beamres
beam resolution for chi2 studies
void setWeighted(int weighted)
Sets weighted mode.
int m_pionstructure
for pi+pi- only: f0+f0(600): K+K- model(0), "no structure" model(1), no f0+f0(600)(2),...
void setm_MinInvMassHadrons(double MinInvMassHadrons)
Sets the minimal inv.
int m_LO
LO: 1ph(0, default), Born: 0ph(1), only Born: 0ph(-1)
double m_alphaQED0
QED coupling constant at Q=0.
bool m_ForceMinInvMassHadronsCut
Force application of the above cut.
int m_finalState
final state, called 'pion' in Phokhara, dont get confused.
int m_npar[100]
Integer parameters for PHOKHARA.
double m_conversionFactor
Conversion factor for hbarc to nb.
std::pair< double, double > m_ScatteringAngleRangeFinalStates
Minimal/Maximal pions(muons,nucleons,kaons) momentum angle.
int m_QED
ISR only(0), ISR+FSR(1), ISR+INT+FSR(2)
void setNarrowRes(int narres)
Sets narrow resonances.
void setLO(int LO)
Sets LO correction mode.
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.
void setDefaultSettings()
Sets the default settings for the PHOKHARA generator.
int m_narres
narr_res: no narrow resonances (0), J/psi (1) and psi(2S) (2) only for m_finalState = 0,...
double m_cmsEnergy
CMS Energy = 2*Ebeam [GeV].
int m_alpha
vacuum polarization switch: off (0), on (1,[by Fred Jegerlehner]), on (2,[by Thomas Teubner])
int m_chi_sw
chi_sw: Radiative return(0), Chi production(1), Radiative return + Chi production (2)
double m_epsilon
Soft/hard photon separator in units of CMS/2., called 'w' in Phokhara.
double m_massMuon
electron mass.
int m_pionff
FF_pion: KS PionFormFactor(0),GS old (1),GS new (2)
void setEpsilon(double epsilon)
Sets soft/hard photon energy separator.
void setKaonFF(int kaonff)
Sets kaon formfactors.
void setFinalState(int finalState)
Sets final state.
double m_massW
W mass [GeV] for on shell sin2theta and GF.
void setCMSEnergy(double cmsEnergy)
Sets the CMS energy.
void setScatteringAngleRangeFinalStates(std::pair< double, double > angleRange)
Sets the theta scattering angle range for the final state particles.
void setPionStructure(int pionstructure)
Sets Pion Structure.
void setMinEnergyGamma(double MinEnergyGamma)
Sets the minimal photon energy/missing energy.
int m_protonff
ProtonFormFactor old(0), ProtonFormFactor new(1)
std::pair< double, double > m_ScatteringAngleRangePhoton
Minimal/Maximal photon angle/missing momentum angle.
double m_widthZ
Z width [GeV] (may be recalculated by EW library).
void term()
Terminates the generator.
void setScatteringAngleRangePhoton(std::pair< double, double > angleRange)
Sets the theta scattering angle range for the photon.
void setPionFF(int pionff)
Sets pion formfactors.
int m_IFSNLO
IFSNLO: no(0), yes(1)
int m_nSearchMax
Events used to search maximum of differential cross section.
int m_nMaxTrials
Events before loop is aborted.
double generateEvent(MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
Generates one single event.
int m_be_r
be_r: without beam resolution(0), with beam resolution(1)
void setProtonFF(int protonff)
Sets Proton formfactors.
double m_MinInvMassHadronsGamma
minimum mass of the hadron-gamma system [GeV^2]
void setSwitchBeamResolution(int be_r)
Switches beam resolution for Chi production.
void setAlpha(int alpha)
Sets alpha qed options.
void setMinInvMassHadronsGamma(double MinInvMassHadronsGamma)
Sets the minimal hadrons(muons)-gamma-inv mass squared.
void setNLO(int NLO)
Sets NLO mode.
double m_xpar[100]
Double parameters for PHOKHARA.
void setNSearchMax(int nSearchMax)
Sets the number of events used to search maximum.
double m_massZ
Z mass [GeV].
void setFullNLO(int FullNLO)
Sets Full NLO mode.
int m_kaonff
FF_kaon: KaonFormFactor constrained(0), KaonFormFactor unconstrained(1) KaonFormFactor old(2)
void setForceMinInvMassHadronsCut(bool forceMinInvMassHadronsCut)
Sets whether to force the minimal invariant mass squared cut.
void setBeamResolution(double beamres)
Beam resolution for Chi production.
double m_massElectron
muon mass.
int m_weighted
generate weighted events
int m_NLO
NLO, for 1ph only: off (0, default), on (1)
double m_MaxInvMassHadrons
maximum mass of the hadron system [GeV^2]
int m_fullNLO
NLO, full NLO : No(0), Yes(1)
double m_MinEnergyGamma
minimum gamma energy [GeV]
double m_MinInvMassHadrons
minimum mass of the hadron system [GeV^2]
void setQED(int QED)
Sets QED corrections.
void setNMaxTrials(int nMaxTrials)
Sets number of trials per event.
void applySettings()
Apply the settings to the internal Fortran generator.
void setIFSNLO(int IFSNLO)
Sets IFSNLO options.
void setReplaceMuonsByVirtualPhoton(bool replaceMuonsByVirtualPhoton)
Sets whether to replace muons by a virtual photon.
void setChiSW(int chisw)
Sets Chi production.
void setm_MaxInvMassHadrons(double MaxInvMassHadrons)
Sets the maximal inv.
bool m_replaceMuonsByVirtualPhoton
Replace muons by a virtual photon.
Abstract base class for different kinds of events.