From 84a4ca3dc74e669ed26cd62c56b923b63e815b7b Mon Sep 17 00:00:00 2001
From: Salvador Marti I Garcia <salvador.marti@cern.ch>
Date: Mon, 14 Dec 2020 14:21:07 +0000
Subject: [PATCH] IDAlignmentMonitoring: keep debugging

---
 .../src/IDAlignMonEfficiencies.cxx            | 697 +++++++++---------
 .../src/IDAlignMonGenericTracks.cxx           | 141 ++--
 .../src/IDAlignMonResiduals.cxx               |  54 +-
 3 files changed, 450 insertions(+), 442 deletions(-)

diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx
index a1e282594b7..54fff62dd7e 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx
@@ -399,11 +399,12 @@ StatusCode IDAlignMonEfficiencies::initialize()
   }
 
   // get TrackSummaryTool
-  if ( m_trackSumTool.retrieve().isFailure() ) {
-    if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Failed to retrieve tool " << m_trackSumTool << endmsg;
+  if ( m_trackSumTool.retrieve().isSuccess() ) {
+    ATH_MSG_DEBUG ("Retrieving success of track summary tool " << m_trackSumTool);
+  } 
+  else {
+    ATH_MSG_WARNING ("Failed to retrieve track summary tool " << m_trackSumTool);
     return StatusCode::SUCCESS;
-  } else {
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Retrieved tool " << m_trackSumTool << endmsg;
   }
 
   // ReadHandleKey initialization
@@ -713,9 +714,9 @@ void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TH1* histo) {
   if (strncmp (HistName,"hit",3) == 0) histo->GetYaxis()->SetTitle("Number of Possible Hits on Tracks");   
 
   const char * pch;
-  pch = strstr (HistName,"Phi"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
-  pch = strstr (HistName,"Eta"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Eta Identifier");  
-  pch = strstr (HistName,"pT"); if (pch != NULL) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
+  pch = strstr (HistName,"Phi"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
+  pch = strstr (HistName,"Eta"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Eta Identifier");  
+  pch = strstr (HistName,"pT"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
 }
 
 void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TH1F_LW* histo) {
@@ -731,9 +732,9 @@ void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TH1F_LW* histo) {
   if (strncmp (HistName,"hit",3) == 0) histo->GetYaxis()->SetTitle("Number of Possible Hits on Tracks");   
 
   const char * pch;
-  pch = strstr (HistName,"Phi"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
-  pch = strstr (HistName,"Eta"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Eta Identifier");  
-  pch = strstr (HistName,"pT"); if (pch != NULL) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
+  pch = strstr (HistName,"Phi"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
+  pch = strstr (HistName,"Eta"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Eta Identifier");  
+  pch = strstr (HistName,"pT"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
 }
 
 void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TProfile* histo, const std::string & yAxisName) {
@@ -754,9 +755,9 @@ void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TProfile* histo, const
   if (strncmp (HistName,"hole",4) == 0) histo->GetYaxis()->SetTitle("Hole Fraction");     
 
   const char * pch;
-  pch = strstr (HistName,"Phi"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
-  pch = strstr (HistName,"Eta"); if (pch != NULL) histo->GetXaxis()->SetTitle("Module Eta Identifier"); 
-  pch = strstr (HistName,"pT"); if (pch != NULL) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
+  pch = strstr (HistName,"Phi"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Phi Identifier"); 
+  pch = strstr (HistName,"Eta"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Module Eta Identifier"); 
+  pch = strstr (HistName,"pT"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Signed Track pT [GeV]"); 
 }
 
 void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TH2* histo) {
@@ -781,16 +782,18 @@ void IDAlignMonEfficiencies::RegisterHisto(MonGroup& mon, TProfile2D* histo) {
 
   const char* HistName = histo->GetName();
   const char * pch;
-  pch = strstr (HistName,"pix_eca"); if (pch != NULL) histo->GetXaxis()->SetTitle("Pixel ECA Disk"); 
-  pch = strstr (HistName,"pix_ecc"); if (pch != NULL) histo->GetXaxis()->SetTitle("Pixel ECC Disk"); 
-  pch = strstr (HistName,"sct_eca"); if (pch != NULL) histo->GetXaxis()->SetTitle("SCT ECA Disk"); 
-  pch = strstr (HistName,"sct_ecc"); if (pch != NULL) histo->GetXaxis()->SetTitle("SCT ECC Disk"); 
+  pch = strstr (HistName,"pix_eca"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Pixel ECA Disk"); 
+  pch = strstr (HistName,"pix_ecc"); if (pch != nullptr) histo->GetXaxis()->SetTitle("Pixel ECC Disk"); 
+  pch = strstr (HistName,"sct_eca"); if (pch != nullptr) histo->GetXaxis()->SetTitle("SCT ECA Disk"); 
+  pch = strstr (HistName,"sct_ecc"); if (pch != nullptr) histo->GetXaxis()->SetTitle("SCT ECC Disk"); 
+  return;
 }
 
-
+///////////////////////////////////////////////////
 StatusCode IDAlignMonEfficiencies::fillHistograms()
 {
   m_events++;
+  ATH_MSG_DEBUG ("IDAlignMonEfficiencies::fillHistograms ** START ** call for m_events " << m_events << " for track collection: " <<   m_tracksName.key());
 
   SG::ReadHandle<xAOD::EventInfo> eventInfo{m_eventInfoKey};
   if (not eventInfo.isValid()) {
@@ -798,28 +801,34 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
     return StatusCode::FAILURE;
   }
   unsigned int LumiBlock = eventInfo->lumiBlock();
+  ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** Run: " << eventInfo->runNumber() 
+		 << "   Event: " <<  eventInfo->eventNumber()
+		 << "   LumiBlock: " << LumiBlock);
   
   // get TrackCollection
   SG::ReadHandle<TrackCollection> tracks{m_tracksName};
   if (not tracks.isValid()) {
-    ATH_MSG_ERROR(m_tracksName.key() << " could not be retrieved");
+    ATH_MSG_WARNING (m_tracksName.key() << " could not be retrieved");
+    ATH_MSG_DEBUG ("IDAlignMonEfficiencies::fillHistograms ** COMPLETED ** for m_events " << m_events << " -- NO track collection: " <<   m_tracksName.key() << " -- ");
     return StatusCode::RECOVERABLE;
   }
+
   const DataVector<Trk::Track>* trks = m_trackSelection->selectTracks(tracks);
   DataVector<Trk::Track>::const_iterator trksItr  = trks->begin();
   DataVector<Trk::Track>::const_iterator trksItrE = trks->end();
-  for (; trksItr != trksItrE; ++trksItr) {
-    
-  
+
+  int nTrackCount = 0;
+  ATH_MSG_DEBUG ("** IDAlignMonEfficiencies::fillHistograms ** starting loop over tracks. Ntrks: " << tracks->size()); 
+  for (; trksItr != trksItrE; ++trksItr) {    
+    nTrackCount++;
+    ATH_MSG_DEBUG ("  dealing with track #" << nTrackCount << " / " << tracks->size());
     float qOverP         = -999;
     float trkpt          = -999;
     float charge         = 0;
     float abs_trkpt      = -999;     //charge*trkpt
 
-    
-
     const Trk::Perigee* measPer = (*trksItr)->perigeeParameters();
-    const AmgSymMatrix(5)* covariance = measPer ? measPer->covariance() : NULL;
+    const AmgSymMatrix(5)* covariance = measPer ? measPer->covariance() : nullptr;
     
     if (measPer && covariance) {
       AmgVector(5) perigeeParams = measPer->parameters();
@@ -830,10 +839,9 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
       else charge=+1; 			      
       abs_trkpt = charge*trkpt;                        
     }
-    else
-      {
-	if(msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "No measured perigee parameters assigned to the track" << endmsg; 
-      }
+    else {
+      ATH_MSG_WARNING ("No measured perigee parameters assigned to the track " << nTrackCount); 
+    }
 
     // loop over all hits on track
     const DataVector<const Trk::TrackStateOnSurface>* TSOS;
@@ -841,13 +849,12 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
     DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItr  = TSOS->begin();
     DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItrE = TSOS->end();
 
-    if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE)<<"starting to loop over TSOS"<<endmsg;
+    ATH_MSG_VERBOSE ("Track #" << nTrackCount << "/" <<tracks->size() << " has " << TSOS->size() << " TSOS. Starting loop over TSOS");
      
     for (; TSOSItr != TSOSItrE; ++TSOSItr) {
-
       //check that we have track parameters defined for the surface (pointer is not null)
       if(!((*TSOSItr)->trackParameters())) {
-	if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit skipped because no associated track parameters" << endmsg;
+	ATH_MSG_DEBUG ("hit skipped because no associated track parameters");
 	continue;
       }
       
@@ -855,7 +862,7 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
       const Trk::MeasurementBase* mesb=(*TSOSItr)->measurementOnTrack();
 
       // hits, outliers
-      if (mesb != 0 && mesb->associatedSurface().associatedDetectorElement()!=NULL) surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
+      if (mesb != 0 && mesb->associatedSurface().associatedDetectorElement()!= nullptr) surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
 
       // holes, perigee 
       else surfaceID = (*TSOSItr)->trackParameters()->associatedSurface().associatedDetectorElementIdentifier(); 
@@ -883,14 +890,12 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
       //hit quality cuts for Si hits if tool is configured - default is NO CUTS
       if (detType ==0 ||  detType==1){
 	if (detType==0){//pixel
-	  
 	  barrelEC  = m_pixelID -> barrel_ec(surfaceID);
 	  layerDisk = m_pixelID -> layer_disk(surfaceID);
 	  modEta    = m_pixelID -> eta_module(surfaceID);
 	  modPhi    = m_pixelID -> phi_module(surfaceID);
 	}
 	else {          //sct. Since detType == 0 or detType == 1 here
-	 
 	  barrelEC  = m_sctID->barrel_ec(surfaceID);
 	  layerDisk = m_sctID->layer_disk(surfaceID);
 	  modEta    = m_sctID->eta_module(surfaceID);
@@ -898,18 +903,21 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
 	  sctSide   = m_sctID->side(surfaceID);
 	}
 
-
 	if(m_doHitQuality) {
-	  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "applying hit quality cuts to Silicon hit..." << endmsg;
+	  ATH_MSG_DEBUG ("applying hit quality cuts to Silicon hit...");
 	  
 	  const Trk::RIO_OnTrack* hit = m_hitQualityTool->getGoodHit(*TSOSItr);
-	  if(hit==NULL) {
-	    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit failed quality cuts and is rejected." << endmsg;
+	  if(hit == nullptr) {
+	    ATH_MSG_DEBUG(" -- hit failed quality cuts and is rejected.");
 	    continue;
 	  }
-	    else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit passed quality cuts" << endmsg;
+	  else {
+	    ATH_MSG_DEBUG (" -- hit passed quality cuts");
+	  }
+	}
+	else {
+	  ATH_MSG_DEBUG ("hit quality cuts NOT APPLIED to Silicon hit.");
 	}
-	else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit quality cuts NOT APPLIED to Silicon hit." << endmsg;
       }
 
       /** Get information for the TRT hits */
@@ -1235,306 +1243,313 @@ StatusCode IDAlignMonEfficiencies::fillHistograms()
 	
       } // end of outliers 
     } // TSOS on track 
+    ATH_MSG_DEBUG(" End of loop on TSOS of track " << nTrackCount << "  Now searching for holes ");
     
-    std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(**trksItr);
-    if( !summary->get(Trk::numberOfPixelHits) && !summary->get(Trk::numberOfSCTHits) && (summary->get(Trk::numberOfPixelHoles)==0) && (summary->get(Trk::numberOfSCTHoles)==0) && (m_doHoleSearch)){
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "No Pixel or SCT hits skip hole search" << endmsg;
-      continue;
-    }
-
     const DataVector<const Trk::TrackStateOnSurface>* HTSOS;
-    HTSOS = m_holeSearchTool->getHolesOnTrack(**trksItr); 
-    DataVector<const Trk::TrackStateOnSurface>::const_iterator HTSOSItr  = HTSOS->begin();
-    DataVector<const Trk::TrackStateOnSurface>::const_iterator HTSOSItrE = HTSOS->end();
-
-    for (; HTSOSItr != HTSOSItrE; ++HTSOSItr) { // Loop on Holes on Track (HTSOS)    
-      Identifier surfaceID;
-      const Trk::MeasurementBase* mesb=(*HTSOSItr)->measurementOnTrack();
-      // hits, outliers
-      if (mesb != 0 && mesb->associatedSurface().associatedDetectorElement()!=NULL) surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
-      // holes, perigee 
-      else surfaceID = (*HTSOSItr)->trackParameters()->associatedSurface().associatedDetectorElementIdentifier(); 
-
-      int detType = 99;
-      int barrelEC = 99;
-      int layerDisk = 99;
-      int sctSide   = 99;
-      int modEta = 9999;
-      int modPhi = 9999;
-      if (m_idHelper->is_trt(surfaceID)) detType = 2;
-      else if (m_idHelper->is_sct(surfaceID)) detType = 1;
-      else if (m_idHelper->is_pixel(surfaceID)) detType = 0;
-      //hit quality cuts for Si hits if tool is configured - default is NO CUTS
-      if (detType==0 ||  detType==1){
-	if (detType==0){//pixel
-	  
-	  barrelEC  = m_pixelID -> barrel_ec(surfaceID);
-	  layerDisk = m_pixelID -> layer_disk(surfaceID);
-	  modEta    = m_pixelID -> eta_module(surfaceID);
-	  modPhi    = m_pixelID -> phi_module(surfaceID);
+    if (m_holeSearchTool != 0) {
+      HTSOS = m_holeSearchTool->getHolesOnTrack(**trksItr);
+      ATH_MSG_DEBUG (" -- Hole TSOS collection has size " << HTSOS->size());
+      DataVector<const Trk::TrackStateOnSurface>::const_iterator HTSOSItr  = HTSOS->begin();
+      DataVector<const Trk::TrackStateOnSurface>::const_iterator HTSOSItrE = HTSOS->end();
+
+      int holeCount = 0;
+      for (; HTSOSItr != HTSOSItrE; ++HTSOSItr) { // Loop on Holes on Track (HTSOS)
+	holeCount++;
+	ATH_MSG_VERBOSE (" -- Hole number " << holeCount);
+	
+	Identifier surfaceID;
+	const Trk::MeasurementBase* mesb=(*HTSOSItr)->measurementOnTrack();
+	// hits, outliers
+	if (mesb != 0 && mesb->associatedSurface().associatedDetectorElement()!= nullptr) surfaceID = mesb->associatedSurface().associatedDetectorElement()->identify();
+	// holes, perigee
+	else surfaceID = (*HTSOSItr)->trackParameters()->associatedSurface().associatedDetectorElementIdentifier();
+	
+	int detType = 99;
+	int barrelEC = 99;
+	int layerDisk = 99;
+	int sctSide   = 99;
+	int modEta = 9999;
+	int modPhi = 9999;
+	if (m_idHelper->is_trt(surfaceID)) detType = 2;
+	else if (m_idHelper->is_sct(surfaceID)) detType = 1;
+	else if (m_idHelper->is_pixel(surfaceID)) detType = 0;
+	//hit quality cuts for Si hits if tool is configured - default is NO CUTS
+	if (detType==0 ||  detType==1){
+	  if (detType==0){//pixel
+	    
+	    barrelEC  = m_pixelID -> barrel_ec(surfaceID);
+	    layerDisk = m_pixelID -> layer_disk(surfaceID);
+	    modEta    = m_pixelID -> eta_module(surfaceID);
+	    modPhi    = m_pixelID -> phi_module(surfaceID);
+	  }
+	  else {          //sct. Since detType == 0 or detType == 1 here
+	    
+	    barrelEC  = m_sctID->barrel_ec(surfaceID);
+	    layerDisk = m_sctID->layer_disk(surfaceID);
+	    modEta    = m_sctID->eta_module(surfaceID);
+	    modPhi    = m_sctID->phi_module(surfaceID);
+	    sctSide   = m_sctID->side(surfaceID);
+	  }
+	  if(m_doHitQuality) {
+	    ATH_MSG_DEBUG ("applying hole quality cuts to Silicon hole...");
+	    
+	    if(!m_hitQualityTool->getGoodHole(*HTSOSItr)) {
+	      ATH_MSG_DEBUG ("hole failed quality cuts and is rejected.");
+	      continue;
+	    }
+	    else {
+	      ATH_MSG_DEBUG ("hole passed quality cuts");
+	    }
+	  }
+	  else {
+	    ATH_MSG_DEBUG ("hole quality cuts NOT APPLIED to Silicon hole.");
+	  }
 	}
-	else {          //sct. Since detType == 0 or detType == 1 here
+	
+	if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement) || (*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier) || (*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole) ){
 	  
-	  barrelEC  = m_sctID->barrel_ec(surfaceID);
-	  layerDisk = m_sctID->layer_disk(surfaceID);
-	  modEta    = m_sctID->eta_module(surfaceID);
-	  modPhi    = m_sctID->phi_module(surfaceID);
-	  sctSide   = m_sctID->side(surfaceID);
-	}
-	if(m_doHitQuality) {
-	  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "applying hole quality cuts to Silicon hole..." << endmsg;
+	  // all possible type of holes
+	  // --- pixel
+	  if (detType==0){
+	    if (barrelEC == 0){
+	      // msg(MSG::WARNING) << " ** HOLE FOUND ** Pixel barrel ** layer_disk=" << m_pixelID->layer_disk(surfaceID) << ", eta=" << m_pixelID->eta_module(surfaceID) << ", phi=" << m_pixelID->phi_module(surfaceID) << endmsg;
+	      
+	      
+	      bool knownType = false;
+	      if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement)) {
+		knownType = true;
+	      }
+	      if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier)) {
+		knownType = true;
+	      }
+	      if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole)) {
+		knownType = true;
+	      }
+	      if (!knownType) ATH_MSG_DEBUG ("IDAlignment Monitoring HitEfficiencies Type: -- UNKNOWN -- ");
+	      
+	      
+	      m_hits_vs_layer_barrel -> Fill(layerDisk);
+	      m_hits_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi); 
+	      m_hits_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
+	      m_hits_vs_LB_pix_b[layerDisk]  -> Fill(float(LumiBlock));
+	      m_hits_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
+	      m_hits_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
+	      
+	    }//barrel
+	    // ----------- eca
+	    else if (barrelEC == 2){ 
+	      m_hits_vs_layer_eca -> Fill(layerDisk);
+	      m_hits_vs_Phi_pix_eca[layerDisk] -> Fill(modPhi);
+	      m_hits_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
+	      m_hits_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
+	    } // eca
+	    // ----------- ecc
+	    else if (barrelEC == -2){ 
+	      m_hits_vs_layer_ecc -> Fill(layerDisk);
+	      m_hits_vs_Phi_pix_ecc[layerDisk] -> Fill(modPhi);
+	      m_hits_vs_LB_pix_ecc[layerDisk]  -> Fill(float(LumiBlock));
+	      m_hits_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
+	    } // ecc
+	  } // pixels
 	  
-	  if(!m_hitQualityTool->getGoodHole(*HTSOSItr)) {
-	    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hole failed quality cuts and is rejected." << endmsg;
-	    continue;
-	  }
-	  else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hole passed quality cuts" << endmsg;
-	}
-	else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hole quality cuts NOT APPLIED to Silicon hole." << endmsg;
-      }
-      
-      
-      if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement) || (*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier) || (*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole) ){
-
-	// all possible type of holes
-	// --- pixel
-	if (detType==0){
-	  if (barrelEC == 0){
-	    // msg(MSG::WARNING) << " ** HOLE FOUND ** Pixel barrel ** layer_disk=" << m_pixelID->layer_disk(surfaceID) << ", eta=" << m_pixelID->eta_module(surfaceID) << ", phi=" << m_pixelID->phi_module(surfaceID) << endmsg;
+	  // --- sct
+	  else if (detType==1){
+	    if (barrelEC == 0)
+	      { 
+		
+		m_hits_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk + sctSide);
+		
+		m_hits_vs_Eta_Phi_sct_b[layerDisk] -> Fill(modEta,modPhi);
+		if (sctSide == 0) m_hits_vs_Eta_Phi_sct_s0_b[layerDisk] -> Fill(modEta,modPhi);
+		if (sctSide == 1) m_hits_vs_Eta_Phi_sct_s1_b[layerDisk] -> Fill(modEta,modPhi);
+		m_hits_vs_Eta_sct_b[layerDisk] -> Fill(modEta);
+		m_hits_vs_Phi_sct_b[layerDisk] -> Fill(modPhi);
+		m_hits_vs_pT_sct_b[layerDisk] -> Fill(abs_trkpt);
+		m_hits_vs_LB_sct_b[layerDisk] -> Fill(float(LumiBlock));
+	      }
+	    else if (barrelEC == 2){ 
+	      m_hits_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
+	      m_hits_vs_Phi_sct_eca[layerDisk] -> Fill(modPhi);
+	      
+	      m_hits_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
+	    }
+	    else if (barrelEC == -2){ 
+	      m_hits_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
+	      m_hits_vs_Phi_sct_ecc[layerDisk] -> Fill(modPhi);	  
+	      m_hits_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
+	    }
+	  }//sct
+	} // all possible holes
+	
+	// filling histograms for holes being holes
+	if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole) ){
 	  
-	   
-	    bool knownType = false;
-	    if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement)) {
-	      knownType = true;
-	      //std::cout << " Type: Measurement ";
+	  // holes per layer and per hit
+	  // --- pixel
+	  if (detType==0){
+	    if (barrelEC == 0){
+	      m_holes_vs_layer_barrel -> Fill(layerDisk);
+	      m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
+	      m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
+	      m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
+	      m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
 	    }
-	    if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier)) {
-	      knownType = true;
-	      //std::cout << " Type: Outlier ";
+	    // ----------- eca
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
 	    }
-	    if ((*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole)) {
-	      knownType = true;
-	      //std::cout << " Type: Hole ";
+	    // ----------- ecc
+	    else if (barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
 	    }
-	    if (!knownType)  std::cout << "IDAlignment Monitoring HitEfficiencies Type: -- UNKNOWN -- "<<std::endl;
-	    
-  
-	     m_hits_vs_layer_barrel -> Fill(layerDisk);
-	    m_hits_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi); 
-	    m_hits_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
-	    m_hits_vs_LB_pix_b[layerDisk]  -> Fill(float(LumiBlock));
-	    m_hits_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
-	    m_hits_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
-	   
-	  }//barrel
-	  // ----------- eca
-	  else if (barrelEC == 2){ 
-	    m_hits_vs_layer_eca -> Fill(layerDisk);
-	    m_hits_vs_Phi_pix_eca[layerDisk] -> Fill(modPhi);
-	    m_hits_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
-	    m_hits_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
-	  } // eca
-	  // ----------- ecc
-	  else if (barrelEC == -2){ 
-	    m_hits_vs_layer_ecc -> Fill(layerDisk);
-	    m_hits_vs_Phi_pix_ecc[layerDisk] -> Fill(modPhi);
-	    m_hits_vs_LB_pix_ecc[layerDisk]  -> Fill(float(LumiBlock));
-	    m_hits_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
-	  } // ecc
-	} // pixels
-
-	// --- sct
-	else if (detType==1){
-	  if (barrelEC == 0)
-	    { 
-
-	      m_hits_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk + sctSide);
+	  } // pix
+	  // --- sct holes
+	  else if (detType==1){
+	    if (barrelEC==0) {
+	      m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
 	      
-	      m_hits_vs_Eta_Phi_sct_b[layerDisk] -> Fill(modEta,modPhi);
-	      if (sctSide == 0) m_hits_vs_Eta_Phi_sct_s0_b[layerDisk] -> Fill(modEta,modPhi);
-	      if (sctSide == 1) m_hits_vs_Eta_Phi_sct_s1_b[layerDisk] -> Fill(modEta,modPhi);
-	      m_hits_vs_Eta_sct_b[layerDisk] -> Fill(modEta);
-	      m_hits_vs_Phi_sct_b[layerDisk] -> Fill(modPhi);
-	      m_hits_vs_pT_sct_b[layerDisk] -> Fill(abs_trkpt);
-	      m_hits_vs_LB_sct_b[layerDisk] -> Fill(float(LumiBlock));
-	    }
-	  else if (barrelEC == 2){ 
-	    m_hits_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
-	    m_hits_vs_Phi_sct_eca[layerDisk] -> Fill(modPhi);
-	    
-	    m_hits_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
-	  }
-	  else if (barrelEC == -2){ 
-	    m_hits_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
-	    m_hits_vs_Phi_sct_ecc[layerDisk] -> Fill(modPhi);	  
-	    m_hits_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
-	  }
-	}//sct
-      } // all possible holes
-
-      // filling histograms for holes being holes
-      if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Hole) ){
-
-	// holes per layer and per hit
-	// --- pixel
-	if (detType==0){
-	  if (barrelEC == 0){
-	    m_holes_vs_layer_barrel -> Fill(layerDisk);
-	    m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
-	    m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
-	    m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
-	    m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
-	  }
-	  // ----------- eca
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
-	  }
-	  // ----------- ecc
-	  else if (barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
-	  }
-	} // pix
-	// --- sct holes
-	else if (detType==1){
-	  if (barrelEC==0) {
-	    m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
-	    
 	      m_holes_vs_Eta_Phi_sct_b[layerDisk] -> Fill(modEta,modPhi);
 	      m_holes_vs_Eta_sct_b[layerDisk] -> Fill(modEta);
 	      m_holes_vs_Phi_sct_b[layerDisk] -> Fill(modPhi);
 	      m_holes_vs_pT_sct_b[layerDisk] -> Fill(abs_trkpt);
-	   
-	  }
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
-	  }
-	  
-	  else if (detType==1 && barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
-	  }	
-	} // sct
-      } // holes as holes     
-
-      // filling histograms for holes being outliers
-      if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier) ){
-	
-	//This section has to be removed. There is no hole flagged as outlier. I've checked it (PF)
-	
-	// holes per layer and per hit
-	// --- pixel
-	if (detType==0){
-	  if (barrelEC == 0){
-	    m_holes_vs_layer_barrel -> Fill(layerDisk);
-	    m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
-	    m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
-	    m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
-	    m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
-	  }
-	  // ----------- eca
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
-	  }
-	  // ----------- ecc
-	  else if (barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
-	  }
-	} // pix
-
-	// --- sct holes
-	else if (detType==1){
-	  if (barrelEC==0) {
-	    m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
+	      
+	    }
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
+	    }
 	    
