Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:48

0001 #ifndef AMISIC_Tools_Over_Estimator_H
0002 #define AMISIC_Tools_Over_Estimator_H
0003 
0004 #include "AMISIC++/Tools/Lookup_Tables.H"
0005 #include "PDF/Main/ISR_Handler.H"
0006 #include "MODEL/Main/Model_Base.H"
0007 #include "MODEL/Main/Running_AlphaS.H"
0008 #include <array>
0009 
0010 namespace AMISIC {
0011   class MI_Processes;
0012 
0013   class Over_Estimator {
0014   private:
0015     double m_muR_fac, m_muF_fac, m_pt02, m_ptmin2;
0016     std::array<double, 2> m_xmin;
0017     double m_s, m_pref, m_bfac, m_xsnd;
0018     size_t m_pt2bins;
0019 
0020     std::array<PDF::PDF_Base *, 2> p_pdf;
0021     MODEL::One_Running_AlphaS * p_alphaS;
0022     MI_Processes              * p_procs;
0023     OneDim_Table              * p_prefs;
0024 
0025     void   FixMaximum();
0026     double ApproxME(const double & pt2,const double & xt);
0027     double ExactME(const double & pt2,const double & xt);
0028   public:
0029     Over_Estimator();
0030     ~Over_Estimator();
0031 
0032     void   Initialize(MI_Processes * procs);
0033     void   UpdateS();
0034 
0035     double operator()(const double & pt2, const double & yvol);
0036     double TrialPT2(const double & Q2);
0037 
0038     inline void SetBFac(const double & bfac) { m_bfac = bfac; }
0039     inline void SetXSnd(const double & xsnd) { m_xsnd = xsnd; }
0040 
0041     void Test(const double & Q2,const long int & n);
0042   };
0043 }
0044 
0045 #endif