23 RecEmcFractionMap::const_iterator it;
24 for(it=fracMap.begin();
28 etot+=it->second.getEnergy()*it->second.getFraction();
29 sum+=it->second.getEnergy()*it->second.getFraction()*pos.distance2(center);
42 if(fracMap.size()<2) {
47 vector<RecEmcFraction> aFractionVec;
48 RecEmcFractionMap::const_iterator it;
49 for(it=fracMap.begin();
52 aFractionVec.push_back(it->second);
56 partial_sort(aFractionVec.begin(),
57 aFractionVec.begin()+2,
59 greater<RecEmcFraction>());
62 vector<RecEmcFraction>::iterator iVec;
66 for(iVec=aFractionVec.begin();
67 iVec!=aFractionVec.end();
71 double r=pos.mag()*
sin(aShower.
position().angle(pos));
73 double energy=(*iVec).getEnergy()*(*iVec).getFraction();
75 denominator+=5.2*5.2*
energy;
82 if(denominator>0) lat=numerator/denominator;
93 RecEmcFractionMap::const_iterator it;
94 for(it=fracMap.begin();
97 double energy=it->second.getEnergy()*it->second.getFraction();
101 r=r-r.dot(r0)*r0/(r0.mag()*r0.mag());
103 a20+=(
energy/aShower.
e5x5())*(2*pow(r.mag()/R0,2.)-1);
111 complex<double> a42(0.,0.);
112 const double R0=15.6;
115 RecEmcFractionMap::const_iterator it;
116 for(it=fracMap.begin();
119 double energy=it->second.getEnergy()*it->second.getFraction();
123 r=r-r.dot(r0)*r0/(r0.mag()*r0.mag());
125 complex<double> a(0.,2.*r.phi());
127 a42+=(
energy/aShower.
e5x5())*(4.*pow(r.mag()/R0,4.)-3.*pow(r.mag()/R0,2.))*
exp(a);
double sin(const BesAngle a)
EvtComplex exp(const EvtComplex &c)
double abs(const EvtComplex &c)
************Class m_ypar INTEGER m_KeyWgt INTEGER m_nphot INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
map< RecEmcID, RecEmcFraction, less< RecEmcID > > RecEmcFractionMap
HepPoint3D position() const
void setSecondMoment(double secondMoment)
void setA20Moment(double a20Moment)
void setA42Moment(double a42Moment)
void setLatMoment(double latMoment)
void SecondMoment(RecEmcShower &aShower) const
void CalculateMoment(RecEmcShower &aShower) const
void LatMoment(RecEmcShower &aShower) const
void A20Moment(RecEmcShower &aShower) const
void A42Moment(RecEmcShower &aShower) const
RecEmcFractionMap getFractionMap5x5() const