+	    else if (detType==1 && barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
+	    }	
+	  } // sct
+	} // holes as holes     
+	
+	// filling histograms for holes being outliers
+	if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Outlier) ){
+	  
+	  //This section has to be removed. There is no hole flagged as outlier. I've checked it (PF)
+	  
+	  // holes per layer and per hit
+	  // --- pixel
+	  if (detType==0){
+	    if (barrelEC == 0){
+	      m_holes_vs_layer_barrel -> Fill(layerDisk);
+	      m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
+	      m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
+	      m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
+	      m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
+	    }
+	    // ----------- eca
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
+	    }
+	    // ----------- ecc
+	    else if (barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
+	    }
+	  } // pix
+	  
+	  // --- sct holes
+	  else if (detType==1){
+	    if (barrelEC==0) {
+	      m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
+	      
 	      m_holes_vs_Eta_Phi_sct_b[layerDisk] -> Fill(modEta,modPhi);
 	      m_holes_vs_Eta_sct_b[layerDisk] -> Fill(modEta);
 	      m_holes_vs_Phi_sct_b[layerDisk] -> Fill(modPhi);
 	      m_holes_vs_pT_sct_b[layerDisk] -> Fill(abs_trkpt);
-	   
-	  }
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
-	  }
-	  
-	  else if (detType==1 && barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
-	  }	
-	} // sct
-      } // holes as outliers     
-
-      // filling histograms for holes being measurements 
-      if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement) ){
-
-	//This has to be removed. There are no holes flagged as measurements. Checked it. PF
-
-	// holes per layer and per hit
-	// --- pixel
-	if (detType==0){
-	  if (barrelEC == 0){
-	    m_holes_vs_layer_barrel -> Fill(layerDisk);
-	    m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
-	    m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
-	    m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
-	    m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
-	  }
-	  // ----------- eca
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
-	  }
-	  // ----------- ecc
-	  else if (barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(layerDisk);
-	    m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
-	    m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
-	  }
-	} // pix
-
-	// --- sct holes
-	else if (detType==1){
-	  if (barrelEC==0) {
-	    m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
+	      
+	    }
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
+	    }
 	    
