143 {
144
145 ITrackLink* trkLink = vtxTrk.trackOrParticleLink();
146 LinkToTrackParticleBase* linkToTrackParticle = dynamic_cast<Trk::LinkToTrackParticleBase*>(trkLink);
147 if(!linkToTrackParticle) return false;
148 const TrackParticleBase* tpb = *(linkToTrackParticle->cptr());
149
150 const Track* originalTrk = tpb->originalTrack();
151
153
154 if(
m_method.find(
"compareAddress") != std::string::npos){
156 }
157
158
159 if(
m_method.find(
"comparePerigee") != std::string::npos){
161 const Trk::Perigee * measPer2 = originalTrk->perigeeParameters();
162 if(! (measPer1 && measPer2 ))
equal =
false;
163 else{
164 float diff = std::abs(std::numeric_limits<float>::epsilon());
165 if( ( std::abs(measPer1->parameters()[
Trk::d0] - measPer2->parameters()[
Trk::d0]) >
diff)
166 || ( std::abs(measPer1->parameters()[
Trk::z0] - measPer2->parameters()[
Trk::z0]) >
diff)
171 }
172 }
174}
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
bool equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee