67 <<_nA<<
","<<_nB<<
","<<_nC<<endl;
77 <<_JA2<<
","<<_JB2<<
","<<_JC2<<endl;
82 int* _lambdaA2=
new int[_nA];
83 int* _lambdaB2=
new int[_nB];
84 int* _lambdaC2=
new int[_nC];
88 for(ib=0;ib<_nB;ib++){
96 fillHelicity(_lambdaA2,_nA,_JA2);
97 fillHelicity(_lambdaB2,_nB,_JB2);
98 fillHelicity(_lambdaC2,_nC,_JC2);
101 report(
INFO,
"EvtGen")<<
"Helicity states of particle A:"<<endl;
106 report(
INFO,
"EvtGen")<<
"Helicity states of particle B:"<<endl;
111 report(
INFO,
"EvtGen")<<
"Helicity states of particle C:"<<endl;
116 report(
INFO,
"EvtGen")<<
"Will now figure out the valid (M_LS) states:"<<endl;
120 int Lmin=std::max(_JA2-_JB2-_JC2,std::max(_JB2-_JA2-_JC2,_JC2-_JA2-_JB2));
123 int Lmax=_JA2+_JB2+_JC2;
127 int _nPartialWaveAmp=0;
132 for (L=Lmin;L<=Lmax;L+=2){
133 int Smin=
abs(L-_JA2);
134 if (Smin<
abs(_JB2-_JC2)) Smin=
abs(_JB2-_JC2);
136 if (Smax>
abs(_JB2+_JC2)) Smax=
abs(_JB2+_JC2);
138 for (S=Smin;S<=Smax;S+=2){
139 _nL[_nPartialWaveAmp]=L;
140 _nS[_nPartialWaveAmp]=S;
144 report(
INFO,
"EvtGen")<<
"M["<<L<<
"]["<<S<<
"]"<<endl;
155 for(i=0;i<_nPartialWaveAmp;i++){
159 report(
INFO,
"EvtGen")<<
"M["<<_nL[i]<<
"]["<<_nS[i]<<
"]="<<_M[i]<<endl;
167 for(ib=0;ib<_nB;ib++){
168 for(ic=0;ic<_nC;ic++){
170 if (
abs(_lambdaB2[ib]-_lambdaC2[ic])<=_JA2){
171 for(i=0;i<_nPartialWaveAmp;i++){
174 int lambda2=_lambdaB2[ib];
175 int lambda3=_lambdaC2[ic];
179 int m1=lambda2-lambda3;
184 report(
INFO,
"EvtGen") <<
"s2,lambda2:"<<s2<<
" "<<lambda2<<endl;
187 double fkwTmp = (L+1.0)/(s1+1.0);
192 *c1.
coef(S,
m1,s2,s3,lambda2,-lambda3)
199 report(
INFO,
"EvtGen")<<
"_HBC["<<ib<<
"]["<<ic<<
"]="<<_HBC[ib][ic]<<endl;
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)