+	    else if (detType==1 && barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
+	    }	
+	  } // sct
+	} // holes as outliers     
+	
+	// filling histograms for holes being measurements 
+	if ( (*HTSOSItr)->type(Trk::TrackStateOnSurface::Measurement) ){
+	  
+	  //This has to be removed. There are no holes flagged as measurements. Checked it. PF
+	  
+	  // holes per layer and per hit
+	  // --- pixel
+	  if (detType==0){
+	    if (barrelEC == 0){
+	      m_holes_vs_layer_barrel -> Fill(layerDisk);
+	      m_holes_vs_Eta_Phi_pix_b[layerDisk] -> Fill(modEta,modPhi);
+	      m_holes_vs_Eta_pix_b[layerDisk] -> Fill(modEta);
+	      m_holes_vs_Phi_pix_b[layerDisk] -> Fill(modPhi);
+	      m_holes_vs_LB_pix_b[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_pT_pix_b[layerDisk] -> Fill(abs_trkpt);
+	    }
+	    // ----------- eca
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_eca[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_eca -> Fill(layerDisk, modPhi);
+	    }
+	    // ----------- ecc
+	    else if (barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(layerDisk);
+	      m_holes_vs_LB_pix_ecc[layerDisk] -> Fill(float(LumiBlock));
+	      m_holes_vs_Eta_Phi_pix_ecc -> Fill(layerDisk, modPhi);
+	    }
+	  } // pix
+	  
+	  // --- sct holes
+	  else if (detType==1){
+	    if (barrelEC==0) {
+	      m_holes_vs_layer_barrel -> Fill(m_NPixLayers + 2*layerDisk +sctSide);
+	      
 	      m_holes_vs_Eta_Phi_sct_b[layerDisk] -> Fill(modEta,modPhi);
 	      m_holes_vs_Eta_sct_b[layerDisk] -> Fill(modEta);
 	      m_holes_vs_Phi_sct_b[layerDisk] -> Fill(modPhi);
 	      m_holes_vs_pT_sct_b[layerDisk] -> Fill(abs_trkpt);
-	   
-	  }
-	  else if (barrelEC == 2){ 
-	    m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
-	  }
-	  
-	  else if (detType==1 && barrelEC == -2){ 
-	    m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
-	    m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
-	  }	
-	} // sct
-      } // holes as measurements (?)    
-    }   
-    delete HTSOS;   
+	      
+	    }
+	    else if (barrelEC == 2){ 
+	      m_holes_vs_layer_eca -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_eca -> Fill(layerDisk, modPhi);
+	    }
+	    
+	    else if (detType==1 && barrelEC == -2){ 
+	      m_holes_vs_layer_ecc -> Fill(3 + 2*layerDisk + sctSide);
+	      m_holes_vs_Eta_Phi_sct_ecc -> Fill(layerDisk, modPhi);
+	    }	
+	  } // sct
+	} // holes as measurements (?)    
+      }   
+      ATH_MSG_DEBUG ("end of loop on " << HTSOS->size() << " holes ");
+      delete HTSOS;
+    } // hole tool exists   
   } 
