diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/CMakeLists.txt b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/CMakeLists.txt index 5ec2152452d7eb49890b1f60227b492aea6fa6ce..3c1de11971b8285e9da7c5d98f90ca48a999b9bf 100644 --- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/CMakeLists.txt +++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/CMakeLists.txt @@ -45,3 +45,5 @@ atlas_add_component( TrkVertexSeedFinderUtils LINK_LIBRARIES ${ROOT_LIBRARIES} ${FFTW_LIBRARIES} EventPrimitives xAODTruth InDetTrackSelectionToolLib MagFieldInterfaces TrkEventPrimitives TrkLinks TrkTrack TrkVertexFitterInterfaces TrkVertexSeedFinderUtilsLib ) + +atlas_install_joboptions( share/*.py ) diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/GaussianTrackDensity.cxx b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/GaussianTrackDensity.cxx index 4927333a742a17d4b4bca11c8107262eb2def78b..a95abbf6d50f1dc3dabd229011b5f26492ba5758 100644 --- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/GaussianTrackDensity.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/GaussianTrackDensity.cxx @@ -59,7 +59,10 @@ namespace Trk double sum = 0.0; for (auto itrk = firstLoop; itrk != finalLoop && itrk != m_trackMap.end(); itrk++) { - sum += exp(itrk->second.c_0+z*(itrk->second.c_1 + itrk->second.c_2)); + //ATH_MSG_DEBUG("@z=" << z << " adding contrib from z0=" << itrk->first.parameters()[Trk::z0] << + // "c_0, c_1, c2 = " << itrk->second.c_0 << " " << itrk->second.c_1 << " " << + // itrk->second.c_2 << " arg=" << (itrk->second.c_0+z*(itrk->second.c_1 + z*itrk->second.c_2))); + sum += exp(itrk->second.c_0+z*(itrk->second.c_1 + z*itrk->second.c_2)); } return sum; } @@ -105,16 +108,18 @@ namespace Trk double cov_zz = perigeeCov(Trk::z0, Trk::z0); if (cov_zz <= 0 ) continue; double cov_dz = perigeeCov(Trk::d0, Trk::z0); + //ATH_MSG_DEBUG("z0:" << z0 << " d0: " << d0 << " covdd, covdz, covzz " << cov_dd << " " << cov_dz << " " << cov_zz); double covDeterminant = cov_dd*cov_zz - cov_dz*cov_dz; if ( covDeterminant <= 0 ) continue; double constantTerm = -(d0*d0*cov_zz + z0*z0*cov_dd + 2*d0*z0*cov_dz) / (2*covDeterminant); double linearTerm = (d0*cov_dz + z0*cov_dd) / covDeterminant ; // minus signs and factors of 2 cancel... double quadraticTerm = -cov_dd / (2*covDeterminant); - double discriminant = linearTerm*linearTerm - 4*quadraticTerm*(constantTerm + 2*z0SignificanceCut*cov_zz); + double discriminant = linearTerm*linearTerm - 4*quadraticTerm*(constantTerm + 2*z0SignificanceCut); if (discriminant < 0) continue; discriminant = sqrt(discriminant); - double zMin = (-linearTerm - discriminant)/(2*quadraticTerm); - double zMax = (-linearTerm + discriminant)/(2*quadraticTerm); + double zMax = (-linearTerm - discriminant)/(2*quadraticTerm); + double zMin = (-linearTerm + discriminant)/(2*quadraticTerm); + //ATH_MSG_DEBUG("zMin: " << zMin << " zMax: " << zMax); constantTerm -= log(2*Gaudi::Units::pi*covDeterminant); m_trackMap.emplace(std::piecewise_construct, std::forward_as_tuple(*itrk), diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/components/TrkVertexSeedFinderUtils_entries.cxx b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/components/TrkVertexSeedFinderUtils_entries.cxx index 28cde6d87fccf6535aedb65cbb8c72291cb013df..7c7ec2dfa2b7a4ff9a2bfdd99ccd36bc3a5e6599 100644 --- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/components/TrkVertexSeedFinderUtils_entries.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderUtils/src/components/TrkVertexSeedFinderUtils_entries.cxx @@ -10,6 +10,7 @@ #include "TrkVertexSeedFinderUtils/VertexImageMaker.h" #include "TrkVertexSeedFinderUtils/ImagingSeedTuningAlg.h" #include "TrkVertexSeedFinderUtils/GaussianTrackDensity.h" +#include "../GaussianDensityTestAlg.h" using namespace Trk ; @@ -24,4 +25,4 @@ DECLARE_COMPONENT( LocalMax1DClusterFinder ) DECLARE_COMPONENT( VertexImageMaker ) DECLARE_COMPONENT( ImagingSeedTuningAlg ) DECLARE_COMPONENT( GaussianTrackDensity ) - +DECLARE_COMPONENT( GaussianDensityTestAlg )