9#include <generators/modules/teegginput/TeeggInputModule.h>
11#include <framework/datastore/StoreArray.h>
31 addParam(
"VACPOL",
m_sVACPOL,
"Vacuum polarization: off, nsk (Novosibirsk) or hlmnt (Teubner et al., default)",
32 std::string(
"hlmnt"));
34 addParam(
"TEVETO",
m_TEVETO,
"Maximum theta of e+ in final state (in deg)", 0.1);
35 addParam(
"TEMIN",
m_TEMIN,
"Minimum angle between the e- and -z axis (EGAMMA conf. only) (in deg)", 20.0);
36 addParam(
"TGMIN",
m_TGMIN,
"Minimum angle between the gamma and -z axis (in deg)", 20.0);
37 addParam(
"TGVETO",
m_TGVETO,
"Maximum angle between the gamma and -z axis(ETRON conf. only) (in deg)", 0.05);
38 addParam(
"EEMIN",
m_EEMIN,
"Minimum energy of the e- (EGAMMA and ETRON conf.) (in GeV)", 2.0);
39 addParam(
"EGMIN",
m_EGMIN,
"Minimum energy of the gamma (EGAMMA and GAMMA conf.) (in GeV)", 2.0);
40 addParam(
"PEGMIN",
m_PEGMIN,
"Minimum phi sep of e-gamma (EGAMMA config with hard rad. corr.) (in deg)", 0.0);
41 addParam(
"EEVETO",
m_EEVETO,
"Minimum energy to veto (GAMMA config with hard rad. corr.) (in GeV)", 0.0);
42 addParam(
"EGVETO",
m_EGVETO,
"Minimum energy to veto (ETRON/GAMMA config with hard rad. corr.) (in GeV)", 0.0);
43 addParam(
"PHVETO",
m_PHVETO,
"Minimum phi sep to veto (ETRON/GAMMA config with hard rad. corr. (in deg)", 0.0);
44 addParam(
"CUTOFF",
m_CUTOFF,
"Cutoff energy for radiative corrections (in CM frame) (in GeV)", 0.250);
45 addParam(
"EPS",
m_EPS,
"Param. epsilon_s (smaller val. increases sampling of k_s^pbc)", 0.01);
46 addParam(
"FRAPHI",
m_FRAPHI,
"Fraction of time phi_ks is generated with peak(hard rad corr)", 0.0);
47 addParam(
"EPSPHI",
m_EPSPHI,
"Param. epsilon_phi ('cutoff' of the phi_ks peak)", 1.0e-4);
48 addParam(
"WGHT1M",
m_WGHT1M,
"Maximum weight for generation of QP0, cos(theta QP)", 1.001);
50 addParam(
"RADCOR",
m_sRADCOR,
"Specifies radiative correction (NONE, SOFT or HARD)", std::string(
"NONE"));
51 addParam(
"CONFIG",
m_sCONFIG,
"Specifies the event configuration (EGAMMA, GAMMA, GAMMAE or ETRON)", std::string(
"EGAMMA"));
52 addParam(
"MATRIX",
m_sMATRIX,
"Specifies which eeg matrix element (BK, BKM2, TCHAN or EPA)", std::string(
"BKM2"));
53 addParam(
"MTRXGG",
m_sMTRXGG,
"Specifies which eegg matrix element (EPADC, BEEGG or MEEGG)", std::string(
"EPADC"));
54 addParam(
"UNWEIGHTED",
m_UNWGHT,
"If true then generate unweighted events", 1);
86 B2FATAL(
"TeeggInputModule::event(): BeamParameters have changed within a job, this is not supported for TEEGG!");
96 ROOT::Math::LorentzRotation boost = initial.
getCMSToLab();
99 ROOT::Math::XYZVector vertex = initial.
getVertex();
This class contains the nominal beam parameters and the parameters used for smearing of the primary v...
const BeamParameters & getBeamParameters() const
Return reference to nominal beam parameters.
This class contains the initial state for the given event.
const ROOT::Math::LorentzRotation & getCMSToLab() const
Return the LorentzRotation to convert from CMS to lab frame.
const ROOT::Math::XYZVector & getVertex() const
Get the position of the collision.
@ c_checkCyclic
Check for cyclic dependencies.
@ c_setDecayInfo
Set decay time and vertex.
void generateList(const std::string &name="", int options=c_setNothing)
Generates the MCParticle list and stores it in the StoreArray with the given name.
void setDescription(const std::string &description)
Sets the description of the module.
bool registerInDataStore(DataStore::EStoreFlags storeFlags=DataStore::c_WriteOut)
Register the object/array in the DataStore.
Accessor to arrays stored in the data store.
void init()
Initialize generator.
void generateEvent(MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
Generates one single event.
void setTGMIN(double tgmin=666.66)
set minimum angle between the gamma and -z axis
void setMTRXGG(const std::string &mtrxgg="NONE")
specifies which eegg matrix element (EPADC BEEGG or MEEGG)
void setPEGMIN(double pegmin=666.66)
set minimum phi sep of e-gamma (egamma config with hard rad corr)
void setEPSPHI(double epsphi=666.66)
set param.
void setEEMIN(double eemin=666.66)
set minimum energy of the e- (egamma & etron configurations)
void setWGHTMX(double wghtmx=666.66)
set maximum weight for the trial events
void setEGVETO(double egveto=666.66)
set minimum energy to veto(etron/gamma config with hard rad corr)
void setCMSEnergy(double cmsEnergy)
Sets the CMS energy.
void term()
Terminates the generator.
void setFRAPHI(double fraphi=666.66)
set fraction of time phi_ks is generated with peak(hard rad corr)
void setTGVETO(double tgveto=666.66)
set maximum angle between the gamma and -z axis(etron conf.
void setCONFIG(const std::string &config="NONE")
specifies the event configuration (EGAMMA GAMMA or ETRON)
void setRADCOR(const std::string &radcor="NONE")
specifies radiative correction (NONE SOFT or HARD)
void setPHVETO(double phveto=666.66)
set minimum phi sep to veto(etron/gamma config with hard rad corr)
void setVACPOL(const std::string &vacpol="HLMNT")
specifies which vacuum polarization code (NOT IMPLEMENTED YET)
void setWGHT1M(double wght1m=666.66)
set maximum weight for generation of QP0, cos(theta QP)
void setEGMIN(double egmin=666.66)
set minimum energy of the gamma (egamma & gamma configurations)
void setMATRIX(const std::string &matrix="NONE")
specifies which eeg matrix element (BK BKM2 TCHAN or EPA)
void setTEMIN(double temin=666.66)
set minimum angle between the e- and -z axis (egamma conf.
void setUNWGHT(int unwght=1)
set logical variable.
void initExtraInfo()
Initializes the extra info.
void setTEVETO(double teveto=666.66)
set maximum theta of e+ in final state (in radians)
void setEEVETO(double eeveto=666.66)
set minimum energy to veto(gamma config with hard rad corr)
void setCUTOFF(double cutoff=666.66)
set cutoff energy for radiative corrections (in CM frame)
void setEPS(double eps=666.66)
set param.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
void initialize()
function to be executed on initialize()
MCInitialParticles & generate()
Generate a new event.
void clear()
Reset particles and decay information to make the class reusable.
Abstract base class for different kinds of events.