File indexing completed on 2025-04-19 09:10:04
0001 #ifndef HADRONS_ME_Library_Three_Body_MEs_H
0002 #define HADRONS_ME_Library_Three_Body_MEs_H
0003
0004 #include "HADRONS++/ME_Library/HD_ME_Base.H"
0005
0006 namespace HADRONS {
0007
0008 class B_Bpi_pwave : public HD_ME_Base {
0009 Complex m_cL, m_cR;
0010 public:
0011 B_Bpi_pwave(const ATOOLS::Flavour_Vector& flavs,
0012 const std::vector<int>& decayindices,
0013 const std::string& name):
0014 HD_ME_Base(flavs,decayindices,name) {};
0015 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0016 void SetModelParameters( GeneralModel _md );
0017 };
0018
0019 class B3_Bpi_pwave : public HD_ME_Base {
0020 Complex m_cL, m_cR;
0021 public:
0022 B3_Bpi_pwave(const ATOOLS::Flavour_Vector& flavs,
0023 const std::vector<int>& decayindices,
0024 const std::string& name):
0025 HD_ME_Base(flavs,decayindices,name) {};
0026 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0027 void SetModelParameters( GeneralModel _md );
0028 };
0029
0030 class B_Bpi_swave : public HD_ME_Base {
0031 Complex m_cL, m_cR;
0032 public:
0033 B_Bpi_swave(const ATOOLS::Flavour_Vector& flavs,
0034 const std::vector<int>& decayindices,
0035 const std::string& name):
0036 HD_ME_Base(flavs,decayindices,name) {};
0037 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0038 void SetModelParameters( GeneralModel _md );
0039 };
0040
0041 class B3_Bpi_dwave : public HD_ME_Base {
0042 Complex m_cL, m_cR;
0043 public:
0044 B3_Bpi_dwave(const ATOOLS::Flavour_Vector& flavs,
0045 const std::vector<int>& decayindices,
0046 const std::string& name):
0047 HD_ME_Base(flavs,decayindices,name) {};
0048 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0049 void SetModelParameters( GeneralModel _md );
0050 };
0051
0052 class B_Bphoton_M1 : public HD_ME_Base {
0053 double m_fac;
0054 public:
0055 B_Bphoton_M1(const ATOOLS::Flavour_Vector& flavs,
0056 const std::vector<int>& decayindices,
0057 const std::string& name):
0058 HD_ME_Base(flavs,decayindices,name) {};
0059 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0060 void SetModelParameters( GeneralModel _md );
0061 };
0062
0063 class B3_Bphoton_M1 : public HD_ME_Base {
0064 Complex m_cL, m_cR;
0065 public:
0066 B3_Bphoton_M1(const ATOOLS::Flavour_Vector& flavs,
0067 const std::vector<int>& decayindices,
0068 const std::string& name):
0069 HD_ME_Base(flavs,decayindices,name) {};
0070 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0071 void SetModelParameters( GeneralModel _md );
0072 };
0073
0074 class B3_Bphoton_M1_2 : public HD_ME_Base {
0075 Complex m_cL, m_cR;
0076 public:
0077 B3_Bphoton_M1_2(const ATOOLS::Flavour_Vector& flavs,
0078 const std::vector<int>& decayindices,
0079 const std::string& name):
0080 HD_ME_Base(flavs,decayindices,name) {};
0081 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0082 void SetModelParameters( GeneralModel _md );
0083 };
0084
0085 class B_Bphoton_E1 : public HD_ME_Base {
0086 Complex m_cL, m_cR;
0087 public:
0088 B_Bphoton_E1(const ATOOLS::Flavour_Vector& flavs,
0089 const std::vector<int>& decayindices,
0090 const std::string& name):
0091 HD_ME_Base(flavs,decayindices,name) {};
0092 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0093 void SetModelParameters( GeneralModel _md );
0094 };
0095
0096 class B3_Bphoton_E1 : public HD_ME_Base {
0097 Complex m_cL, m_cR;
0098 public:
0099 B3_Bphoton_E1(const ATOOLS::Flavour_Vector& flavs,
0100 const std::vector<int>& decayindices,
0101 const std::string& name):
0102 HD_ME_Base(flavs,decayindices,name) {};
0103 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0104 void SetModelParameters( GeneralModel _md );
0105 };
0106
0107 class QQ_QVQ_Spectator : public HD_ME_Base {
0108 ATOOLS::Flavour m_decayer;
0109 public:
0110 QQ_QVQ_Spectator(const ATOOLS::Flavour_Vector& flavs,
0111 const std::vector<int>& decayindices,
0112 const std::string& name);
0113 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0114 void SetModelParameters( GeneralModel _md );
0115 bool SetColorFlow(std::vector<ATOOLS::Particle*> outparts,
0116 int n_q, int n_g, bool anti);
0117 };
0118
0119 class QQ_PGG : public HD_ME_Base {
0120 double m_min_mass2;
0121 public:
0122 QQ_PGG(const ATOOLS::Flavour_Vector& flavs,
0123 const std::vector<int>& decayindices,
0124 const std::string& name):
0125 HD_ME_Base(flavs,decayindices,name) {};
0126 void Calculate(const ATOOLS::Vec4D_Vector& momenta, bool anti=false);
0127 void SetModelParameters( GeneralModel _md );
0128 };
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176 class P_3P_Dalitz : public HD_ME_Base {
0177
0178 double m_const,m_liny,m_linx,m_linyphase,m_linxphase,
0179 m_quady,m_quadx,m_quadyphase,m_quadxphase,
0180 m_phaseliny,m_phaselinx,m_phasequady,m_phasequadx;
0181 public:
0182 P_3P_Dalitz(const ATOOLS::Flavour_Vector& flavs,
0183 const std::vector<int>& decayindices,
0184 const std::string& name):
0185 HD_ME_Base(flavs,decayindices,name) {};
0186 double operator()(const ATOOLS::Vec4D *);
0187 void Calculate(const ATOOLS::Vec4D_Vector& p, bool m_anti);
0188 void SetModelParameters( GeneralModel _md );
0189 };
0190
0191 }
0192
0193
0194 #endif