diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCMonitorAlgorithm.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCMonitorAlgorithm.h
deleted file mode 100644
index 91f354266518705758bc4a169228dc1d7be5976c..0000000000000000000000000000000000000000
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RPCMonitorAlgorithm.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef RPCMONITORDQ_RPCMONITORALGORITHM_H
-#define RPCMONITORDQ_RPCMONITORALGORITHM_H
-
-#include "AthenaMonitoring/AthMonitorAlgorithm.h"
-#include "AthenaMonitoringKernel/Monitored.h"
-
-#include "xAODMuon/MuonContainer.h"
-#include "xAODMuon/MuonAuxContainer.h"
-#include "MuonIdHelpers/RpcIdHelper.h"
-#include "MuonRDO/RpcPadContainer.h"
-#include "xAODTrigger/MuonRoIContainer.h"
-
-class RPCMonitorAlgorithm : public AthMonitorAlgorithm
-{
-
-  public:
-
-    RPCMonitorAlgorithm(const std::string& name, ISvcLocator* svcLocator);
-    virtual ~RPCMonitorAlgorithm();
-    virtual StatusCode initialize() override;
-    virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
-
-  private:
-
-    SG::ReadHandleKey<xAOD::MuonContainer> m_MuonContainerKey
-      { this, "MuonContainerKey", "Muons", "Key for Muon Containers" };
-    SG::ReadHandleKey<RpcPadContainer> m_rpcPadContainerKey
-      { this, "RpcPadContainerKey", "RPCPAD", "Key for Rpc Pad" };
-    SG::ReadHandleKey<xAOD::MuonRoIContainer> m_l1RoiContainerKey
-      { this, "L1RoiContainerKey", "LVL1MuonRoIs", "Key for L1 ROIs" };
-
-    //
-    // Define configurable cuts
-    //
-
-    // cuts for muon and roi matching
-    Gaudi::Property<float> m_minRoIDR {this, "MinRoIDR", 0.3};
-    
-    // cuts for the selected muons
-    Gaudi::Property<float> m_minPt    {this, "MinPt",     2.0e3};
-    Gaudi::Property<float> m_minEta   {this, "MinEta",    0.0};
-    Gaudi::Property<float> m_maxEta   {this, "MaxEta",    1.05};
-    
-    // xAOD::Muon::Quality m_quality;
-    Gaudi::Property<int>   m_quality  {this, "MuQuality", 1};
-};
-
-
-#endif
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcTrackAnaAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcTrackAnaAlg.h
index 75276b004c8c1b46c05e21898c7618e5ab6c9c03..014737519c693a8ad504cacc9a56a858d78eb22b 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcTrackAnaAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/RpcRawDataMonitoring/RpcTrackAnaAlg.h
@@ -13,8 +13,6 @@
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
 #include "StoreGate/ReadHandleKey.h"
-// #include "StoreGate/ReadCondHandleKey.h"
-// #include "StoreGate/StoreGateSvc.h"
 #include "EventInfo/EventInfo.h"
 
 // ATLAS
@@ -55,6 +53,8 @@ class RpcTrackAnaAlg : public AthMonitorAlgorithm
     StatusCode initArrayHistosMap();
     
     StatusCode fillMuonExtrapolateEff(const EventContext& ctx) const;
+    StatusCode fillHistPRD(const EventContext& ctx) const;
+    
     StatusCode triggerMatching(const xAOD::Muon* , const std::vector<TagDef>& ) const;
 
     StatusCode extrapolate2RPC(const xAOD::TrackParticle *track, const Trk::PropDirection direction, std::vector<GasGapResult>& results) const;
@@ -65,7 +65,7 @@ class RpcTrackAnaAlg : public AthMonitorAlgorithm
 
   private:
     BooleanProperty  m_plotMuonEff{this, "plotMuonEff", false, "switch to plot histograms for Muon Efficiency"};
-    BooleanProperty  m_analyseTrack{this, "analyseTrack", false, "switch to analysis track, extrapolate track to RPC"};
+    BooleanProperty  m_plotPRD{this, "plotPRD", false, "switch to plot histograms for Prepare Data objects"};
     BooleanProperty  m_useAODParticle{this, "useAODParticle", false, "use AOD Particle"};
 
     DoubleProperty   m_avrLumiThr{this, "avrLumiThr", 10., "Thrshold of average luminosity per Luminosity block"};
