Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AHADIC_Formation_Trivial_Splitter_H
0002 #define AHADIC_Formation_Trivial_Splitter_H
0003 
0004 #include "AHADIC++/Tools/Singlet_Tools.H"
0005 #include "AHADIC++/Tools/Flavour_Selector.H"
0006 #include "AHADIC++/Tools/KT_Selector.H"
0007 #include "AHADIC++/Tools/Z_Selector.H"
0008 #include "AHADIC++/Tools/Constituents.H"
0009 #include "AHADIC++/Tools/Proto_Particle.H"
0010 #include "ATOOLS/Math/Poincare.H"
0011 #include <list>
0012 
0013 namespace AHADIC {
0014   class Trivial_Splitter {
0015   private:
0016     Constituents         * p_constituents;
0017     Flavour_Selector       m_flavourselector;
0018     KT_Selector            m_ktselector;
0019     Z_Selector             m_zselector;
0020     
0021     double m_kt2max, m_minmass;
0022 
0023     std::list<Proto_Particle *> * p_singlet;
0024     Proto_Particle * p_part1, * p_part2;
0025     ATOOLS::Vec4D    m_spectmom;
0026     double           m_Q2, m_E;
0027     ATOOLS::Poincare m_boost, m_rotat;
0028 
0029     ATOOLS::Flavour m_newflav;
0030     double          m_popped_mass, m_popped_mass2;
0031     double          m_ktmax, m_kt, m_kt2, m_phi, m_beta, m_z;
0032     ATOOLS::Vec4D   m_ktvec, m_q1mom, m_q2mom, m_glumom;
0033     
0034 
0035     bool InitKinematics(bool rescue=false);
0036     void SelectFlavour();
0037     bool FixTrialKinematics();
0038     void FixTransverseMomentum(bool rescue=false);
0039     bool FixBetaAndZ();
0040     bool ConstructMomenta();
0041     bool CheckKinematics();
0042 
0043     bool Rescue();
0044     void ConstructRescueMomenta();
0045  public:
0046     Trivial_Splitter();
0047     ~Trivial_Splitter() {}  
0048     void Init();
0049     
0050     bool operator()(Singlet * singlet);
0051     bool operator()(Proto_Particle * part1, Proto_Particle * part2);
0052 
0053     double WeightFunction(const double & z) { return 1.; }
0054     inline const double & MinMass() const { return m_minmass; }
0055   };
0056 }
0057 
0058 #endif