BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0Topipipi0.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang @IHEP
10//
11// Module: EvtD0Topipipi0.cc
12//
13// Description: Model provided by user, see the mannual
14//
15// Modification history:
16//
17// Liaoyuan Dong Aug. 8, 2022 Module created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTD0TOPIPIPI0_HH
22#define EVTD0TOPIPIPI0_HH
23
25#include <complex>
26#include <vector>
27
28class EvtParticle;
29
31
32public:
34 virtual ~EvtD0Topipipi0();
35
36 void getName( std::string& name );
38
39 void init();
40 void initProbMax();
41 void decay( EvtParticle* p );
42
43private:
44 double AmplitudeSquare( int charm, int tagmode );
45
46 EvtVector4R GetDaugMomLab( int i ) { return _p4Lab[i]; }
47 EvtVector4R GetDaugMomCM( int i ) { return _p4CM[i]; }
48 EvtVector4R GetDaugMomHel( int i ) { return _p4Hel[i]; }
49
50 EvtVector4R _p4Lab[10], _p4CM[10], _p4Hel[10];
51 int _nd;
52 int charm;
53 int tagmode;
54
55 void setInput( double* pip, double* pim, double* pi0 );
56 int CalAmp();
57
58 complex<double> Get_AmpD0() { return m_AmpD0; }
59 complex<double> Get_AmpDb() { return m_AmpDb; }
60
61 double Get_strongPhase();
62 complex<double> Amp( vector<double> Pip, vector<double> Pim, vector<double> Pi0 );
63 double arg( complex<double> x );
64 double mag2( complex<double> x );
65 double mag2_itf( complex<double> x, complex<double> y );
66
67 complex<double> CalD0Amp();
68 complex<double> CalDbAmp();
69
70 vector<double> sum_tensor( vector<double> pa, vector<double> pb );
71 double contract_11_0( vector<double> pa, vector<double> pb );
72 double contract_22_0( vector<double> pa, vector<double> pb );
73 vector<double> contract_21_1( vector<double> pa, vector<double> pb );
74 vector<double> contract_22_2( vector<double> pa, vector<double> pb );
75 vector<double> contract_31_2( vector<double> pa, vector<double> pb );
76 vector<double> contract_41_3( vector<double> pa, vector<double> pb );
77 vector<double> contract_42_2( vector<double> pa, vector<double> pb );
78
79 vector<double> OrbitalTensors( vector<double> pa, vector<double> pb, vector<double> pc,
80 double r, int rank );
81 vector<double> ProjectionTensors( vector<double> pa, int rank );
82
83 double fundecaymomentum( double mr2, double m1_2, double m2_2 );
84 double fundecaymomentum2( double mr2, double m1_2, double m2_2 );
85 complex<double> breitwigner( double mx2, double mr, double wr );
86 double h( double m, double q );
87 double dh( double m0, double q0 );
88 double f( double m0, double sx, double q0, double q );
89 double d( double m0, double q0 );
90 double wid( double mass, double sa, double sb, double sc, double r, int l );
91
92 complex<double> GS( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
93 int l );
94 complex<double> irho( double mr2, double m1_2, double m2_2 );
95 complex<double> Flatte( double mx2, double mr, double g1, double g2, double m1a, double m1b,
96 double m2a, double m2b );
97 complex<double> RBW( double mx2, double mr, double wr, double m1_2, double m2_2, double r,
98 int l );
99 double rho22( double sc );
100 complex<double> rhoMTX( int i, int j, double s );
101 complex<double> KMTX( int i, int j, double s );
102 complex<double> IMTX( int i, int j );
103 complex<double> FMTX( double Kijx, double Kijy, double rhojjx, double rhojjy, int i, int j );
104 double FINVMTX( double s, double* FINVx, double* FINVy );
105 complex<double> PVTR( int ID, double s );
106 complex<double> Fvector( double sa, double s0, int l );
107
108 vector<double> p4_Pip;
109 vector<double> p4_Pim;
110 vector<double> p4_Pi0;
111
112 vector<double> g_uv;
113 vector<double> epsilon_uvmn;
114 vector<complex<double>> fitpara;
115
116 double math_pi;
117 double mass_Pion;
118
119 double rRes;
120 double rD;
121 double m_Pi;
122 double m2_Pi;
123 double m_Pi0;
124 double m2_Pi0;
125
126 double m0_rho7700;
127 double w0_rho7700;
128
129 double m0_rho770p;
130 double w0_rho770p;
131
132 double m0_f21270;
133 double w0_f21270;
134
135 double s0_prod;
136
137 complex<double> m_AmpD0;
138 complex<double> m_AmpDb;
139 complex<double> m_RAmp;
140
141 double delta;
142};
143
144#endif
double mass
TF1 * g1
Double_t x[10]
XmlRpcServer s
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition KKsem.h:33
void getName(std::string &name)
EvtDecayBase * clone()
virtual ~EvtD0Topipipi0()
void decay(EvtParticle *p)