Changeset View
Changeset View
Standalone View
Standalone View
EvtGenBase/EvtDalitzReso.hh
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | enum CouplingType | ||||
KzKz, | KzKz, | ||||
KK, | KK, | ||||
EtaPic, | EtaPic, | ||||
EtaPiz, | EtaPiz, | ||||
PicPicKK, | PicPicKK, | ||||
WA76 | WA76 | ||||
}; | }; | ||||
EvtDalitzReso() : _typeN( NON_RES ){}; | EvtDalitzReso() : m_typeN( NON_RES ){}; | ||||
EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, | EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, | ||||
NumType typeN, double alpha = 0.0 ) : | NumType typeN, double alpha = 0.0 ) : | ||||
_dp( dp ), _pairRes( pairRes ), _typeN( typeN ), _alpha( alpha ){}; | m_dp( dp ), m_pairRes( pairRes ), m_typeN( typeN ), m_alpha( alpha ){}; | ||||
EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, | EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, | ||||
EvtCyclic3::Pair pairRes, EvtSpinType::spintype spin, | EvtCyclic3::Pair pairRes, EvtSpinType::spintype spin, | ||||
double m0, double g0, NumType typeN, double f_b = 0.0, | double m0, double g0, NumType typeN, double f_b = 0.0, | ||||
double f_d = 1.5 ); | double f_d = 1.5 ); | ||||
EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, | EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, | ||||
EvtCyclic3::Pair pairRes, EvtSpinType::spintype spin, | EvtCyclic3::Pair pairRes, EvtSpinType::spintype spin, | ||||
Show All 18 Lines | public: | ||||
//Flatte | //Flatte | ||||
EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, double m0 ); | EvtDalitzReso( const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, double m0 ); | ||||
EvtDalitzReso* clone() const { return new EvtDalitzReso( *this ); } | EvtDalitzReso* clone() const { return new EvtDalitzReso( *this ); } | ||||
EvtComplex evaluate( const EvtDalitzPoint& p ); | EvtComplex evaluate( const EvtDalitzPoint& p ); | ||||
void set_fd( double R ) { _vd.set_f( R ); } | void set_fd( double R ) { m_vd.set_f( R ); } | ||||
void set_fb( double R ) { _vb.set_f( R ); } | void set_fb( double R ) { m_vb.set_f( R ); } | ||||
void addFlatteParam( const EvtFlatteParam& param ) | void addFlatteParam( const EvtFlatteParam& param ) | ||||
{ | { | ||||
_flatteParams.push_back( param ); | m_flatteParams.push_back( param ); | ||||
} | } | ||||
private: | private: | ||||
EvtComplex psFactor( double& ma, double& mb, double& m ); | EvtComplex psFactor( double& ma, double& mb, double& m ); | ||||
EvtComplex psFactor( double& ma1, double& mb1, double& ma2, double& mb2, | EvtComplex psFactor( double& ma1, double& mb1, double& ma2, double& mb2, | ||||
double& m ); | double& m ); | ||||
EvtComplex propGauss( const double& m0, const double& s0, const double& m ); | EvtComplex propGauss( const double& m0, const double& s0, const double& m ); | ||||
EvtComplex propBreitWigner( const double& m0, const double& g0, | EvtComplex propBreitWigner( const double& m0, const double& g0, | ||||
Show All 23 Lines | private: | ||||
inline EvtComplex sqrtCplx( double in ) | inline EvtComplex sqrtCplx( double in ) | ||||
{ | { | ||||
return ( in > 0 ) ? EvtComplex( sqrt( in ), 0 ) | return ( in > 0 ) ? EvtComplex( sqrt( in ), 0 ) | ||||
: EvtComplex( 0, sqrt( -in ) ); | : EvtComplex( 0, sqrt( -in ) ); | ||||
} | } | ||||
// Dalitz plot | // Dalitz plot | ||||
EvtDalitzPlot _dp; | EvtDalitzPlot m_dp; | ||||
// Pairing indices: | // Pairing indices: | ||||
EvtCyclic3::Pair _pairAng; // angular | EvtCyclic3::Pair m_pairAng; // angular | ||||
EvtCyclic3::Pair _pairRes; // resonance | EvtCyclic3::Pair m_pairRes; // resonance | ||||
// Spin | // Spin | ||||
EvtSpinType::spintype _spin; | EvtSpinType::spintype m_spin; | ||||
// Numerator type | // Numerator type | ||||
NumType _typeN; | NumType m_typeN; | ||||
// Nominal mass and width | // Nominal mass and width | ||||
double _m0, _g0; | double m_m0, m_g0; | ||||
// Vertices | // Vertices | ||||
EvtTwoBodyVertex _vb; | EvtTwoBodyVertex m_vb; | ||||
EvtTwoBodyVertex _vd; | EvtTwoBodyVertex m_vd; | ||||
// Daughter masses | // Daughter masses | ||||
double _massFirst, _massSecond; | double m_massFirst, m_massSecond; | ||||
// variables for electromagnetic mass mixing | // variables for electromagnetic mass mixing | ||||
double _m0_mix, _g0_mix, _delta_mix; | double m_m0_mix, m_g0_mix, m_delta_mix; | ||||
EvtComplex _amp_mix; | EvtComplex m_amp_mix; | ||||
// variables for coupled Breit-Wigner | // variables for coupled Breit-Wigner | ||||
double _g1, _g2; | double m_g1, m_g2; | ||||
CouplingType _coupling2; | CouplingType m_coupling2; | ||||
// variables for Blatt-Weisskopf form factors | // variables for Blatt-Weisskopf form factors | ||||
double _f_b, _f_d; | double m_f_b, m_f_d; | ||||
// K-matrix | // K-matrix | ||||
int _kmatrix_index; | int m_kmatrix_index; | ||||
EvtComplex _fr12prod, _fr13prod, _fr14prod, _fr15prod; | EvtComplex m_fr12prod, m_fr13prod, m_fr14prod, m_fr15prod; | ||||
double _s0prod; | double m_s0prod; | ||||
// LASS | // LASS | ||||
double _a; | double m_a; | ||||
double _r; | double m_r; | ||||
double _Blass; | double m_Blass; | ||||
double _phiB; | double m_phiB; | ||||
double _R; | double m_R; | ||||
double _phiR; | double m_phiR; | ||||
double _cutoff; | double m_cutoff; | ||||
bool _scaleByMOverQ; | bool m_scaleByMOverQ; | ||||
//Nonresonant | //Nonresonant | ||||
double _alpha; | double m_alpha; | ||||
// Flatte | // Flatte | ||||
std::vector<EvtFlatteParam> _flatteParams; | std::vector<EvtFlatteParam> m_flatteParams; | ||||
}; | }; | ||||
#endif | #endif |