+  ATH_MSG_DEBUG ("end of loop on " << nTrackCount << " tracks ok");
   delete trks; 
+
+  ATH_MSG_DEBUG ("IDAlignMonEfficiencies::fillHistograms ** COMPLETED ** for m_events " << m_events << " and track collection: " <<   m_tracksName.key());
   return StatusCode::SUCCESS;
 }
-
+/////////////////////////////////////////////////////////////////////////////////////////
 void IDAlignMonEfficiencies::makeEffHisto(TH1F* h_num, TH1F* h_denom, TProfile* h_eff) {
+
   if ( AthenaMonManager::environment() == AthenaMonManager::online ) {
       h_eff->Reset("ICE");
   }
@@ -1556,38 +1571,33 @@ void IDAlignMonEfficiencies::makeEffHisto(TH1F* h_num, TH1F* h_denom, TProfile*
   SetMinWindow(h_eff, m_minSiliconEffWindow, m_maxSiliconEffWindow); 
 }
 
+/////////////////////////////////////////////////////////////////////////////////////////
 void IDAlignMonEfficiencies::makeEffHisto(TH1F_LW* h_num, TH1F_LW* h_denom, TProfile* h_eff) {
   if ( AthenaMonManager::environment() == AthenaMonManager::online ) {
       h_eff->Reset("ICE");
   }
 
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "in makeEffHisto  " << endmsg;
+  ATH_MSG_DEBUG ("in makeEffHisto for " << h_num->GetName() << " / " << h_denom->GetName());
   int Nbins;
   Nbins = h_num->GetNbinsX();
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Nbins is  " << Nbins << endmsg;
+  ATH_MSG_DEBUG ("Nbins is: " << Nbins);
   for (int bin=0; bin!=Nbins; ++bin) {
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "bin is  " << bin << endmsg;
     int Npass = int(h_num->GetBinContent(bin+1));
     int Nfail = int(h_denom->GetBinContent(bin+1)) - Npass;
     
     float binSize = (h_denom->getXMax() - h_denom->getXMin())/h_denom->GetNbinsX();
     double x = h_denom->getXMin() + binSize * bin + binSize/2;
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Npass is  " << Npass << endmsg;
     for (int pass=0; pass<Npass; ++pass) {
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "pass is  " << pass << endmsg;
       h_eff->Fill(x,1.);
     }
 
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Nfail is  " << Nfail << endmsg;
     for (int fail=0; fail<Nfail; ++fail) {
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "fail is  " << fail << endmsg;
       h_eff->Fill(x,0.);
     }
   }
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Out of loop  " << endmsg;
   SetMinWindow(h_eff, m_minSiliconEffWindow, m_maxSiliconEffWindow); 
   
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "leaving makeEffHisto  " << Nbins << endmsg;
+  ATH_MSG_DEBUG ("leaving makeEffHisto with Nbins " << Nbins);
   return;
 }
 
@@ -1663,8 +1673,10 @@ void IDAlignMonEfficiencies::makeEffHisto(TH2F* h_num, TH2F* h_denom, TH2F* h_ef
 	      if (myEff < 0.01) myEff = 0.01; //trick to distinguish between few entries and not working modules or too low statistics (doComputeEff = false --> Eff = 0 % )
 	      h_eff->SetBinContent(bin+1,binY+1, myEff);
       }
-      if (doComputeEff) std::cout << "  Eff= " << myEff;
-      std::cout << std::endl;
+      ATH_MSG_INFO (" -- eff for module ( " << bin << ", " << binY << ")" 
+		    <<"  Nseen= " << NSeenHits
+		    << "  NExpected= " << NExpected 
+		    << "  Eff= " << h_eff->GetBinContent(bin, binY));
     }
   }
   return;
