1336 {
1337
1338 if ( fitpara.size() != 14 )
1339 {
1340 cout << "Error!!! number of para: " << fitpara.size() << endl;
1341 exit( 0 );
1342 }
1343
1344 vector<double> PipPim;
1345 PipPim.clear();
1346 vector<double> PipPi0;
1347 PipPi0.clear();
1348 vector<double> PimPi0;
1349 PimPi0.clear();
1350
1351 PipPim = sum_tensor( Pip, Pim );
1352 PipPi0 = sum_tensor( Pip, Pi0 );
1353 PimPi0 = sum_tensor( Pim, Pi0 );
1354
1355 vector<double> D0;
1356 D0.clear();
1357 D0 = sum_tensor( PipPim, Pi0 );
1358
1359 double M2_PipPim = contract_11_0( PipPim, PipPim );
1360 double M2_PipPi0 = contract_11_0( PipPi0, PipPi0 );
1361 double M2_PimPi0 = contract_11_0( PimPi0, PimPi0 );
1362
1363 double M2_D0 = contract_11_0( D0, D0 );
1364
1365 complex<double> GS_rho770_z = GS( M2_PipPim, m0_rho7700, w0_rho7700, m2_Pi, m2_Pi, rRes, 1 );
1366 complex<double> GS_rho770_p =
1367 GS( M2_PipPi0, m0_rho770p, w0_rho770p, m2_Pi, m2_Pi0, rRes, 1 );
1368 complex<double> GS_rho770_m =
1369 GS( M2_PimPi0, m0_rho770p, w0_rho770p, m2_Pi, m2_Pi0, rRes, 1 );
1370
1371 complex<double> PiPiS_pm_0 = Fvector( M2_PipPim, s0_prod, 0 );
1372 complex<double> PiPiS_pm_1 = Fvector( M2_PipPim, s0_prod, 1 );
1373 complex<double> PiPiS_pm_2 = Fvector( M2_PipPim, s0_prod, 2 );
1374 complex<double> PiPiS_pm_3 = Fvector( M2_PipPim, s0_prod, 3 );
1375 complex<double> PiPiS_pm_4 = Fvector( M2_PipPim, s0_prod, 4 );
1376 complex<double> PiPiS_pm_5 = Fvector( M2_PipPim, s0_prod, 5 );
1377 complex<double> PiPiS_pm_6 = Fvector( M2_PipPim, s0_prod, 6 );
1378 complex<double> PiPiS_pm_7 = Fvector( M2_PipPim, s0_prod, 7 );
1379 complex<double> PiPiS_pm_8 = Fvector( M2_PipPim, s0_prod, 8 );
1380 complex<double> PiPiS_pm_9 = Fvector( M2_PipPim, s0_prod, 9 );
1381
1382 complex<double> RBW_f21270 = RBW( M2_PipPim, m0_f21270, w0_f21270, m2_Pi, m2_Pi, rRes, 2 );
1383
1384
1385 vector<double> T1_PipPim;
1386 T1_PipPim.clear();
1387 vector<double> T1_PipPi0;
1388 T1_PipPi0.clear();
1389 vector<double> T1_PimPi0;
1390 T1_PimPi0.clear();
1391
1392 T1_PipPim = OrbitalTensors( PipPim, Pip, Pim, rRes, 1 );
1393 T1_PipPi0 = OrbitalTensors( PipPi0, Pip, Pi0, rRes, 1 );
1394 T1_PimPi0 = OrbitalTensors( PimPi0, Pim, Pi0, rRes, 1 );
1395
1396 vector<double> T2_PipPim;
1397 T2_PipPim.clear();
1398
1399 T2_PipPim = OrbitalTensors( PipPim, Pip, Pim, rRes, 2 );
1400
1401
1402 vector<double> T1_PipPimPi0;
1403 T1_PipPimPi0.clear();
1404 vector<double> T1_PipPi0Pim;
1405 T1_PipPi0Pim.clear();
1406 vector<double> T1_PimPi0Pip;
1407 T1_PimPi0Pip.clear();
1408
1409 T1_PipPimPi0 = OrbitalTensors( D0, PipPim, Pi0, rD, 1 );
1410 T1_PipPi0Pim = OrbitalTensors( D0, PipPi0, Pim, rD, 1 );
1411 T1_PimPi0Pip = OrbitalTensors( D0, PimPi0, Pip, rD, 1 );
1412
1413 vector<double> T2_PipPimPi0;
1414 T2_PipPimPi0.clear();
1415
1416 T2_PipPimPi0 = OrbitalTensors( D0, PipPim, Pi0, rD, 2 );
1417
1418 complex<double> amplitude( 0, 0 );
1419
1420
1421 double SF_VpPm = contract_11_0( T1_PipPi0Pim, T1_PipPi0 );
1422 amplitude += fitpara[0] * ( SF_VpPm * GS_rho770_p );
1423
1424 double SF_VmPp = contract_11_0( T1_PimPi0Pip, T1_PimPi0 );
1425 amplitude += fitpara[1] * ( SF_VmPp * GS_rho770_m );
1426
1427 double SF_VzPz = contract_11_0( T1_PipPimPi0, T1_PipPim );
1428 amplitude += fitpara[2] * ( SF_VzPz * GS_rho770_z );
1429
1430
1431 amplitude += fitpara[3] * ( PiPiS_pm_0 );
1432 amplitude += fitpara[4] * ( PiPiS_pm_1 );
1433 amplitude += fitpara[5] * ( PiPiS_pm_2 );
1434 amplitude += fitpara[6] * ( PiPiS_pm_3 );
1435 amplitude += fitpara[7] * ( PiPiS_pm_4 );
1436 amplitude += fitpara[8] * ( PiPiS_pm_5 );
1437 amplitude += fitpara[9] * ( PiPiS_pm_6 );
1438 amplitude += fitpara[10] * ( PiPiS_pm_7 );
1439 amplitude += fitpara[11] * ( PiPiS_pm_8 );
1440 amplitude += fitpara[12] * ( PiPiS_pm_9 );
1441
1442
1443 double SF_TzPz = contract_22_0( T2_PipPimPi0, T2_PipPim );
1444 amplitude += fitpara[13] * ( SF_TzPz * RBW_f21270 );
1445
1446 return amplitude;
1447}