@@ -99,8 +99,9 @@ class RpcTrackAnaAlg : public AthMonitorAlgorithm
 
     ///////////////////////////////////////////////////////////////////
     ServiceHandle<Muon::IMuonIdHelperSvc>         m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
+    SG::ReadHandleKey<xAOD::EventInfo>            m_eventInfo {this,"EventInfo","EventInfo","event info"};
+    
     const RpcIdHelper                             *m_rpcIdHelper;
-
     const MuonGM::MuonDetectorManager             *m_muonMgr;
 
     ToolHandle<Trk::IExtrapolator>                m_extrapolator{this,"TrackExtrapolator","Trk::Extrapolator/AtlasExtrapolator","Track extrapolator"};
@@ -112,7 +113,6 @@ class RpcTrackAnaAlg : public AthMonitorAlgorithm
 
     std::vector<TagDef>                           m_trigTagDefs;
     std::vector<std::shared_ptr<GasGapData>>      m_gasGapData;
-
 };
 
 #endif
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/python/RpcMonitorAlgorithm.py b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/python/RpcMonitorAlgorithm.py
index df721d812ece2b87d7cc3117aefdb7fded6577e9..f9ecbbebdc1081f24e2ee44f85eb050425bec2ba 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/python/RpcMonitorAlgorithm.py
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/python/RpcMonitorAlgorithm.py
@@ -22,111 +22,124 @@ def RpcMonitoringConfig(inputFlags):
     helper = AthMonitorCfgHelper(inputFlags,'RpcMonitoringCfg')
 
     ######################################################################################################
-    ## RpcOccupancyAnalysis
+    ## RpcTrackAnaAlgAlg
     ######################################################################################################
-    RpcOccupancyAnalysis=CompFactory.RpcOccupancyAnalysis
+    from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
+    extrapolator = result.popToolsAndMerge(AtlasExtrapolatorCfg(inputFlags))
 
-    rpcOccupancyAlg = helper.addAlgorithm(RpcOccupancyAnalysis, "RpcOccupancyAnalysisAlg")
-    # set properties of algorithm RpcOccupancyAnalysis
-    rpcOccupancyAlg.plotPRD = True
+    rpcTrackAnaAlg = helper.addAlgorithm(CompFactory.RpcTrackAnaAlg, "RpcTrackAnaAlgAlg", TrackExtrapolator = extrapolator)
 
-    rpcOccupancyAlg.TagTrigList = 'HLT_mu26_ivarmedium'
-    myGroup_occup = helper.addGroup(rpcOccupancyAlg, 'RpcOccupancyAnalysis', 'Muon/MuonRawDataMonitoring/RPC/')
+    from InDetRecExample.TrackingCommon import use_tracking_geometry_cond_alg
+    if use_tracking_geometry_cond_alg:
+        from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
+        result.merge( TrackingGeometryCondAlgCfg(inputFlags ) )
+    else:
+        from TrkConfig.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg
+        result.merge(TrackingGeometrySvcCfg(inputFlags))
 
