diff --git a/Tr/TrackMonitors/src/TrackPV2HalfMonitor.cpp b/Tr/TrackMonitors/src/TrackPV2HalfMonitor.cpp index 0071028fab7db972da93b9ae0fb64ddb272e8fdb..f3696042320e07da278b12dc732ba3be2e0c5af4 100644 --- a/Tr/TrackMonitors/src/TrackPV2HalfMonitor.cpp +++ b/Tr/TrackMonitors/src/TrackPV2HalfMonitor.cpp @@ -60,6 +60,8 @@ private: Gaudi::Property m_limdpvx{ this, "limDPx", 0.5 * Gaudi::Units::mm }; Gaudi::Property m_limdpvy{ this, "limDPy", 0.5 * Gaudi::Units::mm }; Gaudi::Property m_limdpvz{ this, "limDPz", 1. * Gaudi::Units::mm }; + Gaudi::Property m_limdpvx_zo{ this, "limDPx_zo", 2. * Gaudi::Units::mm }; + Gaudi::Property m_limdpvy_zo{ this, "limDPy_zo", 1. * Gaudi::Units::mm }; Gaudi::Property m_limchi2{ this, "limChi2", 10. }; Gaudi::Property m_nprbins{ this, "NumProfileBins", 20 }; Gaudi::Property m_PV_trackmin{ this, "MinNumTrPerPV", 5 }; @@ -85,12 +87,16 @@ private: mutable std::optional m_deltaxPVLeftRightPull; mutable std::optional m_deltayPVLeftRightPull; mutable std::optional m_deltazPVLeftRightPull; + mutable std::optional m_deltaxPVLeftRight_zoomOut; + mutable std::optional m_deltayPVLeftRight_zoomOut; // EventTime histo mutable std::optional m_eventTimeHisto; // Left-right profiles mutable std::optional m_deltayzPVLeftRight; mutable std::optional m_deltaxzPVLeftRight; mutable std::optional m_deltazzPVLeftRight; + mutable std::optional m_deltayzPVLeftRight_zoomOut; + mutable std::optional m_deltaxzPVLeftRight_zoomOut; }; // Declaration of the Algorithm Factory @@ -132,6 +138,10 @@ StatusCode TrackPV2HalfMonitor::initialize() { GAAxis{ 100, -5, 5 } ); m_deltazPVLeftRightPull.emplace( this, "Left-Right PV delta z pull", "Left-Right PV delta z pull", GAAxis{ 100, -5, 5 } ); + m_deltaxPVLeftRight_zoomOut.emplace( this, "Left-Right PV delta x zoom out", "Left-Right PV delta x zoom out", + GAAxis{ 100, -m_limdpvx_zo, m_limdpvx_zo } ); + m_deltayPVLeftRight_zoomOut.emplace( this, "Left-Right PV delta y zoom out", "Left-Right PV delta y zoom out", + GAAxis{ 100, -m_limdpvy_zo, m_limdpvy_zo } ); // EventTime histo m_eventTimeHisto.emplace( this, "EventTime TrackPV2HalfMonitor", "TimeMinute", GAAxis{ 1000, 0, 30000 } ); // Left-right profiles @@ -141,6 +151,12 @@ StatusCode TrackPV2HalfMonitor::initialize() { GAAxis{ m_nprbins, m_zpvmin, m_zpvmax } ); m_deltazzPVLeftRight.emplace( this, "PV left-right delta z versus z", "PV left-right delta z versus z", GAAxis{ m_nprbins, m_zpvmin, m_zpvmax } ); + m_deltaxzPVLeftRight_zoomOut.emplace( this, "PV left-right delta x versus z zoom out", + "PV left-right delta x versus z zoom out", + GAAxis{ m_nprbins, m_zpvmin, m_zpvmax } ); + m_deltayzPVLeftRight_zoomOut.emplace( this, "PV left-right delta y versus z zoom out", + "PV left-right delta y versus z zoom out", + GAAxis{ m_nprbins, m_zpvmin, m_zpvmax } ); } ); } @@ -261,6 +277,8 @@ void TrackPV2HalfMonitor::operator()( LHCb::ODIN const& odin, LHCb::Track::Range ++( *m_deltaxPVLeftRightPull )[dx.x() / std::sqrt( cov( 0, 0 ) )]; ++( *m_deltayPVLeftRightPull )[dx.y() / std::sqrt( cov( 1, 1 ) )]; ++( *m_deltazPVLeftRightPull )[dx.z() / std::sqrt( cov( 2, 2 ) )]; + ++( *m_deltaxPVLeftRight_zoomOut )[dx.x()]; + ++( *m_deltayPVLeftRight_zoomOut )[dx.y()]; ++( *m_eventTimeHisto )[eventTimeGpsMinute]; if ( std::abs( dx.z() ) < m_limdpvz ) { @@ -268,6 +286,8 @@ void TrackPV2HalfMonitor::operator()( LHCb::ODIN const& odin, LHCb::Track::Range if ( std::abs( dx.x() ) < m_limdpvx ) ( *m_deltaxzPVLeftRight )[z] += dx.x(); if ( std::abs( dx.y() ) < m_limdpvy ) ( *m_deltayzPVLeftRight )[z] += dx.y(); if ( std::abs( dx.z() ) < m_limdpvz ) ( *m_deltazzPVLeftRight )[z] += dx.z(); + if ( std::abs( dx.x() ) < m_limdpvx_zo ) ( *m_deltaxzPVLeftRight_zoomOut )[z] += dx.x(); + if ( std::abs( dx.y() ) < m_limdpvy_zo ) ( *m_deltayzPVLeftRight_zoomOut )[z] += dx.y(); } } }