@@ -1687,7 +1699,7 @@ void IDAlignMonEfficiencies::makeEffHistoWithCut(TH2F* h_num, TH2F* h_denom, TPr
       NExpected = h_denom->GetBinContent(bin+1,binY+1);
       doComputeEff = false; // check that there is a mimimum of entries
       if (NExpected > 10) doComputeEff = true; 
-      if (NSeenHits >  3) doComputeEff = true;
+      if (NSeenHits >  5) doComputeEff = true;
       if (doComputeEff) {
         float this_x = h_denom->GetXaxis()->GetBinCenter(bin+1);
         float this_y = h_denom->GetYaxis()->GetBinCenter(binY+1);
@@ -1696,19 +1708,19 @@ void IDAlignMonEfficiencies::makeEffHistoWithCut(TH2F* h_num, TH2F* h_denom, TPr
           h_eff->Fill(this_x, this_y, fillValue);
         }
       }
-      std::cout << " -- SALVA -- eff for module ( " << bin << ", " << binY << ")  Nseen= " << NSeenHits << "  NExpected= " << NExpected;
-      std::cout << "  ComputeEff= " << doComputeEff;
-      if (doComputeEff) std::cout << "  Eff= " << h_eff->GetBinContent(bin, binY);
-      std::cout << std::endl;
+      ATH_MSG_INFO (" -- eff for module ( " << bin << ", " << binY << ")" 
+		    <<"  Nseen= " << NSeenHits
+		    << "  NExpected= " << NExpected 
+		    << "  Eff= " << h_eff->GetBinContent(bin, binY));
     }
   }
   return;
 }
 
