77 {
79 {
80 cout << "The model have 6 parameters: |g00| phi00 |g22| phi22 |g42| phi42" << endl;
81 abort();
82 }
83
85
86
87
91 if ( p1str == "K_2*+" || p2str == "K_2*+" || p1str == "K_2*0" || p2str == "K_2*0" )
92 { flag = 2; }
93 else if ( p1str == "K_3*+" || p2str == "K_3*+" || p1str == "K_3*0" || p2str == "K_3*0" )
94 { flag = 3; }
95 else if ( p1str == "Zc+" || p2str == "pi-" || p1str == "Zc-" || p2str == "pi^+" )
96 { flag = 4; }
97 else if ( p0str == "Zc+" && ( p1str == "J/psi" || p2str == "J/psi" ) ) { flag = 5; }
98
102 double pi = 3.1415926;
106 double pmag =
phsp( mm0, mm1, mm2 );
107
113
115 double phi02 =
getArg( 1 ) * 2 *
pi;
117 double phi22 =
getArg( 3 ) * 2 *
pi;
118
119
120 EvtComplex G02( g02 *
cos( phi02 ), g02 *
sin( phi02 ) );
121 EvtComplex G22( g22 *
cos( phi22 ), g22 *
sin( phi22 ) );
122
123 std::vector<EvtComplex> VG;
124 VG.clear();
125 VG.push_back( G02 );
126 VG.push_back( G22 );
127 std::vector<double> VH2, VH1, VH0;
128 VH2.resize( nd / 2 );
129 VH1.resize( nd / 2 );
130 VH0.resize( nd / 2 );
131 if ( flag == 2 )
132 {
133 VH2[0] = sqrt( 2. / 5. ) * b1 * r;
134 VH2[1] = 1 / sqrt( 10. ) * r * r * r * b3;
135 VH1[0] = -1 / sqrt( 10. ) * b1 * r;
136 VH1[1] = r * r * r * b3 * sqrt( 2. / 5. );
137 }
138 else if ( flag == 3 )
139 {
140 VH2[0] = sqrt( 5. / 14. ) * b2 * r * r;
141 VH2[1] = 1 / sqrt( 7. ) * r * r * r * r * b4;
142 VH1[0] = sqrt( 1. / 7. ) * b2 * r * r;
143 VH1[1] = -sqrt( 5. / 14. ) * r * r * r * r * b4;
144 }
145 else if ( flag == 4 || flag == 5 )
146 {
147 VH2[0] = sqrt( 1. / 3. ) * b0;
148 VH2[1] = 1 / sqrt( 6. ) * r * r * b2;
149 VH1[0] = sqrt( 1. / 3. ) * b0;
150 VH1[1] = -2 / sqrt( 6. ) * r * r * b2;
151 }
152 else
153 {
154 std::cout << "Not allowed mode!" << std::endl;
155 abort();
156 }
157 EvtComplex H2 = G02 * VH2[0] + G22 * VH2[1];
158 EvtComplex H1 = G02 * VH1[0] + G22 * VH1[1];
159
162 std::vector<double> DH1, DH2;
165
166
167
168
169 for ( int i = 0; i < nd; i++ )
170 {
171 for ( int j = 0; j < nd; j++ )
172 {
173 _H2err += DH2[i] * DH2[j] * VC[i][j];
174 _H1err += DH1[i] * DH1[j] * VC[i][j];
175 }
176 }
177
179
180 return;
181}
double abs2(const EvtComplex &c)
double sin(const BesAngle a)
double cos(const BesAngle a)
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared dimensionless $ !dummy photon IR regulator $ !crude photon multiplicity enhancement factor *EVENT $ !MC crude volume of PhhSpace *Sfactors $ !YFS formfactor IR part only $ !YFS formfactor non IR finite part $ !mass weight
double getBlattRatio(int L, double R, double pmag, double pmag0)
double phsp(double m0, double m1, double m2)
std::vector< double > firstder(std::vector< double > vh)
static double getMeanMass(EvtId i)
static std::string name(EvtId i)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)