diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
index 85c485645d0a8e012baa8bf735518de26899acb0..8a3e04e692761681962c5724779d1e466257fb66 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefCommon.xml
@@ -2011,3 +2011,12 @@
   <x title="jet_{p_{T}} [GeV]" n="20" lo="100.0" hi="5000."/>
   <y title="Fake Rate" lo="0.0" hi="2.0"/>
 </h>
+
+<h id="ntracks_vs_mu" type="TH2" title="Number of tracks versus #GT#mu#LT">
+  <x title="#GT#mu#LT" n="100" lo="0.0" hi="&EXPMU;"/>
+  <y title="Number of Tracks" n="200" lo="0.0" hi="&EXPTRK;"/>
+</h> 
+<h id="ntracks_vs_nvertices" type="TH2" title="Number of tracks versus number ofvertices">
+  <x title="Number of Vertices" n="100" lo="0.0" hi="&EXPMU;"/>
+  <y title="Number of Tracks" n="200" lo="0.0" hi="&EXPTRK;"/>
+</h>
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefRun2.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefRun2.xml
index 9bae4ec990e780ac7e4e8d232c99534b79acaa1f..68ea7a0c2b7b20f4b15280e68f97f9ff520927ef 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefRun2.xml
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPVMPlotDefRun2.xml
@@ -33,6 +33,9 @@
 <!-- dR plots for tracks in jets -->
 <!ENTITY DRMAX "0.4">
 <!ENTITY SMALLDRMAX "0.1">
+<!-- Number of tracks vs MU -->
+<!ENTITY EXPMU "100">
+<!ENTITY EXPTRK "2000">
 <!-- histogram definitions common to Run2 and ITk -->
 <!ENTITY Common SYSTEM "InDetPVMPlotDefCommon.xml">
 ]>
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.cxx
index e6cb8020c71a8fa1174e5150d281b67784fa96f3..a261480fd99862f5bc7b39c0e41fbf1136ab93c7 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.cxx
@@ -29,6 +29,9 @@ InDetPerfPlot_nTracks::initializePlots() {
   hd = retrieveDefinition("num_truthmatch_match");
   m_counters[MATCHEDRECO] =
     Book1D(hd.name, hd.allTitles, hd.nBinsX, hd.xAxis.first, hd.xAxis.second, prependDirectory);
+
+  book(m_ntracks_vs_mu,"ntracks_vs_mu");
+  book(m_ntracks_vs_nvertices,"ntracks_vs_nvertices");
 }
 
 void
@@ -37,3 +40,10 @@ InDetPerfPlot_nTracks::fill(const unsigned int freq, const CounterCategory count
     fillHisto((m_counters[counter]), freq);
   }
 }
+
+void InDetPerfPlot_nTracks::fill(const unsigned int ntracks, const unsigned int muu, const unsigned int nvertices) {
+
+  fillHisto(m_ntracks_vs_mu, muu, ntracks);
+  fillHisto(m_ntracks_vs_nvertices, nvertices, ntracks);
+
+}
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.h
index 4f81209f9a1a4fb21f738d83d8931f038157b1ca..2028fdb69937495c3c2ac575a55cf1cebefefe99 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_nTracks.h
@@ -23,9 +23,12 @@ public:
     ALLRECO, SELECTEDRECO, ALLTRUTH, SELECTEDTRUTH, ALLASSOCIATEDTRUTH, MATCHEDRECO, N_COUNTERS
   };
   void fill(const unsigned int freq, const CounterCategory counter);
+  void fill(const unsigned int ntracks, const unsigned int mu, const unsigned int nvertices);
+
 private:
   TH1* m_counters[N_COUNTERS];
-
+  TH2* m_ntracks_vs_mu;
+  TH2* m_ntracks_vs_nvertices;
   void initializePlots();
 };
 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
index f64218a070dfff8a85f348da7970fe847f672614..16e22d4e2da9c0aeb7b91b3a14c2d025a2091601 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
@@ -285,7 +285,7 @@ InDetPhysValMonitoringTool::fillHistograms() {
   //
   std::vector<const xAOD::TrackParticle*> selectedTracks {};
   selectedTracks.reserve(tracks->size());
-  unsigned int nTrackBAT = 0, nTrackSTD = 0, nTrackANT = 0;
+  unsigned int nTrackBAT = 0, nTrackSTD = 0, nTrackANT = 0, nTrackTOT = 0;
   for (const auto& thisTrack: *tracks) {
     //FIXME: Why is this w.r.t the primary vertex?
     const asg::AcceptData& accept = m_trackSelectionTool->accept(*thisTrack, primaryvertex);
@@ -303,7 +303,7 @@ InDetPhysValMonitoringTool::fillHistograms() {
     if(isBAT) nTrackBAT++;
     if(isSTD) nTrackSTD++;
     if(isANT) nTrackANT++;
-
+    nTrackTOT++;
     m_monPlots->fill(*thisTrack);                                      
     m_monPlots->fill(*thisTrack, puEvents, nVertices);  //fill mu dependent plots
     const xAOD::TruthParticle* associatedTruth = getAsTruth.getTruth(thisTrack);
@@ -335,6 +335,8 @@ InDetPhysValMonitoringTool::fillHistograms() {
 
   }
   m_monPlots->fill(nTrackANT, nTrackSTD, nTrackBAT, puEvents, nVertices);
+  m_monPlots->fill(nTrackTOT, puEvents, nVertices);
+
   //FIXME: I don't get why... this is here
   if (m_truthSelectionTool.get()) {
     ATH_MSG_DEBUG( CutFlow(tmp_truth_cutflow).report(m_truthSelectionTool->names()) );
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
index cf279e1a3dc0255b3be28dff73f5c6f65f015d27..a8b5d688748980c22cc4f6b26b2589317b05bf15 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
@@ -187,6 +187,14 @@ InDetRttPlots::fill(const unsigned int nTrkANT, const unsigned int nTrkSTD, cons
 
   m_anTrackingPlots.fill(nTrkANT, nTrkSTD, nTrkBAT, mu, nVtx);
 
+}
+
+void
+InDetRttPlots::fill(const unsigned int ntracks, const unsigned int mu, const unsigned int nvertices) {
+
+ m_nTracks.fill(ntracks, mu, nvertices);
+
+  
 }
 //
 //Fill plots for selected truth particle
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
index 5c10e024d408cd97101106ba783885805a8861af..c5383ace813dd1758757b334eaf5024ee59c8063 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
@@ -54,7 +54,8 @@ public:
   ///fill for things needing track only
   void fill(const xAOD::TrackParticle& particle);
   void fill(const xAOD::TrackParticle& particle, const float mu, const unsigned int nVtx); //mu dependent plots
-  void fill(const unsigned int nTrkANT, const unsigned int nTrkSTD, const unsigned int nTrkBAT, const float mu, const unsigned int nVtx); 
+  void fill(const unsigned int nTrkANT, const unsigned int nTrkSTD, const unsigned int nTrkBAT, const float mu, const unsigned int nVtx);
+  void fill(const unsigned int nTracks, const unsigned int mu, const unsigned nVtx);
   ///fill for things needing truth only
   void fill(const xAOD::TruthParticle& particle);
   ///Fill for efficiency plots