1 #include "../inc/track.h"
2 #include "../inc/trackstate.h"
3 #include "../inc/event.h"
4 #include "../inc/jet.h"
5 #include "../util/inc/helixrep.h"
6 #include "../util/inc/matrix.h"
7 #include "../util/inc/memorymanager.h"
8 #include "../util/inc/projection.h"
12 using namespace vertex_lcfi::util;
18 : _Event(Event),_H(H),_PMomentum(Momentum),_Charge(cha),_CovarianceMatrix(cov),_NumHitsSubDetector(hits),_TrackingNum(trackNum)
56 return _CovarianceMatrix;
73 double ErrorIP = (IPErr(x,x)*pow(POCAVector.x(),2.0) + 2.0*IPErr(x,y)*POCAVector.x()*POCAVector.y() + IPErr(y,y)*pow(POCAVector.y(),2.0)) / POCAVector.mag2(RPhi);
76 std::cerr <<
"-ve IP Error of " << ErrorIP <<
": Track.cpp:77" << std::endl;
77 if (ErrorTrack <= 0.0)
78 std::cerr <<
"-ve Track Error of " << ErrorTrack <<
": Track.cpp:79" << std::endl;
80 return POCAVector.mag(RPhi)/sqrt(ErrorIP+ErrorTrack);
87 double ErrorIP = determinant(IPErr)/(IPErr(x,x)*IPErr(y,y)-IPErr(x,y)*IPErr(x,y));
90 std::cerr <<
"-ve IP Error of " << ErrorIP <<
": Track.cpp:91" << std::endl;
91 if (ErrorTrack <= 0.0)
92 std::cerr <<
"-ve Track Error of " << ErrorTrack <<
": Track.cpp:93" << std::endl;
93 return POCAVector.mag(Z)/sqrt(ErrorIP+ErrorTrack);
100 double ErrorIP = prec_inner_prod(prec_prod(IPErr,POCAVector),POCAVector);
107 std::cerr <<
"-ve IP Error of " << ErrorIP <<
": Track.cpp:108" << std::endl;
109 if (ErrorTrack <= 0.0)
110 std::cerr <<
"-ve Track Error of " << ErrorTrack <<
": Track.cpp:111" << std::endl;
112 return POCAVector.mag(ThreeD)/sqrt(ErrorIP+ErrorTrack);
116 std::cerr <<
"Unsupported Significance: Track.cpp:117" << std::endl;
131 if (((POCAVector.x()*MyJet->
momentum().x())+(POCAVector.y()*MyJet->
momentum().y())) < 0)
133 d0significance = -d0significance;
136 return d0significance;
145 if(POCAVector.z()*(TanlambdaJet - this->
helixRep().tanLambda()) < 0)
147 z0significance = -z0significance;
150 return z0significance;
159 std::cerr <<
"Unsupported Significance: Track.cpp:158" << std::endl;
Projection
Projection Type.
double signedSignificance(Projection Proj, Jet *MyJet) const
Signed significance of the track.
Vector3 momentum() const
Momentum.
Track()
Default Constuctor.
TrackState * makeState() const
Create a TrackState of this track.
const SymMatrix5x5 & covarianceMatrix() const
Covariance Matrix.
void swimToStateNearestXY(const Vector3 &Point)
Swim to the point of closest approach in the XY plane to Point.
void * trackingNum() const
Tracking Number.
static MemoryManager< T > * Event()
Returns the Event duration singleton instance of the MemoryManager for type T.
Spatial point on a Track.
double significance(Projection Proj) const
Significance of the track.
Event * event() const
Event that this track belongs to.
const Vector3 & momentum() const
Track perigee momentum.
Unique Track representation.
const HelixRep & helixRep() const
Helix represenation of this track.
double charge() const
Track charge.
const SymMatrix3x3 & interactionPointError() const
Interaction Point position error.
const Vector3 & interactionPoint() const
Interaction Point position.
const Vector3 & position() const
Current position of the trackstate.
void swimToStateNearest(const Vector3 &Point)
Swim to the point of closest approach to Point.