-    myGroup_occup.defineHistogram('run;Run',
+    rpcTrackAnaAlg.plotMuonEff = True
+    rpcTrackAnaAlg.plotPRD     = True
+
+    rpcTrackAnaAlg.TagTrigList = 'HLT_mu26_ivarmedium'
+    rpcTrackAnaAlg.TagAndProbe         = False
+    rpcTrackAnaAlg.TagAndProbeZmumu    = False
+
+    ######################################################################################################
+    ## Occupancy histograms
+    ######################################################################################################
+    myGroup_track = helper.addGroup(rpcTrackAnaAlg, 'RpcTrackAnaAlg', 'Muon/MuonRawDataMonitoring/RPC/')
+
+    myGroup_track.defineHistogram('run;Run',
                             title='Run Number;run;Events',
                             type='TH1I', 
                             path='RpcOccupancy',
                             xbins=800000,xmin=200000.5,xmax=1000000.5)
 
-    myGroup_occup.defineHistogram('evtLB',
+    myGroup_track.defineHistogram('evtLB',
                         title='Number of Event;Luminosity Block;N Event',
                         type='TH1I', 
                         path='RpcOccupancy',
                         xbins=1200, xmin=0.5, xmax=1200.5)
 
-    myGroup_occup.defineHistogram('prdTime', 
+    myGroup_track.defineHistogram('prdTime', 
                         title="Number of RPC Prepare Data;Time;N RPC Prepare Data",
                         type='TH1D', 
                         path='RpcOccupancy',
                         xbins=67, xmin=-104.6875, xmax=104.6875)
 
-    myGroup_occup.defineHistogram('prd_sec,prd_layer;NPRDHit_sectorVSlayer', 
+    myGroup_track.defineHistogram('prd_sec,prd_layer;NPRDHit_sectorVSlayer', 
                         title="NPRDHit_sectorVSlayer;Sector;layer((dbR-1)*2+gasGap);NHit",
                         type='TH2I', 
                         path='RpcOccupancy',
                         xbins=33, xmin=-16.5, xmax=16.5, 
                         ybins=8, ymin=0.5, ymax=8.5)
-    myGroup_occup.defineHistogram('prd_sec_1214,prd_layer_1214;NPRDHit_sectorVSlayer_Sector1214', 
+    myGroup_track.defineHistogram('prd_sec_1214,prd_layer_1214;NPRDHit_sectorVSlayer_Sector1214', 
                         title="NPRDHit_sectorVSlayer_Sector1214;Sector;layer((dbR-1)*2+gasGap);NHit",
                         type='TH2I', 
                         path='RpcOccupancy',
                         xbins=[-14.5,-13.5,-12.5,-11.5, 11.5, 12.5, 13.5, 14.5],
                         ybins=8, ymin=0.5, ymax=8.5)
-    myGroup_occup.defineHistogram('prd_sec_eta,prd_layer_eta;NPRDHit_sectorVSlayer_Eta', 
+    myGroup_track.defineHistogram('prd_sec_eta,prd_layer_eta;NPRDHit_sectorVSlayer_Eta', 
                         title="NPRDHit_sectorVSlayer_eta;Sector;layer((dbR-1)*2+gasGap);NHit",
                         type='TH2I', 
                         path='RpcOccupancy',
                         xbins=33, xmin=-16.5, xmax=16.5, 
                         ybins=8, ymin=0.5, ymax=8.5)
-    myGroup_occup.defineHistogram('prd_sec_phi,prd_layer_phi;NPRDHit_sectorVSlayer_Phi', 
+    myGroup_track.defineHistogram('prd_sec_phi,prd_layer_phi;NPRDHit_sectorVSlayer_Phi', 
                         title="NPRDHit_sectorVSlayer_phi;Sector;layer((dbR-1)*2+gasGap);NHit",
                         type='TH2I', 
                         path='RpcOccupancy',
                         xbins=33, xmin=-16.5, xmax=16.5, 
                         ybins=8, ymin=0.5, ymax=8.5)
 
-    myGroup_occup.defineHistogram('StationName,panelInd_geo;NPRDHit_stationName_vs_panelIndex', 
+    myGroup_track.defineHistogram('StationName,panelInd;NPRDHit_stationName_vs_panelIndex', 
                 title='StationName_vs_panelIndex;StationName;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=53, xmin=0.5, xmax=53.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('StationEta,panelInd_geo;NPRDHit_stationEta_vs_panelIndex', 
+    myGroup_track.defineHistogram('StationEta,panelInd;NPRDHit_stationEta_vs_panelIndex', 
                 title='StationEta_vs_panelIndex;StationEta;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=17, xmin=-8.5, xmax=8.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('StationPhi,panelInd_geo;NPRDHit_stationPhi_vs_panelIndex', 
+    myGroup_track.defineHistogram('StationPhi,panelInd;NPRDHit_stationPhi_vs_panelIndex', 
                 title='StationPhi_vs_panelIndex;StationPhi;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=8, xmin=0.5, xmax=8.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('DoubletR,panelInd_geo;NPRDHit_doubletR_vs_panelIndex', 
+    myGroup_track.defineHistogram('DoubletR,panelInd;NPRDHit_doubletR_vs_panelIndex', 
                 title='DoubletR_vs_panelIndex;DoubletR;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=2, xmin=0.5, xmax=2.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('DoubletZ,panelInd_geo;NPRDHit_doubletZ_vs_panelIndex', 
+    myGroup_track.defineHistogram('DoubletZ,panelInd;NPRDHit_doubletZ_vs_panelIndex', 
                 title='DoubletZ_vs_panelIndex;DoubletZ;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=3, xmin=0.5, xmax=3.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('DoubletPhi,panelInd_geo;NPRDHit_doubletPhi_vs_panelIndex', 
+    myGroup_track.defineHistogram('DoubletPhi,panelInd;NPRDHit_doubletPhi_vs_panelIndex', 
                 title='DoubletPhi_vs_panelIndex;DoubletPhi;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=2, xmin=0.5, xmax=2.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('GasGap,panelInd_geo;NPRDHit_gasgap_vs_panelIndex', 
+    myGroup_track.defineHistogram('GasGap,panelInd;NPRDHit_gasgap_vs_panelIndex', 
                 title='GasGap_vs_panelIndex;GasGap;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=2, xmin=0.5, xmax=2.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    myGroup_occup.defineHistogram('MeasPhi,panelInd_geo;NPRDHit_measPhi_vs_panelIndex', 
+    myGroup_track.defineHistogram('MeasPhi,panelInd;NPRDHit_measPhi_vs_panelIndex', 
                 title='MeasPhi_vs_panelIndex;MeasPhi;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=2, xmin=-0.5, xmax=1.5, ybins=8592, ymin=-0.5, ymax=8591.5)
 
-    # stationName           = {'2':'BML', '3':'BMS', '4':'BOL', '5':'BOS', '8':'BMF' , '9':'BOF', '10':'BOG', '53':'BME'}
-    timeTags = ['All', 'B3', 'C1', 'A3']    # B3: 3 BC before BC0; C1: BC0; A3: 3 BC after BC0
-    array_timeTags = helper.addArray([timeTags], rpcOccupancyAlg, 'RpcOccupancyAnalysis', 'Muon/MuonRawDataMonitoring/RPC/')
-    array_timeTags.defineHistogram('LB,panelInd;NPRDHit_Panels', 
-                title='{0}_Number of RPC Prepare Data;Luminosity Block;Panel Index;NHit',
+    myGroup_track.defineHistogram('LB,panelInd;NPRDHit_Panels_All', 
+                title='Number of RPC Prepare Data;Luminosity Block;Panel Index;NHit',
                 type='TH2I', 
                 path='RpcOccupancy',
                 xbins=1200, xmin=0.5, xmax=1200.5, ybins=8592, ymin=-0.5, ymax=8591.5)
-    array_timeTags.defineHistogram('LB;NPRDHitVSLB', 
-                title="{0}_Number of RPC Prepare Data;Luminosity Block;NHit",
+    myGroup_track.defineHistogram('LB;NPRDHitVSLB_All', 
+                title="Number of RPC Prepare Data;Luminosity Block;NHit",
                 type='TH1I', 
                 path='RpcOccupancy',
                 xbins=1200, xmin=0.5, xmax=1200.5)
@@ -134,28 +147,6 @@ def RpcMonitoringConfig(inputFlags):
     ######################################################################################################
     ## Rpc Track Analysis
     ######################################################################################################
-    from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
-    extrapolator = result.popToolsAndMerge(AtlasExtrapolatorCfg(inputFlags))
-
-    rpcTrackAnaAlg = helper.addAlgorithm(CompFactory.RpcTrackAnaAlg, "RpcTrackAnaAlgAlg", TrackExtrapolator = extrapolator)
-
-    from InDetRecExample.TrackingCommon import use_tracking_geometry_cond_alg
-    if use_tracking_geometry_cond_alg:
-        from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
-        result.merge( TrackingGeometryCondAlgCfg(inputFlags ) )
-    else:
-        from TrkConfig.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg
-        result.merge(TrackingGeometrySvcCfg(inputFlags))
-
-    rpcTrackAnaAlg.plotMuonEff = True
-    rpcTrackAnaAlg.analyseTrack= True
-
-    rpcTrackAnaAlg.TagTrigList = 'HLT_mu26_ivarmedium'
-    rpcTrackAnaAlg.TagAndProbe         = False
-    rpcTrackAnaAlg.TagAndProbeZmumu    = False
-
-    myGroup_track = helper.addGroup(rpcTrackAnaAlg, 'RpcTrackAnaAlg', 'Muon/MuonRawDataMonitoring/RPC/')
-
     trackPath = 'TrackMatch'
     myGroup_track.defineHistogram('hitMultiplicity_eta;HitMultiplicity_eta', 
                             type='TH1I', 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcTrackAnaAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcTrackAnaAlg.cxx
index 6fa28796cbd93d3eb48608027282f8e0a8a0cd5c..57519d529272ea137d6a7238d5ef9ac8444fea31 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcTrackAnaAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/RpcTrackAnaAlg.cxx
@@ -26,13 +26,12 @@ RpcTrackAnaAlg::~RpcTrackAnaAlg () {}
 //================================================================================================
 StatusCode RpcTrackAnaAlg::initialize ()
 {  
-  using namespace Monitored;
-
   ATH_MSG_INFO(" RpcTrackAnaAlg initialize begin ");
   ATH_CHECK( AthMonitorAlgorithm::initialize());
 
   ATH_CHECK( detStore()->retrieve(m_muonMgr) );
   ATH_CHECK( m_idHelperSvc.retrieve());
+  ATH_CHECK( m_eventInfo.initialize() );
 
   m_dataType = dataTypeStringToEnum(m_dataTypeStr);
   ATH_CHECK( m_lumiDataKey.initialize (m_useLumi) );
@@ -149,6 +148,11 @@ StatusCode RpcTrackAnaAlg::initTrigTag()
 //================================================================================================
 StatusCode RpcTrackAnaAlg::fillHistograms(const EventContext& ctx) const
 {
+  using namespace Monitored;
+
+  SG::ReadHandle<xAOD::EventInfo>         eventInfo(m_eventInfo, ctx);
+  int e_lumiBlock                            = eventInfo->lumiBlock();
+
   if (!m_lumiDataKey.empty() && ! m_lbDurationDataKey.empty()) {
 
     SG::ReadCondHandle<LuminosityCondData>  lumi(m_lumiDataKey, ctx);
@@ -168,9 +172,20 @@ StatusCode RpcTrackAnaAlg::fillHistograms(const EventContext& ctx) const
     ATH_CHECK( fillMuonExtrapolateEff(ctx) );
   }
 
+  
+  if(m_plotPRD) {
+    ATH_CHECK( fillHistPRD(ctx) );
+  }
+
+  auto tool   = getGroup(m_packageName);
+  auto evtLB  = Scalar<int>("evtLB", e_lumiBlock);
+  auto run    = Scalar<int>("run",   eventInfo->runNumber());
+  fill(tool, evtLB, run);
+  
   return StatusCode::SUCCESS;
 }
 
+//================================================================================================
 StatusCode RpcTrackAnaAlg::fillMuonExtrapolateEff(const EventContext& ctx) const
 {
   using namespace Monitored;
@@ -232,7 +247,6 @@ StatusCode RpcTrackAnaAlg::fillMuonExtrapolateEff(const EventContext& ctx) const
         if( mu1_it->muon->charge() == mu2_it->muon->charge() ) continue;
 
         double dimuon_mass = (mu2_it->fourvec + mu1_it->fourvec).M();
-        // if(std::abs( dimuon_mass - m_zMass.value()) > m_zMassWindow.value() )continue;
         if(dimuon_mass>m_zMass_lowLimit && dimuon_mass<m_zMass_upLimit) {
           mu1_it->isZmumu=true;
           mu2_it->isZmumu=true;
@@ -240,8 +254,7 @@ StatusCode RpcTrackAnaAlg::fillMuonExtrapolateEff(const EventContext& ctx) const
       }
     }
     
-    // if (m_analyseTrack && mu1_it->isolated && mu1_it->isZmumu) {
-    if (m_analyseTrack) {
+    if ( mu1_it->isolated && mu1_it->isZmumu ) {
       const xAOD::TrackParticle* track = mu1_it->muon->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle);
       if(!track) continue;
 
@@ -254,6 +267,124 @@ StatusCode RpcTrackAnaAlg::fillMuonExtrapolateEff(const EventContext& ctx) const
   return StatusCode::SUCCESS;
 }
 
+//================================================================================================
+StatusCode RpcTrackAnaAlg::fillHistPRD(const EventContext& ctx) const
+{
+  using namespace Monitored;
+  //
+  // Read RPC Prepare data
+  //
+
+  SG::ReadHandle<Muon::RpcPrepDataContainer> rpcContainer(m_rpcPrdKey, ctx);
+  const RpcIdHelper& rpcIdHelper = m_idHelperSvc->rpcIdHelper();
+
+  SG::ReadHandle<xAOD::EventInfo>    eventInfo(m_eventInfo, ctx);
+  const int             i_lb      = eventInfo->lumiBlock();
+  std::vector<double>   v_prdTime = {}; 
+
+  auto prd_sec_all        = Scalar<int>("prd_sec",         0 );
+  auto prd_layer_all      = Scalar<int>("prd_layer",       0 );
+  auto prd_sec_1214       = Scalar<int>("prd_sec_1214",    0 );
+  auto prd_layer_1214     = Scalar<int>("prd_layer_1214",  0 );
+
+  auto prd_sec_all_eta    = Scalar<int>("prd_sec_eta",     0 );
+  auto prd_layer_all_eta  = Scalar<int>("prd_layer_eta",   0 );
+  auto prd_sec_all_phi    = Scalar<int>("prd_sec_phi",     0 );
+  auto prd_layer_all_phi  = Scalar<int>("prd_layer_phi",   0 );
+
+  auto i_prd_LB           = Scalar<int>("LB",              i_lb );
+  auto i_panelIndex       = Scalar<int>("panelInd",        0 );
+
+  auto i_prd_stationName  = Scalar<int>("StationName",  0 );
+  auto i_prd_stationEta   = Scalar<int>("StationEta",   0 );
+  auto i_prd_stationPhi   = Scalar<int>("StationPhi",   0 );
+  auto i_prd_doubletR     = Scalar<int>("DoubletR",     0 );
+  auto i_prd_doubletZ     = Scalar<int>("DoubletZ",     0 );
+  auto i_prd_doubletPhi   = Scalar<int>("DoubletPhi",   0 );
+  auto i_prd_gasGap       = Scalar<int>("GasGap",       0 );
+  auto i_prd_measPhi      = Scalar<int>("MeasPhi",      -1);
+  
+  auto tool = getGroup(m_packageName);
+
+  int panel_index;
+  std::pair<int, int> sec_layer;
+
+  //
+  // loop on RpcPrepData container
+  //
+  for(const Muon::RpcPrepDataCollection *rpcCollection: *rpcContainer) {
+    if(!rpcCollection) {
+        continue;
+    }
+      
+    //
+    // loop on RpcPrepData
+    //
+    for(const Muon::RpcPrepData* rpcData: *rpcCollection) {
+      if(!rpcData) {
+        continue;
+      }
+
+      Identifier       id = rpcData->identify();
+      const int   measphi = rpcIdHelper.measuresPhi(id);
+
+      auto  temp_panel = std::make_unique<RpcPanel>(id,  rpcIdHelper);
+
+      std::map<Identifier, std::shared_ptr<RpcPanel>>::const_iterator i_panel=m_rpcPanelMap.find(temp_panel->panelId);
+      if (i_panel == m_rpcPanelMap.end()){
+        ATH_MSG_WARNING( "The panelID corresponding prd hit does NOT link to a known Panel !!!" );
+        continue;
+      }
+      else{
+        panel_index = i_panel->second->panel_index;
+      }
+
+      sec_layer = temp_panel->getSectorLayer();
+      prd_sec_all   = sec_layer.first;
+      prd_layer_all = sec_layer.second;
+
+      if (std::abs(sec_layer.first)==12 || std::abs(sec_layer.first)==14){
+        prd_sec_1214   = sec_layer.first;
+        prd_layer_1214 = sec_layer.second;
+      }
+
+      fill(tool, prd_sec_all,  prd_layer_all, prd_sec_1214,  prd_layer_1214);
+
+      if (measphi == 0){
+        prd_sec_all_eta   = sec_layer.first;
+        prd_layer_all_eta = sec_layer.second;
+        fill(tool, prd_sec_all_eta, prd_layer_all_eta);
+      }
+      else{
+        prd_sec_all_phi   = sec_layer.first;
+        prd_layer_all_phi = sec_layer.second;
+        fill(tool, prd_sec_all_phi, prd_layer_all_phi);
+      }
+
+      i_panelIndex       = panel_index;
+      fill(tool, i_prd_LB, i_panelIndex);
+      
+      i_prd_stationName  = i_panel->second->stationName;
+      i_prd_stationEta   = i_panel->second->stationEta ;
+      i_prd_stationPhi   = i_panel->second->stationPhi ;
+      i_prd_doubletR     = i_panel->second->doubletR   ;
+      i_prd_doubletZ     = i_panel->second->doubletZ   ;
+      i_prd_doubletPhi   = i_panel->second->doubletPhi ;
+      i_prd_gasGap       = i_panel->second->gasGap     ;
+      i_prd_measPhi      = i_panel->second->measPhi    ;
+      fill(tool, i_panelIndex, i_prd_LB, i_prd_stationName, i_prd_stationEta, i_prd_stationPhi, i_prd_doubletR, i_prd_doubletZ, i_prd_doubletPhi, i_prd_gasGap, i_prd_measPhi);
+
+      v_prdTime.push_back(rpcData->time());
+    }  // loop on RpcPrepData
+  }  // loop on RpcPrepData container
+
+  auto prdTimeCollection = Collection("prdTime",  v_prdTime);
+  fill(tool, prdTimeCollection);
+
+  ATH_MSG_DEBUG( " fillHistPRD finished " );
+  return StatusCode::SUCCESS;
+}
+
 //================================================================================================
 StatusCode RpcTrackAnaAlg::triggerMatching(const xAOD::Muon* offline_muon, const std::vector<TagDef>& list_of_triggers ) const
 {
@@ -313,7 +444,7 @@ StatusCode RpcTrackAnaAlg::extrapolate2RPC(const xAOD::TrackParticle *track, con
   //
   // Iterate over RPC readout elements and compute intersections with each gas gap
   //
-  for(const std::shared_ptr<GasGapData>& gap: m_gasGapData) {
+  for(const std::shared_ptr<GasGapData> gap: m_gasGapData) {
     ExResult result(gap->gapid, direction);
 
     // Compute track distance to the center of ReadoutElement and to the gas gap surface
@@ -330,7 +461,7 @@ StatusCode RpcTrackAnaAlg::extrapolate2RPC(const xAOD::TrackParticle *track, con
     if(m_minDRTrackToReadoutElement > 0.0 && result.minTrackReadoutDR > m_minDRTrackToReadoutElement) {
       continue;
     }
-    
+
     if(m_minDRTrackToGasGap > 0.0 && result.minTrackGasGapDR > m_minDRTrackToGasGap) {
       continue;
     }
@@ -687,4 +818,4 @@ bool RpcTrackAnaAlg::IsNearbyHit(const std::vector<const Muon::RpcPrepData*> &cl
   }
 
   return false;
-}
+}
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/components/RpcRawDataMonitoring_entries.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/components/RpcRawDataMonitoring_entries.cxx
index 15f36e5fc8f793f5eee44fba29607ca4d3553e82..584ce4fa9c05a011d86da59fbda303ed20474461 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/components/RpcRawDataMonitoring_entries.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/RpcRawDataMonitoring/src/components/RpcRawDataMonitoring_entries.cxx
@@ -3,8 +3,6 @@
 #include "RpcRawDataMonitoring/RpcLv1RawDataSectorLogic.h"
 #include "RpcRawDataMonitoring/RpcLv1RawDataEfficiency.h"
 #include "RpcRawDataMonitoring/RPCStandaloneTracksMon.h"
-#include "RpcRawDataMonitoring/RPCMonitorAlgorithm.h"
-#include "RpcRawDataMonitoring/RpcOccupancyAnalysis.h"
 #include "RpcRawDataMonitoring/RpcTrackAnaAlg.h"
 #include "RpcRawDataMonitoring/RPCLv1AnaAlg.h"
   
@@ -13,7 +11,5 @@ DECLARE_COMPONENT( RpcLv1RawDataValAlg )
 DECLARE_COMPONENT( RpcLv1RawDataSectorLogic )
 DECLARE_COMPONENT( RpcLv1RawDataEfficiency )
 DECLARE_COMPONENT( RPCStandaloneTracksMon )
-DECLARE_COMPONENT( RPCMonitorAlgorithm )
-DECLARE_COMPONENT( RpcOccupancyAnalysis )
 DECLARE_COMPONENT( RpcTrackAnaAlg )
 DECLARE_COMPONENT( RPCLv1AnaAlg )