BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtVVS.cc
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: VVS.hh
12//
13// Description: To define the helicity for vector(s=+1,-1)->vector(s=-1,0,1)+Pseudoscalar
14//
15// Modification history:
16//
17// Ping R.-G. Apr., 2006 Module created
18//
19//------------------------------------------------------------------------
20//
22#include <math.h>
23#include <stdlib.h>
25#include "EvtGenBase/EvtKine.hh"
26
32#include <string>
33using namespace std;
34
35
36 double VVS::R00(double r){
37 return r;
38 }
39
40 double VVS::Fij(int i, int j, double r){
41 double mpsi=(_pd[0]+_pd[1]+_pd[2]).mass();
42 double temp=mpsi*r;
43 if(i==0&& j==0) return 0;
44 if(i==1&& j==0) return temp;
45 if(i==-1&& j==0) return -temp;
46
47 }
48
49 EvtComplex VVS::amps1(int m, int i, int j){
50 double mrho=_res[0];
51 double wrho=_res[1];
52 double s;
53 EvtComplex img(0.0,1.0),dpro;
54 EvtVector4R prho;
55 prho=_pd[i]+_pd[j];
56 s=prho.mass2();
57 dpro=s-mrho*mrho+img*sqrt(s)*wrho;
58 EvtHelSys angles(prho,_pd[i]),labAngles;
59 double theta,phi,ct1,st1,phi1,st,ct;
60 double rpp=angles.getHelAng(0);
61 theta=angles.getHelAng(1);
62 phi =angles.getHelAng(2);
63 ct1 =labAngles.Angles(prho,1);
64 phi1=labAngles.Angles(prho,2);
65 int lamb;
66 EvtComplex temp(0.0,0.0);
67 for(lamb=-1;lamb<=1;lamb++) temp=temp+Fij(lamb,0,prho.d3mag())*Djmn(1,m,lamb,phi1,ct1,0.0)/dpro*R00(rpp)*Djmn(1,lamb,0,phi,theta,0.0);
68 return temp;
69 }
70
71 double VVS::amps(){
72 double r1=_par[0];
73 double phase1=_par[1];
74 double r2=_par[2];
75 double phase2=_par[3];
76 double temp=0.0;
77 int m;
78 for(m=-1;m<=1;m+=2) temp=temp+pow(abs(r1*exp(EvtComplex(0,phase1))*amps1(m,0,1)+r2*exp(EvtComplex(0,phase2))*amps1(m,0,2)+amps1(m,1,2)),2.);
79 return temp;
80 }
double mass
EvtComplex exp(const EvtComplex &c)
Definition: EvtComplex.hh:252
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition: EvtHelSys.cc:151
XmlRpcServer s
Definition: HelloServer.cpp:11
double getHelAng(int i)
Definition: EvtHelSys.cc:54
double Angles(EvtVector4R, int)
Definition: EvtHelSys.cc:108
double d3mag() const
Definition: EvtVector4R.cc:186
double mass2() const
Definition: EvtVector4R.hh:116
double R00(double r)
Definition: EvtVVS.cc:36
EvtComplex amps1(int m, int i, int j)
Definition: EvtVVS.cc:49
double Fij(int i, int j, double r)
Definition: EvtVVS.cc:40
double amps()
Definition: EvtVVS.cc:71