8 fnChrg(0), fnNeut(0), fN(0), fpmaxlab(0.), fpmaxcms(0.), fptmax(0.),
9 fptsumlab(0.),fneutetsumlab(0.),fneutesumlab(0.),fchrgptsumlab(0.),fchrgpsumlab(0.),
10 fptsumcms(0.),fneutetsumcms(0.),fneutesumcms(0.),fchrgptsumcms(0.),fchrgpsumcms(0.),
11 fsph(-1.), fapl(-1.), fpla(-1.), fFWready(false), fthr(-1.)
21 double pmax=0., ptmax=0., pmaxcms=0.;
29 TLorentzVector lv(cand->
P4());
57 if (lv.P()>pmax) pmax=lv.P();
58 if (lv.Pt()>ptmax) ptmax=lv.Pt();
78 if (lv.P()>pmaxcms) pmaxcms=lv.P();
92 double stot=0, sxx=0, sxy=0, sxz=0, syy=0, syz=0, szz=0;
99 sxx += v.X()*v.X(); sxy += v.X()*v.Y(); sxz += v.X()*v.Z();
100 syy += v.Y()*v.Y(); syz += v.Y()*v.Z();
107 sm(0,0) = sxx/stot; sm(0,1) = sxy/stot; sm(0,2) = sxz/stot;
108 sm(1,0) = sxy/stot; sm(1,1) = syy/stot; sm(1,2) = syz/stot;
109 sm(2,0) = sxz/stot; sm(2,1) = syz/stot; sm(2,2) = szz/stot;
111 TMatrixDEigen ei(sm);
114 fsph = 1.5 * (eiv(1,1) + eiv(2,2));
115 fapl = 1.5 * eiv(2,2);
116 fpla = eiv(1,1) - eiv(2,2);
161 if(
fN==0 )
return -1.;
176 TVector3 nnew(0,0,0);
214 if (
fabs(x)>1.)
return -999.;
223 for(
int ll=2; ll<=l; ll++)
225 double pll = (x * (2 * ll - 1) * pmmp1 - (ll - 1) * pmm) / (ll);
237 if (order>
FWMAX)
return -1.;
242 if(
fN==0 )
return -1.;
247 for (i=0; i<
fN-1; ++
i)
251 double pmag1 = p1.Mag();
255 for (j=i+1; j<
fN; ++j)
259 double pmag2 = p2.Mag();
262 double cosPhi =
cos ( p1.Angle(p2) );
266 for( l=0; l<=
FWMAX; l++ )
271 for( l=0; l<=
FWMAX; l++ )
279 if( s<=0. )
return -1.;
303 for (
int i=0;
i<
fN;++
i)
314 for (
int i=0;
i<
fN;++
i)
325 for (
int i=0;
i<
fN;++
i)
336 for (
int i=0;
i<
fN;++
i)
friend F32vec4 cos(const F32vec4 &a)
int MultPminLab(double pmin)
std::vector< TLorentzVector > fCmsList
! List of 4-vectors in cms frame
RhoEventShapes(RhoCandList &l, TLorentzVector cms)
double FoxWolfMomH(int order)
std::vector< int > fCharge
! List of charges of particles
TLorentzVector P4() const
friend F32vec4 fabs(const F32vec4 &a)
int MultPmaxCms(double pmax)
double Legendre(int l, double x)
int MultPmaxLab(double pmax)
double Eps(const TVector3 v1, const TVector3 v2)
std::vector< TLorentzVector > fLabList
! List of 4-vectors in lab frame
int MultPminCms(double pmin)
TMatrixT< double > TMatrixD
double FoxWolfMomR(int order)