22#include "MdcRecoUtil/DifFourVector.h"
29 :
E( sqrt( m * m + p * p ) ),
P( p ) {}
31 :
E( sqrt( m * m + p * p ) ),
P( p ) {}
36 HepSymMatrix temp( 4 );
52 HepMatrix temp( 4, npar );
53 for (
int i = 1; i <= npar; i++ )
55 temp( 1, i ) =
E.derivative( i );
56 temp( 2, i ) =
P.x.derivative( i );
57 temp( 3, i ) =
P.y.derivative( i );
58 temp( 4, i ) =
P.z.derivative( i );
69 if ( y.
length() < 0.01 ) y = xHat - z * ( xHat * z );
84 P = px * x + py * y + pzP * z;
96 if ( y.
lengthSq() < 0.0001 ) y = xHat - z * ( xHat * z );
103 for (
int i = 0; i < (int)list.size(); i++ )
111 DifNumber pzP = gamma * ( pz - beta * e );
112 DifNumber eP = gamma * ( e - beta * pz );
115 p4i.
P = px * x + py * y + pzP * z;
126 if ( y.
lengthSq() < 0.0001 ) y = xHat - z * ( xHat * z );
133 for (
int i = 0; i < (int)list.size(); i++ )
141 DifNumber pzP = gamma * ( pz + beta * e );
142 DifNumber eP = gamma * ( e + beta * pz );
145 p4i.
P = px * x + py * y + pzP * z;
155 if ( y.
length() < 0.01 ) y = xHat - z * ( xHat * z );
170 P = px * x + py * y + pzP * z;
176 cout <<
"SKIP of DifFourVector::print()" << endl;
double correlation(const DifNumber &a, const DifNumber &b)
EvtVector3R cross(const EvtVector3R &p1, const EvtVector3R &p2)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
void boostFromMe(std::vector< DifFourVector * > &listToBoost) const
HepMatrix jacobian() const
void boostFrom(const DifFourVector &)
void boostTo(const DifFourVector &)
void boostToMe(std::vector< DifFourVector * > &listToBoost) const
HepSymMatrix errorMatrix(const HepSymMatrix &e) const
DifVector direction() const
DifNumber lengthSq() const