Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:17

0001 #ifndef YFS_Main_FSR_H
0002 #define YFS_Main_FSR_H
0003 
0004 #include "ATOOLS/Phys/Particle.H"
0005 #include "ATOOLS/Math/Poincare.H"
0006 #include "BEAM/Main/Beam_Base.H"
0007 #include "ATOOLS/Math/Histogram.H"
0008 #include "YFS/Main/YFS_Form_Factor.H"
0009 #include "YFS/Main/YFS_Base.H"
0010 #include "YFS/Tools/Dipole.H"
0011 #include "YFS/Main/Define_Dipoles.H"
0012 // #define FSR_DEBUG
0013 
0014 using namespace ATOOLS;
0015 
0016 namespace YFS {
0017   class FSR : public YFS_Base {
0018     public:
0019       FSR();
0020       ~FSR();
0021       ATOOLS::Poincare *p_rot;
0022       double m_u, m_fsrcut, m_Kmin, m_Kmax, m_sQ,m_sprim, m_dip_sp, m_sqtest, m_sX, m_Emin, m_QF2, m_Q1, m_Q2;
0023       double m_phi, m_theta, m_c, m_eta1, m_eta2, m_EminQ, m_mass1, m_mass2,m_q1q2, m_st, m_p1p2;
0024       double m_beta, m_beta1, m_beta2, m_mu1, m_mu2, m_g, m_gp, m_EQ, m_betaf, m_omegaF, m_volmc, m_gpBar, m_gBar;
0025       double m_massW, m_hideW, m_expf, m_wt2, m_amc2, m_amfin, m_EminPP, m_f, m_fbar,m_bvrA,m_pT,m_yy,m_xfact;
0026       double  m_fsrform, m_nbar, m_betaBar,m_YFS_IR, m_btil, m_btilStar, m_volumc, m_delvol, m_DelYFS,m_delta1,m_cut;
0027       double m_BtiXcru, m_BtiQcru, m_Edelta, m_fsrcutF, m_omegaMax, m_omegaMin, m_A4, m_A, m_betaBar1, m_betaBar2;
0028       // double m_btilde
0029       std::vector<double> m_mass, m_MassWls, m_cos, m_sin, m_dist1, m_dist2, m_del1, m_del2, m_yini, m_zini, m_phi_vec, m_k0, m_fvev, m_fbarvec;
0030       int m_n, m_N, m_NRemoved, m_eikonal_mode, m_use_crude, m_fixed_ngamma;
0031       bool m_use_massive_nbar, m_failed, m_use_model_alpha;
0032     Vec4D_Vector m_photons, m_dipole, m_photonspreboost;
0033       Flavour_Vector m_dipoleFl;
0034       Vec4D m_photonSum, m_photonSumPreBoost, m_r1, m_r2, m_QFrame, m_Q, m_px;
0035       YFS::Dipole *p_dipole;
0036       void GeneratePhotonMomentum();
0037       void GenerateAngles();
0038       void DefineGammas();
0039       double CalculateBeta(const Vec4D& p);
0040       void CalculateBetaBar();
0041       bool MakeFSR();
0042       void Reset();
0043       void NPhotons();
0044       double Btild(Vec4D p1,Vec4D p2, double kmax);
0045       double chi(double eta, double y1, double y2, double y3, double y4);
0046       double Zij(double eta, double y1, double y2);
0047       double LI(double x);
0048       double YEta(double eta,double y1, double y2, double y3, double y4);
0049       double BVR_A(Vec4D p1, Vec4D p2);
0050       double Eikonal(const Vec4D &k);
0051       double EikonalInterferance(const Vec4D &k);
0052       inline double GetWeight() {return m_fsrWeight;}
0053       inline double GetSQ() {return m_sQ;}
0054       inline Vec4D GetPhotonSum() {return m_photonSum; }
0055       inline Vec4D_Vector GetPhotons() {return m_photons; }
0056       inline void SetNPhoton(int N) {m_n = N;}
0057       inline void SetPhotons(Vec4D k) {m_photonSum = k;}
0058       inline void SetDipole(Vec4D_Vector dip) {m_dipole = dip;}
0059       inline void SetV(double v) {m_v = v;}
0060       inline Vec4D_Vector GetDipole() {return m_dipole;}
0061     YFS::YFS_Form_Factor *p_isrFormFact, *p_fsrFormFact;
0062       void HidePhotons();
0063       void HidePhotons(Vec4D_Vector &k);
0064       // void MakePair(double cms, Vec4D &p1, Vec4D &p2, double mass1, double mass2);
0065       void MakePair(double cms, Vec4D &p1, Vec4D &p2);
0066       void MakePair(double cms, Vec4D &p1, Vec4D &p2, double mass1, double mass2,
0067                     double &eta1, double &eta2);
0068       void BoostDipole(Vec4D_Vector &dip);
0069       void Weight();
0070       bool F();
0071       bool Initialize(Dipole &dipole);
0072       void BoostToXFM();
0073       void RejectEvent();
0074       void RotateDipole();
0075       bool YFS_FORM();
0076       void RescalePhotons();
0077       // PHOTONS::YFS_Form_Factor *p_yfsformfactor;
0078   };
0079 
0080 }
0081 
0082 #endif