-
+///////////////////////////////////////////////////////////////////////////////////////////////
 StatusCode IDAlignMonEfficiencies::procHistograms()
 {
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "In procHistograms" << endmsg;
+  ATH_MSG_DEBUG("-- procHistograms -- START");
   if( endOfRunFlag() || ( ( AthenaMonManager::environment() == AthenaMonManager::online ) && endOfLumiBlockFlag() ) ) {
     // -----------------------------------------------------------------------
     //
@@ -1873,11 +1885,10 @@ StatusCode IDAlignMonEfficiencies::procHistograms()
       }
 
     /**  TRT Processing */
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Doint the TRT pocessing" << endmsg;
+    ATH_MSG_DEBUG ("Doing the TRT Barrel pocessing");
     /** TRT Barrel */
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Barrel" << endmsg;
     for(int i=0; i<3;i++) {
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "layer is " << i << endmsg;
+      ATH_MSG_DEBUG (" -- TRT barrel layer is " << i);
       makeEffHisto(m_trt_b_hist->outliers_vs_phiSector[i], m_trt_b_hist->totHits_vs_phiSector[i], m_trt_b_hist->outliers_eff_vs_phiSector[i]);
       makeEffHisto(m_trt_b_hist->hits_vs_phiSector[i], m_trt_b_hist->totHits_vs_phiSector[i], m_trt_b_hist->hits_eff_vs_phiSector[i]);
       makeEffHisto(m_trt_b_hist->tubeHits_vs_phiSector[i], m_trt_b_hist->totHits_vs_phiSector[i], m_trt_b_hist->tubeHits_eff_vs_phiSector[i]);
@@ -1886,10 +1897,10 @@ StatusCode IDAlignMonEfficiencies::procHistograms()
     makeEffHisto(m_trt_b_hist->hits_vs_StrawLay, m_trt_b_hist->totHits_vs_StrawLay, m_trt_b_hist->hits_eff_vs_StrawLay);
     makeEffHisto(m_trt_b_hist->tubeHits_vs_StrawLay, m_trt_b_hist->totHits_vs_StrawLay, m_trt_b_hist->tubeHits_eff_vs_StrawLay);
     
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Endcap" << endmsg;
+    ATH_MSG_DEBUG ("Doing the TRT EndCap pocessing");
     /**  TRT Endcap */
     for(unsigned int endcap = 0; endcap<2; ++endcap){
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "endcap is " << endcap << endmsg;
+      ATH_MSG_DEBUG ("-- TRT endcap is " << endcap);
       makeEffHisto(m_trt_ec_hist->outliers_vs_ring[endcap], 
 		   m_trt_ec_hist->totHits_vs_ring[endcap], 
 		   m_trt_ec_hist->outliers_eff_vs_ring[endcap]);
@@ -1914,7 +1925,7 @@ StatusCode IDAlignMonEfficiencies::procHistograms()
 		   m_trt_ec_hist->totHits_vs_phiSector[endcap],
 		   m_trt_ec_hist->tubeHits_eff_vs_phiSector[endcap]);
     }
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Done TRT Processing" << endmsg;
+    ATH_MSG_DEBUG ("TRT Processing completed");
     //========================
   
 
@@ -1966,8 +1977,8 @@ std::pair<const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> IDAl
   
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "in  IDAlignMonEfficiencies::findOverlapHit()"<< endmsg;
 
-  const Trk::TrackStateOnSurface* xOverlap = NULL;
-  const Trk::TrackStateOnSurface* yOverlap = NULL;
+  const Trk::TrackStateOnSurface* xOverlap = nullptr;
+  const Trk::TrackStateOnSurface* yOverlap = nullptr;
 
   if(!hit) {
     if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit is NULL; abandoning overlap search"<< endmsg;
@@ -1976,7 +1987,7 @@ std::pair<const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> IDAl
   }
 
   Identifier hitId;
-  if (hit->associatedSurface().associatedDetectorElement()!=NULL) hitId = hit->associatedSurface().associatedDetectorElement()->identify();
+  if (hit->associatedSurface().associatedDetectorElement()!= nullptr) hitId = hit->associatedSurface().associatedDetectorElement()->identify();
   else {
     if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit doesn't have an associated detector element; abandoning overlap search"<< endmsg;
     std::pair <const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> result(xOverlap, yOverlap);
@@ -2024,11 +2035,11 @@ std::pair<const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> IDAl
     int modEta2 = -99; 
     int modPhi2 = -99;
     const Trk::MeasurementBase* hit2 =tsos2->measurementOnTrack();
-    if (hit2== NULL) continue;//the first hit on the track never has associated hit information - just stores track parameters
+    if (hit2 == nullptr) continue;//the first hit on the track never has associated hit information - just stores track parameters
     nHits++;
         
     Identifier hitId2;
-    if (hit2->associatedSurface().associatedDetectorElement()!=NULL) hitId2 = hit2->associatedSurface().associatedDetectorElement()->identify();
+    if (hit2->associatedSurface().associatedDetectorElement()!= nullptr) hitId2 = hit2->associatedSurface().associatedDetectorElement()->identify();
     else {
       if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "hit tested for overlap doesn't have an associated detector element"<< endmsg;
       continue;
@@ -2099,7 +2110,7 @@ std::pair<const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> IDAl
     const AmgSymMatrix(5)* covariance = TrackParameters->covariance();
     
     
-    if(covariance==NULL) {
+    if(covariance == nullptr) {
       
       if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "overlap rejected because overlap hit does not have associated measuredTrackParameters" << endmsg;
       continue;
@@ -2111,7 +2122,7 @@ std::pair<const Trk::TrackStateOnSurface*, const Trk::TrackStateOnSurface*> IDAl
 	if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "applying hit quality cuts to overlap hit..." << endmsg;
 	
 	hit2 = m_hitQualityTool->getGoodHit(tsos2);
-	if(hit2==NULL) {
+	if(hit2 == nullptr) {
 	  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "overlap rejected because failed hit quality cuts." << endmsg;
 	  continue;
 	}
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx
index 1a15c050868..0af2fb4750b 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx
@@ -1644,7 +1644,6 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
   ATH_MSG_DEBUG ("IDAlignMonGenericTracks::fillHistograms() -- event: " << m_events
 		 << " with Track collection " << m_tracksName.key()
 		 << " has size =" << tracks->size());
-
   float xv=-999;
   float yv=-999;
   float zv=-999;
@@ -1652,12 +1651,12 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
   if (not m_VxPrimContainerName.key().empty()) {
     SG::ReadHandle<xAOD::VertexContainer> vxContainer{m_VxPrimContainerName};
     if (not vxContainer.isValid()) {
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "No Collection with name  "<<m_VxPrimContainerName.key()<<" found in StoreGate" << endmsg;
+      ATH_MSG_DEBUG ("No Collection with name  "<<m_VxPrimContainerName.key()<<" found in StoreGate");
       return StatusCode::SUCCESS;
     } else {
       m_vertices = vxContainer.get();
 
-      if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Collection with name  "<<m_VxPrimContainerName.key()<< " with size " << m_vertices->size() <<" found  in StoreGate" << endmsg;
+      ATH_MSG_DEBUG ("Collection with name  "<<m_VxPrimContainerName.key()<< " with size " << m_vertices->size() <<" found  in StoreGate");
   
       xAOD::VertexContainer::const_iterator vxItr  = m_vertices->begin();
       xAOD::VertexContainer::const_iterator vxItrE = m_vertices->end();    
@@ -1697,6 +1696,7 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
   float beamSpotZ = 0.;
   float beamTiltX = 0.;
   float beamTiltY = 0.;
+  ATH_MSG_DEBUG(" retrieveing beam spot information for event " << m_events);
   if (m_hasBeamCondSvc) {
     SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey };
     Amg::Vector3D bpos = beamSpotHandle->beamPos();
@@ -1705,12 +1705,9 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
     beamSpotZ = bpos.z();
     beamTiltX = beamSpotHandle->beamTilt(0);
     beamTiltY = beamSpotHandle->beamTilt(1);
-    if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Beamspot from " << beamSpotHandle.retrieve() << ": x0 = " << beamSpotX << ", y0 = " << beamSpotY
-          << ", z0 = " << beamSpotZ << ", tiltX = " << beamTiltX
-          << ", tiltY = " << beamTiltY <<endmsg;
-
-
-    
+    ATH_MSG_DEBUG ("Beamspot from " << beamSpotHandle.retrieve() << ": x0 = " << beamSpotX << ", y0 = " << beamSpotY
+		   << ", z0 = " << beamSpotZ << ", tiltX = " << beamTiltX
+		   << ", tiltY = " << beamTiltY);
   }
   
   // Get EventInfo
@@ -1721,31 +1718,31 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
     return StatusCode::FAILURE;
   }
   //EventID* eventID = eventInfo->event_ID();
-  unsigned int LumiBlock = eventInfo->lumiBlock();
+  float LumiBlock = static_cast<float>(eventInfo->lumiBlock());
 
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " LumiBlock = " <<  LumiBlock << endmsg;
-  m_LumiBlock->Fill(float(LumiBlock), hweight);
-  
-  if (m_extendedPlots)
-      {
-	//Fill BeamSpot Position histos
-	m_YBs_vs_XBs->Fill(beamSpotX,beamSpotY, hweight);
-	m_YBs_vs_ZBs->Fill(beamSpotZ,beamSpotY, hweight);
-	m_XBs_vs_ZBs->Fill(beamSpotZ,beamSpotX, hweight);
-	
-	m_XBs->Fill(beamSpotX, hweight);
-	m_YBs->Fill(beamSpotY, hweight);
-	m_ZBs->Fill(beamSpotZ, hweight);
-	m_TiltX_Bs->Fill(1e6*beamTiltX, hweight);
-	m_TiltY_Bs->Fill(1e6*beamTiltY, hweight);
-	
-	//Fill BeamSpot Position versus lumiblock histos
-	m_XBs_vs_LumiBlock->Fill(float(LumiBlock),beamSpotX, hweight);
-	m_YBs_vs_LumiBlock->Fill(float(LumiBlock),beamSpotY, hweight);
-	m_ZBs_vs_LumiBlock->Fill(float(LumiBlock),beamSpotZ, hweight);
-	m_BeamSpotTiltX_vs_LumiBlock->Fill(float(LumiBlock),1e3*beamTiltX, hweight);
-	m_BeamSpotTiltY_vs_LumiBlock->Fill(float(LumiBlock),1e3*beamTiltY, hweight);
-      }
+  ATH_MSG_DEBUG(" Run: " << eventInfo->runNumber() << "   Event: " << eventInfo->eventNumber() << "   LumiBlock: " <<  LumiBlock);
+
+  m_LumiBlock->Fill(LumiBlock, hweight);
+
+  if (m_extendedPlots) {
+    //Fill BeamSpot Position histos
+    m_YBs_vs_XBs->Fill(beamSpotX,beamSpotY, hweight);
+    m_YBs_vs_ZBs->Fill(beamSpotZ,beamSpotY, hweight);
+    m_XBs_vs_ZBs->Fill(beamSpotZ,beamSpotX, hweight);
+    
+    m_XBs->Fill(beamSpotX, hweight);
+    m_YBs->Fill(beamSpotY, hweight);
+    m_ZBs->Fill(beamSpotZ, hweight);
+    m_TiltX_Bs->Fill(1e6*beamTiltX, hweight);
+    m_TiltY_Bs->Fill(1e6*beamTiltY, hweight);
+    
+    //Fill BeamSpot Position versus lumiblock histos
+    m_XBs_vs_LumiBlock->Fill(LumiBlock,beamSpotX, hweight);
+    m_YBs_vs_LumiBlock->Fill(LumiBlock,beamSpotY, hweight);
+    m_ZBs_vs_LumiBlock->Fill(LumiBlock,beamSpotZ, hweight);
+    m_BeamSpotTiltX_vs_LumiBlock->Fill(LumiBlock,1e3*beamTiltX, hweight);
+    m_BeamSpotTiltY_vs_LumiBlock->Fill(LumiBlock,1e3*beamTiltY, hweight);
+  }
   
 
   int nHits=0;
@@ -1764,35 +1761,33 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
   //DataVector<xAOD::TrackParticle>::const_iterator trkPsItr  = trkPs->begin();
   //DataVector<xAOD::TrackParticle>::const_iterator trkPsItrE = trkPs->end();
   
-  if (m_doIP)
-    {
-      SG::ReadHandle<xAOD::VertexContainer> vxContainer{m_VxPrimContainerName};
-      if (not vxContainer.isValid()) {
-	ATH_MSG_DEBUG("Could not retrieve primary vertex info: " << m_VxPrimContainerName.key());
-	return StatusCode::FAILURE;
-      }
-      if(vxContainer.get()) {
-	ATH_MSG_VERBOSE("Nb of reco primary vertex for coll "
-			<< " = " << vxContainer->size() );
-	
-	
-	xAOD::VertexContainer::const_iterator vxI = vxContainer->begin();
-	xAOD::VertexContainer::const_iterator vxE = vxContainer->end();
-	for(; vxI!=vxE; ++vxI) {
-	  //int nbtk = 0;
-	  //const std::vector<Trk::VxTrackAtVertex*>* tracks = (*vxI)->vxTrackAtVertex();
-	  if ((*vxI)->type()==1) {
-	    m_pvtx=(*vxI);
-	  }
+  if (m_doIP) {
+    SG::ReadHandle<xAOD::VertexContainer> vxContainer{m_VxPrimContainerName};
+    if (not vxContainer.isValid()) {
+      ATH_MSG_DEBUG("Could not retrieve primary vertex info: " << m_VxPrimContainerName.key());
+      return StatusCode::FAILURE;
+    }
+    if(vxContainer.get()) {
+      ATH_MSG_VERBOSE("Nb of reco primary vertex for coll "
+		      << " = " << vxContainer->size() );
+      
+      
+      xAOD::VertexContainer::const_iterator vxI = vxContainer->begin();
+      xAOD::VertexContainer::const_iterator vxE = vxContainer->end();
+      for(; vxI!=vxE; ++vxI) {
+	//int nbtk = 0;
+	//const std::vector<Trk::VxTrackAtVertex*>* tracks = (*vxI)->vxTrackAtVertex();
+	if ((*vxI)->type()==1) {
+	  m_pvtx=(*vxI);
 	}
       }
     }
+  }
   
-  
-  for (; trksItr != trksItrE; ++trksItr) {
-    
+  ATH_MSG_DEBUG ("Start loop on tracks. Number of tracks " << tracks->size());
+  for (; trksItr != trksItrE; ++trksItr) {  
     nTracks++;  
-    
+    ATH_MSG_DEBUG ("    dealing with track " << nTracks << " / " << tracks->size() );
     
     double chi2Prob=0.;
     float chisquared     = 0.;
@@ -1909,13 +1904,11 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
     DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItr  = TSOS->begin();
     DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItrE = TSOS->end();
 
-    if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) <<"starting to loop over TSOS"<<endmsg;
- 
-    for (; TSOSItr != TSOSItrE; ++TSOSItr) {
-     
+    ATH_MSG_VERBOSE ("  starting to loop over TSOS: " << TSOS->size());
+    for (; TSOSItr != TSOSItrE; ++TSOSItr) {      
       //check that we have track parameters defined for the surface (pointer is not null)
       if(!((*TSOSItr)->trackParameters())) {
-        if (msgLvl(MSG::DEBUG)) msg() << "hit skipped because no associated track parameters" << endmsg;
+	ATH_MSG_DEBUG(" hit skipped because no associated track parameters");
         continue;
       }
       
@@ -1929,22 +1922,24 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
 
 
       if ( (*TSOSItr)->type(Trk::TrackStateOnSurface::Measurement) ){
-
         //hit quality cuts for Si hits if tool is configured - default is NO CUTS
         if (m_idHelper->is_pixel(surfaceID) ||  m_idHelper->is_sct(surfaceID)){
-          
           if(m_doHitQuality) {
             if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "applying hit quality cuts to Silicon hit..." << endmsg;
             
             const Trk::RIO_OnTrack* hit = m_hitQualityTool->getGoodHit(*TSOSItr);
-            if(hit==NULL) {
-              if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit failed quality cuts and is rejected." << endmsg;
+            if(hit == nullptr) {
+              ATH_MSG_DEBUG ("hit failed quality cuts and is rejected.");
               continue;
             }
-            else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit passed quality cuts" << endmsg;
+            else {
+	      ATH_MSG_DEBUG ("hit passed quality cuts");
+	    }
           }
-          else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "hit quality cuts NOT APPLIED to Silicon hit." << endmsg;
-        }
+          else {
+	    ATH_MSG_DEBUG ("hit quality cuts NOT APPLIED to Silicon hit.");
+	  }
+        } // hit is Pixel or SCT
       
         const Trk::Surface& hitSurface  = mesb->associatedSurface();
         float hitSurfaceX = hitSurface.center().x();
@@ -2136,10 +2131,10 @@ StatusCode IDAlignMonGenericTracks::fillHistograms()
 
     
 
-    m_Tracks_per_LumiBlock->Fill(float(LumiBlock), hweight);
-    m_NPIX_per_LumiBlock->Fill(float(LumiBlock), nhpix*hweight);
-    m_NSCT_per_LumiBlock->Fill(float(LumiBlock), nhsct*hweight);
-    m_NTRT_per_LumiBlock->Fill(float(LumiBlock), nhtrt*hweight);
+    m_Tracks_per_LumiBlock->Fill(LumiBlock, hweight);
+    m_NPIX_per_LumiBlock->Fill(LumiBlock, nhpix*hweight);
+    m_NSCT_per_LumiBlock->Fill(LumiBlock, nhsct*hweight);
+    m_NTRT_per_LumiBlock->Fill(LumiBlock, nhtrt*hweight);
 
     
 
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
index f561eb28bac..18caef478a2 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
@@ -935,7 +935,6 @@ StatusCode IDAlignMonResiduals::bookHistograms()
     RegisterHisto(al_mon,m_base_vs_LB_planars);
 
 
-    //std::cout<<"INITIALIZED GENERALHISTOS FOR RESIDUALS"<<std::endl;
     if(msgLvl(MSG::VERBOSE)) msg() << " INITIALIZED GENERALHISTOS FOR RESIDUALS "<< endmsg;
     //PrintIBLGeometry();
     MakePIXBarrelHistograms (al_mon);
@@ -947,11 +946,11 @@ StatusCode IDAlignMonResiduals::bookHistograms()
     MakeTRTHistograms(al_mon);
 
     MakeSiliconHistograms(al_mon);
-    //std::cout<<"INITIALIZED GENERALHISTOS FOR RESIDUALS 2"<<std::endl;
     if(msgLvl(MSG::VERBOSE)) msg() << " INITIALIZED GENERALHISTOS FOR RESIDUALS "<< endmsg;
     ++m_histosBooked;
   }
 
+  ATH_MSG_VERBOSE(" Residual histograms booking COMPLETED");
   return StatusCode::SUCCESS;
 
 }
@@ -1083,13 +1082,13 @@ StatusCode IDAlignMonResiduals::fillHistograms()
   float timeCor = 0.;
   if (not m_comTimeObjectName.key().empty()) {
     SG::ReadHandle<ComTime> theComTime{m_comTimeObjectName};
-    if (not theComTime.isValid()) {
-      if (msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "ComTime object not found with name " << m_comTimeObjectName.key() << "!!!" << endmsg;
-      //return StatusCode::FAILURE;
+    if (theComTime.isValid()) {
+      ATH_MSG_DEBUG ( "ComTime object found successfully ");
+      timeCor = theComTime->getTime();
     }
     else{
-      if (msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "ComTime object found successfully " << endmsg;
-      timeCor = theComTime->getTime();
+      ATH_MSG_DEBUG ("ComTime object not found with name " << m_comTimeObjectName.key() << "!!!");
+      //return StatusCode::FAILURE;
     }
   }
 
@@ -1098,6 +1097,7 @@ StatusCode IDAlignMonResiduals::fillHistograms()
     ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms() -- " << m_tracksName.key() << " could not be retrieved");
     return StatusCode::RECOVERABLE;
   }
+
   const DataVector<Trk::Track>* tracks = m_trackSelection->selectTracks(inputTracks);
   ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms() -- event: " << m_events
 		 << " with Track collection " << m_tracksName.key()
@@ -1107,6 +1107,7 @@ StatusCode IDAlignMonResiduals::fillHistograms()
   int nHitsEvent = 0;
 
   for (DataVector<Trk::Track>::const_iterator trackItr  = tracks->begin(); trackItr != tracks->end(); ++trackItr) { //looping over tracks
+    ATH_MSG_DEBUG (" -- looping over track " << nTracks << "/" << tracks->size());
     //need to get the Trk::Track object from which the TrackParticle object was created
     //this has the hit information
     const Trk::Track* track = *trackItr;
@@ -1120,7 +1121,7 @@ StatusCode IDAlignMonResiduals::fillHistograms()
       ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms ** Not all TSOS contain track parameters - will be missing residuals/pulls ");
     }
     else {
-      ATH_MSG_DEBUG ("All TSOS of track " << nTracks << " contain track parameters - Good! ");
+      ATH_MSG_DEBUG ("All TSOS of track " << nTracks <<"/" << tracks->size() << " contain track parameters - Good! ");
     }
 
     //trackStateOnSurfaces is a vector of Trk::TrackStateOnSurface objects which contain information
@@ -1148,11 +1149,11 @@ StatusCode IDAlignMonResiduals::fillHistograms()
       int binNumber = m_etapTWeight->FindBin( trketa_w, trkpt );
       hweight       = m_etapTWeight->GetBinContent( binNumber );
     }
-    ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " pt: " <<  trkpt << "  eta: " << trketa_w << "   weight: " << hweight);
-
-    //looping over the hits
+    //looping over the hits of this track
+    ATH_MSG_DEBUG ("** track " << nTracks << "/" << tracks->size() 
+		   << " pt: " <<  trkpt << "  eta: " << trketa_w << "   weight: " << hweight
+		   << " ** start looping on hits/TSOS ");
     for (const Trk::TrackStateOnSurface* tsos : *track->trackStateOnSurfaces()) {
-
       ++nTSOS;
       if (tsos == NULL) {
 	ATH_MSG_DEBUG ("     TSOS (hit) = " << nTSOS << " is NULL ");
@@ -1208,7 +1209,7 @@ StatusCode IDAlignMonResiduals::fillHistograms()
       if(TrackParCovariance==NULL) {
 	//if no MeasuredTrackParameters the hit will not have associated convariance error matrix and will not
 	//be able to define a pull or unbiased residual (errors needed for propagation)
-	if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters" << endmsg;
+	ATH_MSG_DEBUG ("Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters");
 	continue;
       }
 
@@ -1359,6 +1360,11 @@ StatusCode IDAlignMonResiduals::fillHistograms()
 	    ATH_MSG_DEBUG("** fillHistograms() ** TRT endcap hit in layer_or_wheel: " <<  layer_or_wheel << "  hitGlobalR: " << hitGlobalR);
 	  }
 	  
+	  ATH_MSG_DEBUG(" fillHistograms() ** filling TRT histos:" 
+			<< "  Barrel/EndCap: " << barrel_ec 
+			<< "  layer/wheel: " << layer_or_wheel
+			<< "  phi: " << phi_module
+			<< "  Residual: " << residualR);
 	  /** filling TRT histograms */
 	  fillTRTHistograms(barrel_ec
 			    ,layer_or_wheel
@@ -1381,7 +1387,6 @@ StatusCode IDAlignMonResiduals::fillHistograms()
       
       //if (detType==0 || detType==1)
       else {//have identified pixel or SCT hit
-	
 	ATH_MSG_DEBUG ("** fillHistograms() ** Hit is pixel or SCT, type: " << detType);
 	if(m_doHitQuality) {
 	  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "applying hit quality cuts to Silicon hit..." << endmsg;
@@ -1883,18 +1888,15 @@ StatusCode IDAlignMonResiduals::fillHistograms()
 	    float xValueForHist = modEta +  mlocalY / m_PixelBarrelYSize;
 	    float yValueForHist = modPhi +  mlocalX / m_PixelBarrelXSize;
 	    
-	    if (false) {
-	      std::cout << " -- filling detailed pixel maps -- layer = " << layerDisk
-			<< "  eta: " << modEta
-			<< "  phi " << modPhi
-			<< "  local (" << mlocalX << " / " << m_PixelBarrelXSize
-			<< ", "        << mlocalY << " / " << m_PixelBarrelYSize << ") "
-			<< "  normalized (" << mlocalY/m_PixelBarrelYSize * m_mapSplit << ", " << mlocalX/m_PixelBarrelXSize * m_mapSplit << ") "
-			<< std::endl;
-	      std::cout << "                                                      "
-			<< " fill (" << xValueForHist << ", " << yValueForHist << ") "
-			<< std::endl;
-	    }
+	    ATH_MSG_VERBOSE (" -- filling detailed pixel maps -- layer = " << layerDisk
+			     << "  eta: " << modEta
+			     << "  phi " << modPhi
+			     << "  local (" << mlocalX << " / " << m_PixelBarrelXSize
+			     << ", "        << mlocalY << " / " << m_PixelBarrelYSize << ") "
+			     << "  normalized (" << mlocalY/m_PixelBarrelYSize * m_mapSplit << ", " << mlocalX/m_PixelBarrelXSize * m_mapSplit << ") ");
+	    ATH_MSG_VERBOSE ( "                                                      "
+			      << " fill (" << xValueForHist << ", " << yValueForHist << ") ");
+
 	    // biased 3d histos turned into detailed 3d histos (for the time being use unbiased residuals)
 	    //m_pix_b_biased_xresvsmodetaphi_3ds[layerDisk] -> Fill(ModCenterPosX+mlocalY, ModCenterPosY+mlocalX, residualX, hweight);
 	    //m_pix_b_biased_yresvsmodetaphi_3ds[layerDisk] -> Fill(ModCenterPosX+mlocalY, ModCenterPosY+mlocalX, residualY, hweight);
-- 
GitLab