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