diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/CMakeLists.txt b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/CMakeLists.txt
index 803c02440717659b403b93ffb1200bf6aaa0ceb9..2e2d4285a5177071ab303b52e5b84c72d99a6b0f 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/CMakeLists.txt
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/CMakeLists.txt
@@ -8,7 +8,6 @@ atlas_subdir( MdtVsTgcRawDataMonitoring )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaMonitoring
-                          Control/DataModel
                           Control/StoreGate
                           Event/xAOD/xAODMuon
                           GaudiKernel
@@ -42,7 +41,7 @@ atlas_add_component( MdtVsTgcRawDataMonitoring
                      src/components/*.cxx
                      src/functions/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaMonitoringLib DataModel StoreGateLib SGtests xAODMuon GaudiKernel MuonReadoutGeometry MuonPrepRawData MuonSegment MuonTrigCoinData MuonDQAUtilsLib muonEvent TrkSegment TrkTrack GeoPrimitives Identifier EventPrimitives MuonCalibIdentifier MuonRDO MuonCompetingRIOsOnTrack MuonRIO_OnTrack TrkSurfaces TrkEventPrimitives TrkRIO_OnTrack )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaMonitoringLib StoreGateLib SGtests xAODMuon GaudiKernel MuonReadoutGeometry MuonPrepRawData MuonSegment MuonTrigCoinData MuonDQAUtilsLib muonEvent TrkSegment TrkTrack GeoPrimitives Identifier EventPrimitives MuonCalibIdentifier MuonRDO MuonCompetingRIOsOnTrack MuonRIO_OnTrack TrkSurfaces TrkEventPrimitives TrkRIO_OnTrack )
 
 # Install files from the package:
 atlas_install_headers( MdtVsTgcRawDataMonitoring )
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataValAlg.h
index 4b20401634a14288e125fc51e4867a41398028f8..8ab2c43ed5ed9adfeb884931b9edecfd52c9d10d 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataMonitoring/MdtVsTgcRawDataValAlg.h
@@ -21,7 +21,6 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/NTuple.h"
-#include "DataModel/DataLink.h"
 #include "GaudiKernel/ToolHandle.h"
 
 #include "AthenaMonitoring/AthenaMonManager.h"
@@ -87,7 +86,7 @@ public:
   int numberOfSL(const Muon::TgcCoinDataContainer* tgctrgcontainer);
 
   // private function to convert local roi numbering to global eta, phi numbering
-  void roi2etaphi(Muon::TgcCoinData& cd, //input
+  void roi2etaphi(const Muon::TgcCoinData& cd, //input
                   int& eta, int& phi);//output
   int phi2sector(int phi,int ef);
   int roiphi2mdtSector(int roiphi,int ef);
@@ -138,7 +137,7 @@ public:
   int m_MdtAdcCut;
   int m_MdtTdcCut;
 
-  Muon::TgcCoinData* theSL;
+  const Muon::TgcCoinData* theSL;
   double SLr;
   double SLz;
   double SLeta;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/cmt/requirements b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/cmt/requirements
index 631eed553fb2225a42187aea3aa53dc6c349516e..df94169db729796c8ed09caed6a391e75fbd7ec5 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/cmt/requirements
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/cmt/requirements
@@ -12,7 +12,6 @@ branches run
 
 use     AtlasPolicy             AtlasPolicy-*
 use     StoreGate               StoreGate-*             	Control
-use     DataModel               DataModel-*             	Control
 use     AthenaMonitoring        AthenaMonitoring-*              Control
 use     GaudiInterface          GaudiInterface-*        	External
 use     AtlasROOT               AtlasROOT-*                     External
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawDataValAlg.cxx
index d2dd679f01eb862bf1250342dfa53023b5b0bba5..557835b2290268390019664ade5aec99d70e2c6e 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawDataValAlg.cxx
@@ -57,10 +57,6 @@
 
 using namespace std;
 
-static const int maxColl =   1200;
-static const int maxPRD  =   50000;
-static const int maxClus =   1000;
- 
 /////////////////////////////////////////////////////////////////////////////
 
 MdtVsTgcRawDataValAlg::MdtVsTgcRawDataValAlg( const std::string & type, const std::string & name, const IInterface* parent )
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_correlation.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_correlation.cxx
index 68b3000300251861b675fddc9a565a1feb22fc2d..9ed45222b10ac0077593f6e0bd8397cecf30a880 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_correlation.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_correlation.cxx
@@ -67,7 +67,7 @@ MdtVsTgcRawDataValAlg::correlation(const Muon::MdtPrepDataContainer* mdt_hit_con
          itc!= itc_end;
          ++itc){
 
-      Muon::TgcCoinData* tcd=*itc;
+      const Muon::TgcCoinData* tcd=*itc;
       Identifier tgcid=(*itc)->identify();
 
       if( tcd->type() != Muon::TgcCoinData::TYPE_SL )continue;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_functions.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_functions.cxx
index dae0a60625a227f5bbe53a2360db0ce406bcf208..7e2c53156ea443d59679d4650607a7131152b0b3 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_functions.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_functions.cxx
@@ -30,7 +30,7 @@ using namespace std;
 
 
 void
-MdtVsTgcRawDataValAlg::roi2etaphi(Muon::TgcCoinData& cd, int& eta, int& phi){
+MdtVsTgcRawDataValAlg::roi2etaphi(const Muon::TgcCoinData& cd, int& eta, int& phi){
   
   int roiphi=cd.phi();//phi in 1/48(24) sector for endcap(forward)
   int roi=cd.roi();//0-147(0-63)
@@ -104,7 +104,7 @@ MdtVsTgcRawDataValAlg::numberOfSL(const Muon::TgcCoinDataContainer* tgctrgcontai
          itc!= itc_end;
          ++itc){
 
-      Muon::TgcCoinData* tcd=*itc;
+      const Muon::TgcCoinData* tcd=*itc;
 
       if( tcd->type() != Muon::TgcCoinData::TYPE_SL )continue;
       m_log<<MSG::DEBUG<<"pt"<<tcd->pt()<<endmsg;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_maptgchits.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_maptgchits.cxx
index 6f63e1c2c597b1e2aa6340e9b47249bdf12b6b0e..8089a66eeb0f22664a049107c0084794d8eea984 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_maptgchits.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/MdtVsTgcRawData_maptgchits.cxx
@@ -115,7 +115,7 @@ MdtVsTgcRawDataValAlg::maphists(const xAOD::MuonSegmentContainer *m_newsegment,
     for( Muon::TgcPrepDataCollection::const_iterator tgc_itc=(*tgc_it)->begin();
          tgc_itc!= tgc_itc_end;
          ++tgc_itc){
-      Muon::TgcPrepData* tpd=*tgc_itc;
+      const Muon::TgcPrepData* tpd=*tgc_itc;
       
       // Get detector information
       const MuonGM::TgcReadoutElement *tre = tpd->detectorElement();
@@ -263,7 +263,7 @@ MdtVsTgcRawDataValAlg::maphists(const Trk::SegmentCollection *m_segmcollection,
     for( Muon::TgcPrepDataCollection::const_iterator tgc_itc=(*tgc_it)->begin();
          tgc_itc!= tgc_itc_end;
          ++tgc_itc){
-      Muon::TgcPrepData* tpd=*tgc_itc;
+      const Muon::TgcPrepData* tpd=*tgc_itc;
       
       // Get detector information
       const MuonGM::TgcReadoutElement *tre = tpd->detectorElement();
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_MidstationMatching.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_MidstationMatching.cxx
index b0ed6241428b05e387d3198fd76f0102b4540724..a06c3b0a2e6e085d259fbdf55c933cacd3faa3f8 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_MidstationMatching.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_MidstationMatching.cxx
@@ -309,7 +309,7 @@ MdtVsTgcRawDataValAlg::MidstationOnlyCheck(vector<const Muon::MuonSegment*> (&so
       // Initialise hit registered arrays
       // bool hitregistered[9][2]       = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}};
       bool sectorhitregistered[9][2] = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}};
-      vector<Muon::TgcPrepData*> tpdVector[2];
+      vector<const Muon::TgcPrepData*> tpdVector[2];
       
       // Loop over TGC Prep Data container
       Muon::TgcPrepDataContainer::const_iterator prepit_end=tgc_prepcontainer->end();
@@ -323,7 +323,7 @@ MdtVsTgcRawDataValAlg::MidstationOnlyCheck(vector<const Muon::MuonSegment*> (&so
              prepitc!= prepitc_end;
              ++prepitc){
           // Get PRD and variables
-          Muon::TgcPrepData* tpd=*prepitc;
+          const Muon::TgcPrepData* tpd=*prepitc;
           const MuonGM::TgcReadoutElement *tre = tpd->detectorElement();
           const std::string stationType = tre->getStationType();
           
@@ -412,7 +412,7 @@ MdtVsTgcRawDataValAlg::MidstationOnlyCheck(vector<const Muon::MuonSegment*> (&so
       // Find vector of PRD which forms a coherent line in the vicinity of Segm1
 
       // Variables to hold best PRD matching results
-      vector<Muon::TgcPrepData*> *bestTPDmatches[2];
+      vector<const Muon::TgcPrepData*> *bestTPDmatches[2];
       bestTPDmatches[0] = 0;
       bestTPDmatches[1] = 0;
       if(bestTPDmatches[0]->size()>0) bestTPDmatches[0]->clear();
@@ -429,7 +429,7 @@ MdtVsTgcRawDataValAlg::MidstationOnlyCheck(vector<const Muon::MuonSegment*> (&so
         int nTPD = tpdVector[k].size();
         for(int iTPD1=0;iTPD1<nTPD;iTPD1++){
           // Variables to hold matches found for this PRD
-          vector<Muon::TgcPrepData*> *thisTPDmatches;
+          vector<const Muon::TgcPrepData*> *thisTPDmatches;
 	  thisTPDmatches = 0;
 	  if(thisTPDmatches->size()>0) thisTPDmatches->clear();
           int thisTPDlayerMatches[9] = {0,0,0,0,0,0,0,0,0}; 
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_PRDonTrack.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_PRDonTrack.cxx
index 9bc2f8c7cd903d2dd870aae4ecbf34e9d20b1265..ec37810b9eefa60cdbf63d1a6d43f77eacc0caaf 100644
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_PRDonTrack.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsTgcRawDataMonitoring/src/functions/MdtVsTgcRawData_PRDonTrack.cxx
@@ -261,7 +261,7 @@ MdtVsTgcRawDataValAlg::CheckTGConTrack(vector<SegmTrack> (&matchedSegments)[2],
            prepitc!= prepitc_end;
            ++prepitc){
         // Get PRD and variables
-        Muon::TgcPrepData* tpd=*prepitc;
+        const Muon::TgcPrepData* tpd=*prepitc;
         const MuonGM::TgcReadoutElement *tre = tpd->detectorElement();
         const std::string stationType = tre->getStationType();