21 const std::string&
name,
22 const IInterface*
parent) :
24 m_ipEstimator(
"Trk::TrackToVertexIPEstimator"),
25 m_z0SignificanceMax(30.)
27 declareProperty(
"IPEstimator",
m_ipEstimator,
"Impact parameter estimator tool");
36 ATH_MSG_INFO(
"Initializing Z0PVTrackCompatibilityEstimator" );
39 if( !
sc.isSuccess() ){
44 return StatusCode::SUCCESS;
50 ATH_MSG_INFO(
"Finalizing Z0PVTrackCompatibilityEstimator" );
52 return StatusCode::SUCCESS;
83 for(
unsigned int i = 0;
i < (*primaryVertexContainer)[
index]->nTrackParticles(); ++
i){
85 sumptPV += (*primaryVertexContainer)[
index]->trackParticle(
i)->perigeeParameters().momentum().perp();
88 for(
unsigned int i = 0;
i < primaryVertexContainer->
size();
i++){
104 for(
unsigned int itrk = 0; itrk < (*primaryVertexContainer)[
i]->nTrackParticles(); ++itrk){
106 sumpt += (*primaryVertexContainer)[
i]->trackParticle(itrk)->perigeeParameters().momentum().perp();
109 std::abs((*primaryVertexContainer)[
i]->position().
z()
110 - (*primaryVertexContainer)[
index]->position().
z()) * sumpt / (sumpt + sumptPV);
112 if(std::abs(
ip->IPz0 + (*primaryVertexContainer)[
index]->position().z() -
113 (*primaryVertexContainer)[
i]->position().z()) < vxReach){