21 const std::string&
name,
22 const IInterface*
parent) :
24 m_ipEstimator(
"Trk::TrackToVertexIPEstimator"),
25 m_z0SignificanceMax(30.)
27 declareInterface< Z0PVTrackCompatibilityEstimator >(
this);
37 ATH_MSG_INFO(
"Initializing Z0PVTrackCompatibilityEstimator" );
40 if( !
sc.isSuccess() ){
45 return StatusCode::SUCCESS;
51 ATH_MSG_INFO(
"Finalizing Z0PVTrackCompatibilityEstimator" );
53 return StatusCode::SUCCESS;
84 for(
unsigned int i = 0;
i < (*primaryVertexContainer)[
index]->nTrackParticles(); ++
i){
86 sumptPV += (*primaryVertexContainer)[
index]->trackParticle(
i)->perigeeParameters().momentum().perp();
89 for(
unsigned int i = 0;
i < primaryVertexContainer->
size();
i++){
105 for(
unsigned int itrk = 0; itrk < (*primaryVertexContainer)[
i]->nTrackParticles(); ++itrk){
107 sumpt += (*primaryVertexContainer)[
i]->trackParticle(itrk)->perigeeParameters().momentum().perp();
110 std::abs((*primaryVertexContainer)[
i]->position().
z()
111 - (*primaryVertexContainer)[
index]->position().
z()) * sumpt / (sumpt + sumptPV);
113 if(std::abs(
ip->IPz0 + (*primaryVertexContainer)[
index]->position().z() -
114 (*primaryVertexContainer)[
i]->position().z()) < vxReach){
133 return AthAlgTool::queryInterface(riid, ppvIf);
137 return StatusCode::SUCCESS;