12 res(5) = state.
mass();
25 double positiveMomentumPhi = ((phi>0) ? phi : (2*
M_PI + phi));
26 double positionPhi = impactDistance.
phi();
27 double positivePositionPhi =
28 ( (positionPhi>0) ? positionPhi : (2*
M_PI+positionPhi) );
29 double phiDiff = positiveMomentumPhi - positivePositionPhi;
30 if (phiDiff<0.0) phiDiff+= (2*
M_PI);
31 double signEpsilon = ( (phiDiff >
M_PI) ? -1.0 : 1.0);
34 sqrt(impactDistance.
x()*impactDistance.
x() +
35 impactDistance.
y()*impactDistance.
y());
38 bool isCharged = (signTC!=0);
41 res(0) = field / pt*signTC;
49 res(4) = impactDistance.
z();
62 }
else{pt = 1/theVector(1);}
63 par(6) = theVector[5];
64 par(0) = theVector[3]*
sin(theVector[2])+point.
x();
65 par(1) = -theVector[3]*
cos(theVector[2])+point.
y();
66 par(2) = theVector[4]+point.
z();
67 par(3) =
cos(theVector[2]) *
pt;
68 par(4) =
sin(theVector[2]) *
pt;
69 par(5) = pt/
tan(theVector[1]);
81 referencePoint, charge, field);
82 AlgebraicSymMatrix77 kinematicErrorMatrix = ROOT::Math::Similarity(param2cart,theCovarianceMatrix);
88 par(0) = referencePoint.
x();
89 par(1) = referencePoint.
y();
90 par(2) = referencePoint.
z();
105 referencePoint, charge, field);
107 for (
int i =0;
i<6;++
i)
108 for (
int j =0;j<6;++j)
109 frameTransJ(
i, j) = param2cart(
i, j);
110 frameTransJ(6, 6) = 1;
145 }
else{pt = 1/ momentum[0];}
146 mm(0) =
cos(momentum[2]) *
pt;
147 mm(1) =
sin(momentum[2]) *
pt;
148 mm(2) = pt/
tan(momentum[1]);
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepStd< double, 6, 6 > > AlgebraicMatrix66
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
Geom::Theta< T > theta() const
TrackCharge charge() const
AlgebraicVector6 vector() const
GlobalVector globalMomentum() const
ROOT::Math::SVector< double, 6 > AlgebraicVector6
GlobalVector magneticFieldInInverseGeV(const GlobalPoint &x) const
ParticleMass mass() const
Geom::Theta< T > theta() const
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > AlgebraicSymMatrix77
GlobalVector inInverseGeV(const GlobalPoint &gp) const
Field value ad specified global point, in 1/Gev.
ROOT::Math::SVector< double, 7 > AlgebraicVector7
AlgebraicMatrix66 jacobianParameters2Cartesian(const AlgebraicVector3 &momentum, const GlobalPoint &position, const TrackCharge &charge, const MagneticField *field)
Cos< T >::type cos(const T &t)
ROOT::Math::SVector< double, 3 > AlgebraicVector3
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
KinematicState kinematicState(const AlgebraicVector4 &momentum, const GlobalPoint &referencePoint, const TrackCharge &charge, const AlgebraicSymMatrix77 &theCovarianceMatrix, const MagneticField *field) const
AlgebraicVector4 momentumFromPerigee(const AlgebraicVector4 &momentum, const GlobalPoint &referencePoint, const TrackCharge &ch, const MagneticField *field) const
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepStd< double, 7, 7 > > AlgebraicMatrix77
ExtendedPerigeeTrajectoryParameters extendedPerigeeFromKinematicParameters(const KinematicState &state, const GlobalPoint &point) const
KinematicParameters kinematicParametersFromExPerigee(const ExtendedPerigeeTrajectoryParameters &pr, const GlobalPoint &point, const MagneticField *field) const
TrackCharge particleCharge() const
AlgebraicMatrix77 jacobianParameters2Kinematic(const AlgebraicVector4 &momentum, const GlobalPoint &referencePoint, const TrackCharge &charge, const MagneticField *field) const
ROOT::Math::SVector< double, 4 > AlgebraicVector4
GlobalPoint globalPosition() const
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point