00001 //***************************************************************************** 00002 // 00003 // Generator/Phokhara/Phokhara.h 00004 // 00005 // Algorithm runs event generator Phokhara (hep-ph/0710.4227v1) 00006 // and stores output to transient store 00007 // 00008 // Nov 2007 Original BES3 code by Alexey Zhemchugov 00009 // 00010 //***************************************************************************** 00011 00012 #ifndef GENERATORMODULESPHOKHARA_H 00013 #define GENERATORMODULESPHOKHARA_H 00014 00015 #include "HepMC/GenEvent.h" 00016 #include "HepMC/GenParticle.h" 00017 00018 #include "GaudiKernel/Algorithm.h" 00019 #include "GaudiKernel/ISvcLocator.h" 00020 00021 #include <vector> 00022 00023 using namespace std; 00024 00025 class Phokhara:public Algorithm 00026 { 00027 public: 00028 Phokhara(const string& name, ISvcLocator* pSvcLocator); 00029 00030 StatusCode initialize(); 00031 StatusCode execute(); 00032 StatusCode finalize(); 00033 StatusCode storeParticles(); 00034 00035 private: 00036 // jobOption params 00037 00038 int m_nm; // # of events to determine the maximum 00039 int m_nlo; // Born(0), NLO(1) 00040 double m_w; // soft photon cutoff 00041 int m_pion; // mu+mu-(0),pi+pi-(1),2pi0pi+pi-(2),2pi+2pi-(3),ppbar(4),nnbar(5), 00042 // K+K-(6),K0K0bar(7),pi+pi-pi0(8), Lamb Lambbar->pi-pi+ppbar(9) 00043 int m_fsr; // ISR only(0), ISR+FSR(1), ISR+INT+FSR(2) 00044 int m_fsrnlo; // yes(1), no(0) 00045 int m_ivac; // no(0), yes - Jegerlehner(1), yes - Teubner(2) 00046 int m_tagged; // tagged photons(0), untagged photons(1) 00047 int m_NarrowRes; // none(0), JPsi (1), Psip(2) 00048 int m_FF_Kaon; // KaonFormFactor: constrained (0), unconstrained (1), Kuhn-Khodjamirian-Bruch (2) 00049 int m_FF_Pion; // KS Pionformfactor(0), GS Pionformfactor old(1), GS Pionformfactor new(2) 00050 int m_f0_model; // f0+f0(600): KK model(0), no structure(1), no f0+f0(600)(2), f0 KLOE(3) 00051 double m_E; // CMS-energy 00052 double m_q2min; // minimal hadrons(muons)-gamma-inv mass squared 00053 double m_q2_min_c; // minimal inv. mass squared of the hadrons(muons) 00054 double m_q2_max_c; // maximal inv. mass squared of the hadrons(muons) 00055 double m_gmin; // minimal photon energy/missing energy 00056 double m_phot1cut; // minimal photon angle/missing momentum angle 00057 double m_phot2cut; // maximal photon angle/missing momentum angle 00058 double m_pi1cut; // minimal hadrons(muons) angle 00059 double m_pi2cut; // maximal hadrons(muons) angle 00060 00061 double qqmin,qqmax; 00062 double cos1min,cos1max,cos2min,cos2max,cos3min,cos3max; 00063 double dsigm1,dsigm2,sigma1,sigma2,sigma,dsigm,Ar[14],Ar_r[14]; 00064 00065 int ievent; 00066 00067 // Initial Seed 00068 long int m_initSeed; 00069 }; 00070 00071 #endif