From 400635408f2a42902ee6bc8675a1baeae91af769 Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Wed, 23 Dec 2020 09:57:27 +0100 Subject: [PATCH 1/7] removing conflicts --- .../src/IDAlignMonGenericTracks.cxx | 89 ++++++----- .../src/IDAlignMonResiduals.cxx | 143 +++++++++++++----- .../src/IDAlignMonResiduals.h | 1 + 3 files changed, 155 insertions(+), 78 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx index 0af2fb4750b9..65e66dd9831e 100644 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonGenericTracks.cxx @@ -551,7 +551,6 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() //if ( newLowStatFlag ) { } //if ( newLumiBlockFlag() ) { } if ( newRunFlag() ) { - //if user environment specified we don't want to book new histograms at every run boundary //we instead want one histogram per job if(m_histosBooked!=0 && AthenaMonManager::environment()==AthenaMonManager::user) return StatusCode::SUCCESS; @@ -593,28 +592,37 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() //############### - m_nhits_per_event = TH1F_LW::create("Nhits_per_event","Number of hits per event",1024,-0.5,1023.5); + m_nhits_per_event = TH1F_LW::create("Nhits_per_event","Number of hits per event", 1024, -0.5, 1023.5); RegisterHisto(al_mon,m_nhits_per_event) ; m_nhits_per_event->GetXaxis()->SetTitle("Number of Hits on Tracks per Event"); - m_nhits_per_event->GetYaxis()->SetTitle("Number of Events"); - m_ntrk = TH1F_LW::create("ntracks","Number of Tracks",m_NTracksRange+1, -0.5, m_NTracksRange+0.5); + m_nhits_per_event->GetYaxis()->SetTitle("Number of Events"); + + m_ntrk = TH1F_LW::create("ntracks","Number of Tracks", m_NTracksRange+1, -0.5, m_NTracksRange+0.5); RegisterHisto(al_mon,m_ntrk); + m_ntrk->GetXaxis()->SetTitle("Number of Tracks"); + m_ntrk->GetYaxis()->SetTitle("Number of Events"); + m_ngtrk = TH1F_LW::create("ngtracks","Number of Good Tracks",m_NTracksRange+1, -0.5, m_NTracksRange+0.5); RegisterHisto(al_mon,m_ngtrk); - m_nhits_per_track = TH1F_LW::create("Nhits_per_track","Number of hits per track",101,-0.5, 100.5); + m_ngtrk->GetXaxis()->SetTitle("Number of Good Tracks"); + m_ngtrk->GetYaxis()->SetTitle("Number of Events"); + + m_nhits_per_track = TH1F_LW::create("Nhits_per_track","Number of hits per track", 101, -0.5, 100.5); RegisterHisto(al_mon,m_nhits_per_track) ; m_nhits_per_track->GetXaxis()->SetTitle("Number of Hits per Track"); m_nhits_per_track->GetYaxis()->SetTitle("Number of Tracks"); - m_npixhits_per_track_barrel = TH1F_LW::create("Npixhits_per_track_barrel","Number of pixhits per track (Barrel)",14,-0.5,13.5); + m_npixhits_per_track_barrel = TH1F_LW::create("Npixhits_per_track_barrel","Number of pixhits per track (Barrel)", 14,-0.5,13.5); RegisterHisto(al_mon,m_npixhits_per_track_barrel) ; m_npixhits_per_track_barrel->GetXaxis()->SetTitle("Number of Pixel Hits per Track in Barrel"); m_npixhits_per_track_barrel->GetYaxis()->SetTitle("Number of Tracks"); - m_nscthits_per_track_barrel = TH1F_LW::create("Nscthits_per_track_barrel","Number of scthits per track (Barrel)",30,-0.5,29.5); + + m_nscthits_per_track_barrel = TH1F_LW::create("Nscthits_per_track_barrel","Number of scthits per track (Barrel)", 30,-0.5,29.5); RegisterHisto(al_mon,m_nscthits_per_track_barrel) ; m_nscthits_per_track_barrel->GetXaxis()->SetTitle("Number of SCT Hits per Track in Barrel"); m_nscthits_per_track_barrel->GetYaxis()->SetTitle("Number of Tracks"); - m_ntrthits_per_track_barrel = TH1F_LW::create("Ntrthits_per_track_barrel","Number of trthits per track (Barrel)",100,-0.5,99.5); + + m_ntrthits_per_track_barrel = TH1F_LW::create("Ntrthits_per_track_barrel","Number of trthits per track (Barrel)", 100,-0.5,99.5); RegisterHisto(al_mon,m_ntrthits_per_track_barrel) ; m_ntrthits_per_track_barrel->GetXaxis()->SetTitle("Number of TRT Hits per Track in Barrel"); m_ntrthits_per_track_barrel->GetYaxis()->SetTitle("Number of Tracks"); @@ -623,10 +631,12 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() RegisterHisto(al_mon,m_npixhits_per_track_eca) ; m_npixhits_per_track_eca->GetXaxis()->SetTitle("Number of Pixel Hits per Track in ECA"); m_npixhits_per_track_eca->GetYaxis()->SetTitle("Number of Tracks"); + m_nscthits_per_track_eca = TH1F_LW::create("Nscthits_per_track_eca","Number of scthits per track (Eca)",30,-0.5,29.5); RegisterHisto(al_mon,m_nscthits_per_track_eca) ; m_nscthits_per_track_eca->GetXaxis()->SetTitle("Number of SCT Hits per Track in ECA"); m_nscthits_per_track_eca->GetYaxis()->SetTitle("Number of Tracks"); + m_ntrthits_per_track_eca = TH1F_LW::create("Ntrthits_per_track_eca","Number of trthits per track (Eca)",100,-0.5,99.5); RegisterHisto(al_mon,m_ntrthits_per_track_eca) ; m_ntrthits_per_track_eca->GetXaxis()->SetTitle("Number of TRT Hits per Track in ECA"); @@ -636,10 +646,12 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() RegisterHisto(al_mon,m_npixhits_per_track_ecc) ; m_npixhits_per_track_ecc->GetXaxis()->SetTitle("Number of Pixel Hits per Track in ECC"); m_npixhits_per_track_ecc->GetYaxis()->SetTitle("Number of Tracks"); + m_nscthits_per_track_ecc = TH1F_LW::create("Nscthits_per_track_ecc","Number of scthits per track (Ecc)",30,-0.5,29.5); RegisterHisto(al_mon,m_nscthits_per_track_ecc) ; m_nscthits_per_track_ecc->GetXaxis()->SetTitle("Number of SCT Hits per Track in ECC"); m_nscthits_per_track_ecc->GetYaxis()->SetTitle("Number of Tracks"); + m_ntrthits_per_track_ecc = TH1F_LW::create("Ntrthits_per_track_ecc","Number of trthits per track (Ecc)",100,-0.5,99.5); RegisterHisto(al_mon,m_ntrthits_per_track_ecc) ; m_ntrthits_per_track_ecc->GetXaxis()->SetTitle("Number of TRT Hits per Track in ECC"); @@ -648,30 +660,34 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() /////////////////////////////////////////////////////////////////////////////////////////////////// //Monitoring plots shown in the dqm web page /////////////////////////////////////////////////////////////////////////////////////////////////// - m_chi2oDoF = TH1F_LW::create("chi2oDoF","chi2oDoF",100,0,10); + m_chi2oDoF = TH1F_LW::create("chi2oDoF","chi2oDoF", 100, 0., 10.); RegisterHisto(al_mon,m_chi2oDoF) ; m_chi2oDoF->GetXaxis()->SetTitle("Track #chi^{2} / NDoF"); m_chi2oDoF->GetYaxis()->SetTitle("Number of Tracks"); - m_eta = TH1F_LW::create("eta","eta",100,-m_etaRange,m_etaRange); + + m_eta = TH1F_LW::create("eta","eta", 80,-m_etaRange,m_etaRange); RegisterHisto(al_mon_ls,m_eta) ; m_eta->GetXaxis()->SetTitle("Track #eta"); - m_eta->GetYaxis()->SetTitle("Number of Tracks"); - m_phi = TH1F_LW::create("phi","phi",100,0,2*M_PI); m_phi->SetMinimum(0); + m_eta->GetYaxis()->SetTitle("Number of Tracks"); + + m_phi = TH1F_LW::create("phi","phi", 80, 0,2*M_PI); RegisterHisto(al_mon_ls,m_phi) ; + m_phi->SetMinimum(0); m_phi->GetXaxis()->SetTitle("Track #phi"); m_phi->GetYaxis()->SetTitle("Number of Tracks"); - m_d0_bscorr = TH1F_LW::create("d0_bscorr","d0 (corrected for beamspot); [mm]",400,-m_d0BsRange,m_d0BsRange); + + m_d0_bscorr = TH1F_LW::create("d0_bscorr","d0 (corrected for beamspot); d0 [mm]",200,-m_d0BsRange,m_d0BsRange); RegisterHisto(al_mon_ls,m_d0_bscorr) ; m_z0 = TH1F_LW::create("z0","z0;[mm]",100,-m_z0Range,m_z0Range); RegisterHisto(al_mon,m_z0) ; m_z0sintheta = TH1F_LW::create("z0sintheta","z0sintheta",100,-m_z0Range,m_z0Range); RegisterHisto(al_mon,m_z0sintheta) ; + m_d0 = TH1F_LW::create("d0","d0;[mm]",400,-m_d0Range,m_d0Range); RegisterHisto(al_mon,m_d0) ; - m_npixhits_per_track = TH1F_LW::create("Npixhits_per_track","Number of pixhits per track",14,-0.5,13.5); RegisterHisto(al_mon_ls,m_npixhits_per_track) ; m_npixhits_per_track->GetXaxis()->SetTitle("Number of Pixel Hits per Track"); @@ -750,8 +766,6 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_trk_pT_asym_ecc = TH1F_LW::create("trk_pT_asym_ecc","Track Charge Asymmetry versus pT (Endcap C) ",50,0,100); RegisterHisto(al_mon,m_trk_pT_asym_ecc); - - if(m_extendedPlots){ @@ -781,7 +795,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() RegisterHisto(al_mon, m_trk_pT_vs_eta_eca ); m_trk_d0_barrel = TH1F_LW::create("trk_d0_barrel","Impact parameter: all tracks (Barrel); d_{0} [mm]",100, -m_d0Range, m_d0Range); - m_trk_d0c_barrel = TH1F_LW::create("trk_d0c_barrel","Impact parameter (corrected for vertex): all tracks (Barrel)",100, -5, 5); + m_trk_d0c_barrel = TH1F_LW::create("trk_d0c_barrel","Impact parameter (corrected for vertex): all tracks (Barrel)",100, -4., 4.); m_trk_z0_barrel = TH1F_LW::create("trk_z0_barrel","Track z0: all tracks (Barrel)",100, -m_z0Range, m_z0Range); m_trk_d0_eca = TH1F_LW::create("trk_d0_eca","Impact parameter: all tracks (Endcap A)",100, -m_d0Range, m_d0Range); m_trk_d0c_eca = TH1F_LW::create("trk_d0c_eca","Impact parameter (corrected for vertex): all tracks (Endcap A)",100, -m_d0Range, m_d0Range); @@ -808,8 +822,6 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_trk_chi2Prob = new TProfile("trk_chi2Prob","chi2Prob versus eta",100,-m_etaRange,m_etaRange,-5,5); RegisterHisto(al_mon,m_trk_chi2Prob) ; - - //Detailed IP Plots. All the PV Corrected are broken and need to be fixed. m_trk_d0_barrel_zoomin = TH1F_LW::create("trk_d0_barrel_zoomin","Impact parameter: all tracks (Barrel)",100,-5,5); @@ -887,7 +899,6 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() - //PV corrected plots. Broken. m_d0_pvcorr = TH1F_LW::create("d0_pvcorr","d0 (corrected for primVtx); [mm]",400,-m_d0Range,m_d0Range); RegisterHisto(al_mon,m_d0_pvcorr) ; @@ -939,32 +950,32 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_trk_chi2ProbDist->GetYaxis()->SetTitle("Number of Tracks"); RegisterHisto(al_mon,m_trk_chi2ProbDist) ; - m_errCotTheta = TH1F_LW::create("errCotTheta","Error of CotTheta",50,0,0.02); + m_errCotTheta = TH1F_LW::create("errCotTheta","Error of CotTheta", 40, 0, 0.02); RegisterHisto(al_mon,m_errCotTheta); m_errCotTheta->GetXaxis()->SetTitle("Track #Delta(cot(#theta))"); m_errCotTheta->GetYaxis()->SetTitle("Number of Tracks"); - m_errCotThetaVsD0BS = new TH2F("errCotThetaVsD0BS","Error of CotTheta vs d0BS",-m_d0BsRange,m_d0BsRange,40,50,0 ,0.02); + m_errCotThetaVsD0BS = new TH2F("errCotThetaVsD0BS","Error of CotTheta vs d0BS", 50, -m_d0BsRange, m_d0BsRange, 40, 0. ,0.02); RegisterHisto(al_mon,m_errCotThetaVsD0BS) ; m_errCotThetaVsD0BS->GetXaxis()->SetTitle("d0 (mm)"); m_errCotThetaVsD0BS->GetYaxis()->SetTitle("Track #Delta(cot(#theta))"); - m_errCotThetaVsPt = new TH2F("errCotThetaVsPt","Error of CotTheta vs Pt",50,0,40,50,0 ,0.02); + m_errCotThetaVsPt = new TH2F("errCotThetaVsPt","Error of CotTheta vs Pt",50,0,40, 40, 0. ,0.02); RegisterHisto(al_mon,m_errCotThetaVsPt) ; m_errCotThetaVsPt->GetXaxis()->SetTitle("Pt (GeV/c)"); m_errCotThetaVsPt->GetYaxis()->SetTitle("Track #Delta(cot(#theta))"); - m_errCotThetaVsP = new TH2F("errCotThetaVsP","Error of CotTheta vs P",50,0,40,50,0 ,0.02); + m_errCotThetaVsP = new TH2F("errCotThetaVsP","Error of CotTheta vs P",50,0,40, 40, 0. ,0.02); RegisterHisto(al_mon,m_errCotThetaVsP) ; m_errCotThetaVsP->GetXaxis()->SetTitle("P (GeV/c)"); m_errCotThetaVsP->GetYaxis()->SetTitle("Track #Delta(cot(#theta))"); - m_errCotThetaVsPhi = new TH2F("errCotThetaVsPhi","Error of CotTheta vs Phi",50,0,2*M_PI,50, 0 ,0.02); + m_errCotThetaVsPhi = new TH2F("errCotThetaVsPhi","Error of CotTheta vs Phi",50,0,2*M_PI, 40, 0. ,0.02); RegisterHisto(al_mon,m_errCotThetaVsPhi) ; m_errCotThetaVsPhi->GetXaxis()->SetTitle("#phi0"); m_errCotThetaVsPhi->GetYaxis()->SetTitle("Track #Delta(cot(#theta))"); - m_errCotThetaVsEta = new TH2F("errCotThetaVsEta","Error of CotTheta vs Eta",50,-3., 3.,50, 0 ,0.02); + m_errCotThetaVsEta = new TH2F("errCotThetaVsEta","Error of CotTheta vs Eta",50,-3., 3., 40, 0. ,0.02); RegisterHisto(al_mon,m_errCotThetaVsEta) ; m_errCotThetaVsEta->GetXaxis()->SetTitle("#eta"); m_errCotThetaVsEta->GetYaxis()->SetTitle("Track #Delta(cot(#theta))"); @@ -973,12 +984,12 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() RegisterHisto(al_mon,m_errTheta); m_errTheta->GetXaxis()->SetTitle("Track #Delta(#theta)"); m_errTheta->GetYaxis()->SetTitle("Number of Tracks"); - + m_errThetaVsD0BS = new TH2F("errThetaVsD0BS","Error of Theta vs d0BS",50,-m_d0BsRange,m_d0BsRange,50,0 ,0.02); RegisterHisto(al_mon,m_errThetaVsD0BS) ; m_errThetaVsD0BS->GetXaxis()->SetTitle("d0 (mm)"); m_errThetaVsD0BS->GetYaxis()->SetTitle("Track #delta(#theta)"); - + m_errThetaVsPt = new TH2F("errThetaVsPt","Error of Theta vs Pt",50,0,50,50,0 ,0.02); RegisterHisto(al_mon,m_errThetaVsPt) ; m_errThetaVsPt->GetXaxis()->SetTitle("Pt (GeV/c)"); @@ -1134,7 +1145,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() RegisterHisto(al_mon,m_PtVsPhi0Neg); m_PtVsPhi0Neg->GetXaxis()->SetTitle("#phi0 (rad)"); m_PtVsPhi0Neg->GetYaxis()->SetTitle("Pt (GeV/c)"); - + m_errPtVsEta = new TH2F("errPtVsEta", "Error of Pt Vs Eta", 50, -3., 3.,50, 0., 0.5); RegisterHisto(al_mon,m_errPtVsEta); m_errPtVsEta->GetXaxis()->SetTitle("#eta"); @@ -1188,7 +1199,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_QPtVsEta->GetXaxis()->SetTitle("#eta"); RegisterHisto(al_mon,m_QPtVsEta); m_QPtVsEta->GetYaxis()->SetTitle("qPt (GeV)"); - + //Plots to check the BeamSpot // versus Phi0 m_D0bsVsPhi0 = new TH2F("D0bsVsPhi0", "d0_{bs} Vs #phi0 ", 50, 0, 2*M_PI, 400, -m_d0BsRange, m_d0BsRange); @@ -1237,7 +1248,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_D0bsVsPtBarrel->GetXaxis()->SetTitle("qPt (GeV)"); RegisterHisto(al_mon,m_D0bsVsPtBarrel); m_D0bsVsPtBarrel->GetYaxis()->SetTitle("d0_{bs} mm )"); - + //BeamSpot Position histos m_YBs_vs_XBs = new TH2F("YBs_vs_XBs","BeamSpot Position: y vs x",100, -0.9,-0.1, 100, -0.9,-0.1); RegisterHisto(al_mon,m_YBs_vs_XBs); @@ -1307,7 +1318,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_BeamSpotTiltY_vs_LumiBlock->GetYaxis()->SetRangeUser(-1,1); } - + //These plots are broken. Have to be passed to the PVbiases tool m_trk_d0_wrtPV = TH1F_LW::create("d0_pvcorr_est","d0 (corrected for primVtx v2); [mm]",400,-0.2,0.2); @@ -1551,7 +1562,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_eta_asym->GetYaxis()->SetTitle("(pos-neg)/(pos+neg)"); - + // msg(MSG::INFO) << "lumiblock histos done " <<endmsg; @@ -1559,27 +1570,27 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() // lumiblock histos - m_LumiBlock = TH1F_LW::create("LumiBlock","Lumi block",1024,-0.5,1023.5); + m_LumiBlock = TH1F_LW::create("LumiBlock","Lumi block", 1024, -0.5, 1023.5); RegisterHisto(al_mon,m_LumiBlock) ; m_LumiBlock->GetXaxis()->SetTitle("Lumi block ID"); m_LumiBlock->GetYaxis()->SetTitle("# events"); - m_Tracks_per_LumiBlock = TH1F_LW::create("TracksPerLumiBlock","Tracks per Lumi block",1024,-0.5,1023.5); + m_Tracks_per_LumiBlock = TH1F_LW::create("TracksPerLumiBlock","Tracks per Lumi block", 1024, -0.5, 1023.5); RegisterHisto(al_mon,m_Tracks_per_LumiBlock) ; m_Tracks_per_LumiBlock->GetXaxis()->SetTitle("Lumi block ID"); m_Tracks_per_LumiBlock->GetYaxis()->SetTitle("# tracks"); - m_NPIX_per_LumiBlock = TH1F_LW::create("NPixPerLumiBlock","N pixel hits per Lumi block",1024,-0.5,1023.5); + m_NPIX_per_LumiBlock = TH1F_LW::create("NPixPerLumiBlock","N pixel hits per Lumi block", 1024, -0.5, 1023.5); RegisterHisto(al_mon, m_NPIX_per_LumiBlock) ; m_NPIX_per_LumiBlock->GetXaxis()->SetTitle("Lumi block ID"); m_NPIX_per_LumiBlock->GetYaxis()->SetTitle("# pixel hits"); - m_NSCT_per_LumiBlock = TH1F_LW::create("NSCTPerLumiBlock","N SCT hits per Lumi block",1024,-0.5,1023.5); + m_NSCT_per_LumiBlock = TH1F_LW::create("NSCTPerLumiBlock","N SCT hits per Lumi block", 1024, -0.5, 1023.5); RegisterHisto(al_mon, m_NSCT_per_LumiBlock) ; m_NSCT_per_LumiBlock->GetXaxis()->SetTitle("Lumi block ID"); m_NSCT_per_LumiBlock->GetYaxis()->SetTitle("# SCT hits"); - m_NTRT_per_LumiBlock = TH1F_LW::create("NTRTPerLumiBlock","N TRT hits per Lumi block",1024,-0.5,1023.5); + m_NTRT_per_LumiBlock = TH1F_LW::create("NTRTPerLumiBlock","N TRT hits per Lumi block", 1024, -0.5, 1023.5); RegisterHisto(al_mon, m_NTRT_per_LumiBlock) ; m_NTRT_per_LumiBlock->GetXaxis()->SetTitle("Lumi block ID"); m_NTRT_per_LumiBlock->GetYaxis()->SetTitle("# TRT hits"); @@ -1587,7 +1598,7 @@ StatusCode IDAlignMonGenericTracks::bookHistograms() m_histosBooked++; } return StatusCode::SUCCESS; - + } void IDAlignMonGenericTracks::RegisterHisto(MonGroup& mon, TH1F_LW* histo) { diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index 18caef478a26..b9c28604161a 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -177,6 +177,9 @@ struct IDAlignMonResiduals::TRTEndcapHistograms{ TH2F* aveResVsPhiWheel[2]{}; TH2F* rmsResVsPhiWheel[2]{}; + TH3F* resVsPhiWheelPos[2]{}; + TH3F* resVsPhiWheelNeg[2]{}; + /** Residual maps for low pT tracks separated by charge in the TRT Endcap */ TH3F* resVsRadiusWheelPos[2]{}; TH2F* aveResVsRadiusWheelPos[2]{}; @@ -184,6 +187,9 @@ struct IDAlignMonResiduals::TRTEndcapHistograms{ TH3F* resVsRadiusWheelNeg[2]{}; TH2F* aveResVsRadiusWheelNeg[2]{}; TH2F* rmsResVsRadiusWheelNeg[2]{}; + + // Residual vs pt and vs wheel in the endcap + TH3F* resVsqPtWheel[2]{}; }; //////////////////////////////////////// @@ -307,6 +313,7 @@ void IDAlignMonResiduals::InitializeHistograms() { m_totalEvents = 0; + m_totalTracks = 0; m_oldlumiblock = 0; m_sirescalcfailure =0; m_pix_eca_xresvsmodphidisk_3d = 0; @@ -315,7 +322,7 @@ void IDAlignMonResiduals::InitializeHistograms() m_pix_ecc_yresvsmodphidisk_3d = 0; m_dbm_xresvsmodphi_2d = 0; m_sct_b_pullx_pt = 0; - m_sct_eca_pullx_pt = 0 ; + m_sct_eca_pullx_pt = 0; m_sct_ecc_pullx_pt = 0; m_sct_b0_xresvsmodetaphi_3d = 0; m_sct_b1_xresvsmodetaphi_3d = 0; @@ -842,6 +849,9 @@ StatusCode IDAlignMonResiduals::bookHistograms() m_totalEvents = new TH1F("TotalEvents","TotalEvents", 1, -0.5, 0.5); RegisterHisto(al_mon,m_totalEvents); + m_totalTracks = new TH1F("TotalTracks","TotalTracks", 1, -0.5, 0.5); + RegisterHisto(al_mon,m_totalTracks); + m_mu_perEvent = new TH1F("mu_perEvent","<#mu> per event", m_nBinsMuRange, m_muRangeMin, m_muRangeMax); RegisterHisto(al_mon,m_mu_perEvent); } @@ -849,13 +859,17 @@ StatusCode IDAlignMonResiduals::bookHistograms() //All modules m_pix_b0_resXvsetaLumiBlock = new TProfile2D("pix_b0_resXvsetaLumiBlock","2D profile of X unbiased residuals vs IBL eta module per Lumi Block; LumiBlock;Module Eta", - m_nBinsLB,m_LBRangeMin,m_LBRangeMax, 20,-10.5,9.5, m_minPIXResXFillRange,m_maxPIXResXFillRange); + m_nBinsLB, m_LBRangeMin, m_LBRangeMax, + 20, -10.5, 9.5, + m_minPIXResXFillRange, m_maxPIXResXFillRange); RegisterHisto(al_mon,m_pix_b0_resXvsetaLumiBlock); //Only planars m_pix_b0_resXvsetaLumiBlock_planars = new TProfile2D("pix_b0_resXvsetaLumiBlock_planars","2D profile of X unbiased residuals vs IBL eta module per Lumi Block;LumiBlock; Module Eta", - m_nBinsLB,m_LBRangeMin,m_LBRangeMax, 12,-6.5,5.5, m_minPIXResXFillRange,m_maxPIXResXFillRange); + m_nBinsLB,m_LBRangeMin,m_LBRangeMax, + 12, -6.5, 5.5, + m_minPIXResXFillRange, m_maxPIXResXFillRange); RegisterHisto(al_mon,m_pix_b0_resXvsetaLumiBlock_planars); @@ -935,7 +949,7 @@ StatusCode IDAlignMonResiduals::bookHistograms() RegisterHisto(al_mon,m_base_vs_LB_planars); - if(msgLvl(MSG::VERBOSE)) msg() << " INITIALIZED GENERALHISTOS FOR RESIDUALS "<< endmsg; + ATH_MSG_VERBOSE (" INITIALIZED GENERALHISTOS FOR RESIDUALS "); //PrintIBLGeometry(); MakePIXBarrelHistograms (al_mon); MakePIXEndCapsHistograms(al_mon); @@ -946,8 +960,9 @@ StatusCode IDAlignMonResiduals::bookHistograms() MakeTRTHistograms(al_mon); MakeSiliconHistograms(al_mon); - if(msgLvl(MSG::VERBOSE)) msg() << " INITIALIZED GENERALHISTOS FOR RESIDUALS "<< endmsg; + ATH_MSG_VERBOSE (" INITIALIZED GENERALHISTOS FOR RESIDUALS "); ++m_histosBooked; + } ATH_MSG_VERBOSE(" Residual histograms booking COMPLETED"); @@ -1052,7 +1067,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() { const EventContext& ctx = Gaudi::Hive::currentContext(); ++m_events; - ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** START ** call for m_events " << m_events << " for track collection: " << m_tracksName.key()); + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** START ** call for m_events " << m_events << " for track collection: " << m_tracksName.key()); m_hasBeenCalledThisEvent=false; m_mu=0.; @@ -1060,10 +1075,15 @@ StatusCode IDAlignMonResiduals::fillHistograms() SG::ReadHandle<xAOD::EventInfo> eventInfo (m_eventInfoKey, ctx); m_changedlumiblock = false; - m_lumiblock = eventInfo->lumiBlock(); - if (m_lumiblock!=m_oldlumiblock){ //Changes every m_LBGranularity - m_oldlumiblock=m_lumiblock; - m_changedlumiblock=true; + if (eventInfo.isValid()) { + m_lumiblock = eventInfo->lumiBlock(); + if (m_lumiblock!=m_oldlumiblock){ //Changes every m_LBGranularity + m_oldlumiblock=m_lumiblock; + m_changedlumiblock=true; + } + } + else { + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** eventInfo retrieving failure"); } if (!m_hasBeenCalledThisEvent){ @@ -1073,10 +1093,11 @@ StatusCode IDAlignMonResiduals::fillHistograms() else { m_mu = -999; } + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** event number: " << eventInfo->eventNumber() << " lumiblock: " << m_lumiblock << " mu: " << m_mu); if (m_extendedPlots){ m_mu_perEvent->Fill(m_mu); - m_totalEvents->Fill(0); + m_totalEvents->Fill(0.); } float timeCor = 0.; @@ -1087,27 +1108,27 @@ StatusCode IDAlignMonResiduals::fillHistograms() timeCor = theComTime->getTime(); } else{ - ATH_MSG_DEBUG ("ComTime object not found with name " << m_comTimeObjectName.key() << "!!!"); + ATH_MSG_WARNING ("ComTime object not found with name " << m_comTimeObjectName.key() << "!!!"); //return StatusCode::FAILURE; } } SG::ReadHandle<TrackCollection> inputTracks{m_tracksName}; if (not inputTracks.isValid()) { - ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms() -- " << m_tracksName.key() << " could not be retrieved"); + ATH_MSG_WARNING ("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() - << " has size =" << tracks->size()); - + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms() -- event: " << m_events + << " with Track collection " << m_tracksName.key() + << " has size =" << tracks->size()); + int nTracks = 0; 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()); + ATH_MSG_WARNING (" -- 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; @@ -1136,6 +1157,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() float trkpt = -999; float trkqoverp2 = -999; float trketa_w = -999; + bool countedTrack = false; if(m_extendedPlots) { trkqoverp2 = track->perigeeParameters()->parameters()[Trk::qOverP]*fabs(track->perigeeParameters()->parameters()[Trk::qOverP])*1000000.; @@ -1168,6 +1190,10 @@ StatusCode IDAlignMonResiduals::fillHistograms() } const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); ATH_MSG_DEBUG ("Defined hit MeasurementBase for hit " << nTSOS); + if (!countedTrack) { + m_totalTracks->Fill(0.); // count only once + countedTrack = true; + } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface const Trk::RIO_OnTrack* hit = dynamic_cast <const Trk::RIO_OnTrack*>(mesh); @@ -4909,11 +4935,13 @@ void IDAlignMonResiduals::MakeTRTEndcapHistograms(MonGroup& al_mon){ RegisterHisto(al_mon,m_trt_ec_hist->pullR_notube_pt[endcap]); /** Residuals vs pt per wheel */ - for (int iWheel=0; iWheel < 40; iWheel++) { - m_trt_ec_hist->residualR_ptwheel[endcap][iWheel] = MakeProfile("trt_"+endcapName[endcap]+"_resvspt_wheel_"+intToString(iWheel), + for (int iWheel=0; iWheel < 40; iWheel++) { + m_trt_ec_hist->residualR_ptwheel[endcap][iWheel] = MakeProfile("trt_ec_resVspt_wheel_"+intToString(iWheel)+"_"+endcapName[endcap], "Residual vs p_{T} for TRT "+endcapName[endcap]+" "+intToString(iWheel), m_nBinsPtRange, -m_PtRange, m_PtRange, - m_minTRTResWindow, m_maxTRTResWindow, "Track p_{T} [GeV]","Residual [mm]"); + m_minTRTResWindow, m_maxTRTResWindow, + "Track p_{T} [GeV]","Residual [mm]"); + SetMinWindow(m_trt_ec_hist->residualR_ptwheel[endcap][iWheel], -0.025, 0.025); RegisterHisto(al_mon,m_trt_ec_hist->residualR_ptwheel[endcap][iWheel]); } @@ -4921,13 +4949,13 @@ void IDAlignMonResiduals::MakeTRTEndcapHistograms(MonGroup& al_mon){ m_trt_ec_hist->residualR_mu[endcap] = MakeHist("trt_ec_residualR_mu_"+endcapName[endcap], "UnBiased Residual vs mu for TRT "+endcapName[endcap], m_nBinsMuRange, m_muRangeMin, m_muRangeMax, - 100, m_minTRTResWindow, m_maxTRTResWindow, + 50, m_minTRTResWindow, m_maxTRTResWindow, "#mu ","Residual [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->residualR_mu[endcap]); m_trt_ec_hist->pullR_mu[endcap] = MakeHist("trt_ec_pullR_mu_"+endcapName[endcap],"Unbiased residual pull vs mu for TRT "+endcapName[endcap], m_nBinsMuRange, m_muRangeMin, m_muRangeMax, - 100, -m_RangeOfPullHistos,m_RangeOfPullHistos, + 50, -m_RangeOfPullHistos,m_RangeOfPullHistos, "#mu","Pull"); RegisterHisto(al_mon,m_trt_ec_hist->pullR_mu[endcap]); } @@ -4940,50 +4968,80 @@ void IDAlignMonResiduals::MakeTRTEndcapHistograms(MonGroup& al_mon){ 32, -0.5, 31.5, 50, m_minTRTResWindow, m_maxTRTResWindow); RegisterHisto(al_mon,m_trt_ec_hist->resVsPhiWheel[endcap]); + m_trt_ec_hist->aveResVsPhiWheel[endcap] = MakeHist("trt_ec_aveResVsPhiWheel_"+endcapName[endcap], "Average Residual vs Phi Sector & Wheel for TRT "+endcapName[endcap], 40, -0.5, 39.5, 32, -0.5, 31.5, "End-cap 4-plane wheel","#phi Sector"); RegisterHisto(al_mon,m_trt_ec_hist->aveResVsPhiWheel[endcap]); + m_trt_ec_hist->rmsResVsPhiWheel[endcap] = MakeHist("trt_ec_rmsResVsPhiWheel_"+endcapName[endcap],"Residual RMS vs Phi Sector & Wheel for TRT "+endcapName[endcap], 40, -0.5, 39.5, 32, -0.5, 31.5, "End-cap 4-plane wheel","#phi Sector"); RegisterHisto(al_mon,m_trt_ec_hist->rmsResVsPhiWheel[endcap]); + // same for positive and negative charged particles + m_trt_ec_hist->resVsPhiWheelPos[endcap] = new TH3F(("trt_ec_resVsPhiWheelPos_"+endcapName[endcap]).c_str(), + ("Residual Distribution vs Phi Sector & Wheel for TRT "+endcapName[endcap]+" positive;Wheel;#phi sector;Residual [mm]").c_str(), + 40, -0.5, 39.5, + 32, -0.5, 31.5, + 50, m_minTRTResWindow, m_maxTRTResWindow); + RegisterHisto(al_mon,m_trt_ec_hist->resVsPhiWheelPos[endcap]); + m_trt_ec_hist->resVsPhiWheelNeg[endcap] = new TH3F(("trt_ec_resVsPhiWheelNeg_"+endcapName[endcap]).c_str(), + ("Residual Distribution vs Phi Sector & Wheel for TRT "+endcapName[endcap]+" negative;Wheel;#phi sector;Residual [mm]").c_str(), + 40, -0.5, 39.5, + 32, -0.5, 31.5, + 50, m_minTRTResWindow, m_maxTRTResWindow); + RegisterHisto(al_mon,m_trt_ec_hist->resVsPhiWheelNeg[endcap]); + /** Endcap Residual plots vs Radius & Wheel */ m_trt_ec_hist->resVsRadiusWheelPos[endcap] = new TH3F(("trt_ec_resVsRadiusWheelPos_"+endcapName[endcap]).c_str(), ("Residual Distribution vs Wheel & Radius on Wheel for TRT "+endcapName[endcap]+";Wheel;Radius [mm]; Res [mm]").c_str(), - 40, -0.5, 39.5, 30, 644,1004/*these are the radius limits in mm according to TRT SW*/, + 40, -0.5, 39.5, + 20, 644., 1004. /*these are the radius limits in mm according to TRT SW*/, 50, m_minTRTResWindow, m_maxTRTResWindow); RegisterHisto(al_mon,m_trt_ec_hist->resVsRadiusWheelPos[endcap]); m_trt_ec_hist->aveResVsRadiusWheelPos[endcap] = MakeHist("trt_ec_aveResVsRadiusWheelPos_"+endcapName[endcap], "Average Residual vs Wheel & Radius on Wheel for TRT "+endcapName[endcap], - 40, -0.5, 39.5, 30, 644, 1004, + 40, -0.5, 39.5, + 20, 644., 1004., "Wheel Number","Radius on Wheel [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->aveResVsRadiusWheelPos[endcap]); m_trt_ec_hist->rmsResVsRadiusWheelPos[endcap] = MakeHist("trt_ec_rmsResVsRadiusWheelPos_"+endcapName[endcap], "Residual RMS vs Wheel & Radius on Wheel for TRT "+endcapName[endcap], - 40, -0.5, 39.5, 30, 644, 1004, + 40, -0.5, 39.5, + 20, 644., 1004., "Wheel Number","Radius on Wheel [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->rmsResVsRadiusWheelPos[endcap]); m_trt_ec_hist->resVsRadiusWheelNeg[endcap] = new TH3F(("trt_ec_resVsRadiusWheelNeg_"+endcapName[endcap]).c_str(), ("Residual Distribution vs Wheel & Radius on Wheel for TRT "+endcapName[endcap]+";Wheel;Radius [mm]; Res [mm]").c_str(), - 40, -0.5, 39.5, 30, 644, 1004/*these are the radius limits in mm according to TRT SW*/, + 40, -0.5, 39.5, + 25, 644., 1004./*these are the radius limits in mm according to TRT SW*/, 50, m_minTRTResWindow, m_maxTRTResWindow); RegisterHisto(al_mon,m_trt_ec_hist->resVsRadiusWheelNeg[endcap]); m_trt_ec_hist->aveResVsRadiusWheelNeg[endcap] = MakeHist("trt_ec_aveResVsRadiusWheelNeg_"+endcapName[endcap], "Average Residual vs Wheel & Radius on Wheel for TRT "+endcapName[endcap], - 40, -0.5, 39.5, 30, 644,1004, + 40, -0.5, 39.5, + 20, 644., 1004., "Wheel Number","Radius on Wheel [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->aveResVsRadiusWheelNeg[endcap]); m_trt_ec_hist->rmsResVsRadiusWheelNeg[endcap] = MakeHist("trt_ec_rmsResVsRadiusWheelNeg_"+endcapName[endcap], "Residual RMS vs Wheel & Radius on Wheel for TRT "+endcapName[endcap], - 40, -0.5, 39.5, 30, 644, 1004, + 40, -0.5, 39.5, + 20, 644., 1004., "Wheel Number","Radius on Wheel [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->rmsResVsRadiusWheelNeg[endcap]); + /** Endcap residual histograms vs q x pT & Wheel */ + m_trt_ec_hist->resVsqPtWheel[endcap] = new TH3F(("trt_ec_resVsqPtWheel_"+endcapName[endcap]).c_str(), + ("Residual Distribution vs Wheel & p_{T} for TRT "+endcapName[endcap]+";Wheel;q#timesp_{T} [GeV]; Res [mm]").c_str(), + 40, -0.5, 39.5, + 20, -m_PtRange, m_PtRange, + 50, m_minTRTResWindow, m_maxTRTResWindow); + RegisterHisto(al_mon,m_trt_ec_hist->resVsqPtWheel[endcap]); + /** R(t) relation */ m_trt_ec_hist->rt[endcap] = MakeHist("trt_ec_rt_"+endcapName[endcap],"rt relation for TRT "+endcapName[endcap], 100,-12.5,59.375,100,0,2,"leading edge [ns] corrected for t0 and EP ","dist from wire to track [mm]"); RegisterHisto(al_mon,m_trt_ec_hist->rt[endcap]); @@ -5257,7 +5315,7 @@ void IDAlignMonResiduals::fillTRTEndcapHistograms(int barrel_ec, int layer_or_wh if(m_extendedPlots){ if (LE != -999) m_trt_ec_hist->rt[endcap] -> Fill(LE - EP - t0,fabs(perdictR), hweight); m_trt_ec_hist->residualR_pt[endcap]-> Fill(trkpt, residualR, hweight); - m_trt_ec_hist->residualR_ptwheel[endcap][layer_or_wheel]-> Fill(trkpt, residualR, hweight); + m_trt_ec_hist->residualR_ptwheel[endcap][getRing(layer_or_wheel,straw_layer)]-> Fill(trkpt, residualR, hweight); m_trt_ec_hist->pullR_pt[endcap] -> Fill(trkpt, pullR , hweight); if (!isTubeHit) m_trt_ec_hist->pullR_notube_pt[endcap] -> Fill(trkpt,pullR, hweight); @@ -5278,22 +5336,29 @@ void IDAlignMonResiduals::fillTRTEndcapHistograms(int barrel_ec, int layer_or_wh } } + // fill TH3F of ave residual vs phi & wheel if(m_extendedPlots){ - m_trt_ec_hist->resVsPhiWheel[endcap]->Fill(getRing(layer_or_wheel,straw_layer),phi_module,residualR,hweight); + float theWheel = static_cast<float>(getRing(layer_or_wheel,straw_layer)); + float thePhiMod = static_cast<float>(phi_module); + + m_trt_ec_hist->resVsPhiWheel[endcap]->Fill(theWheel, thePhiMod, residualR, hweight); + // fill TH3F of ave residual vs wheel & radius vs charge & LOW PT ONLY ATH_MSG_DEBUG ("Going to fill m_trt_ec_hist->resVsRadiusWheelPos["<< endcap<<"] for pt: " << trkpt << " hitGlobalR= " << hitGlobalR); if(fabs(trkpt) < m_maxPtEC){ int charge = (trkpt > 0 ? 1 : -1); - if (hitGlobalR != -9999) - { - if(charge > 0){ - m_trt_ec_hist->resVsRadiusWheelPos[endcap]->Fill(getRing(layer_or_wheel,straw_layer), hitGlobalR, residualR,hweight); - } - else{ - m_trt_ec_hist->resVsRadiusWheelNeg[endcap]->Fill(getRing(layer_or_wheel,straw_layer), hitGlobalR, residualR,hweight); - } + if (hitGlobalR != -9999) { + if(charge > 0){ + m_trt_ec_hist->resVsPhiWheelPos[endcap] ->Fill(theWheel, thePhiMod, residualR, hweight); + m_trt_ec_hist->resVsRadiusWheelPos[endcap]->Fill(theWheel, hitGlobalR, residualR, hweight); + } + else{ + m_trt_ec_hist->resVsPhiWheelNeg[endcap] ->Fill(theWheel, thePhiMod, residualR, hweight); + m_trt_ec_hist->resVsRadiusWheelNeg[endcap]->Fill(theWheel, hitGlobalR, residualR, hweight); } + } // radius known + m_trt_ec_hist->resVsqPtWheel[endcap]->Fill(theWheel, trkpt, residualR, hweight); } } diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h index 954d79ff91da..8a767130ac40 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h @@ -215,6 +215,7 @@ class IDAlignMonResiduals : public ManagedMonitorToolBase //histograms TH1F* m_totalEvents{}; + TH1F* m_totalTracks{}; TH1F* m_sirescalcfailure{}; std::vector<TH3F*> m_sct_b_Oxresxvsmodetaphi_3ds; std::vector<TH3F*> m_sct_b_Oyresxvsmodetaphi_3ds; -- GitLab From 3d75a1509cb518b5eafd56aa21a569dcaca13ade Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Wed, 23 Dec 2020 12:56:42 +0100 Subject: [PATCH 2/7] keep debugging --- .../src/IDAlignMonResiduals.cxx | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index b9c28604161a..70bda10dc6ab 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -1132,14 +1132,14 @@ StatusCode IDAlignMonResiduals::fillHistograms() //need to get the Trk::Track object from which the TrackParticle object was created //this has the hit information const Trk::Track* track = *trackItr; - if(track == NULL){ + if(track == nullptr){ ATH_MSG_WARNING("** IDAlignMonResiduals::fillHistograms ** No associated Trk::Track object found for track "<< nTracks); continue; } //check that all TSOS of track have track parameters defined (required to compute residuals/pulls) if (trackRequiresRefit(track)) { - ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms ** Not all TSOS contain track parameters - will be missing residuals/pulls "); + ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms ** Not all TSOS contain track parameters - will be missing residuals/pulls "); } else { ATH_MSG_DEBUG ("All TSOS of track " << nTracks <<"/" << tracks->size() << " contain track parameters - Good! "); @@ -1147,7 +1147,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() //trackStateOnSurfaces is a vector of Trk::TrackStateOnSurface objects which contain information //on track at each (inner)detector surface it crosses eg hit used to fit track - ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " has " << track->trackStateOnSurfaces()->size() << " TrkSurfaces"); + ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " has " << track->trackStateOnSurfaces()->size() << " TrkSurfaces"); // Code is able to get a weight from an external file and appy it to all histograms double hweight = 1.; @@ -1172,24 +1172,24 @@ StatusCode IDAlignMonResiduals::fillHistograms() hweight = m_etapTWeight->GetBinContent( binNumber ); } //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 "); + ATH_MSG_WARNING ("** 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 "); + if (tsos == nullptr) { + ATH_MSG_WARNING (" TSOS (hit) = " << nTSOS << " is NULL "); continue; } - ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " dealing with TSOS (hit) = " << nTSOS); + ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " dealing with TSOS (hit) = " << nTSOS); //skipping outliers if(!tsos->type(Trk::TrackStateOnSurface::Measurement)) { - ATH_MSG_DEBUG ("Skipping TSOS " << nTSOS << " because it is an outlier (or the first TSOS on the track)"); + ATH_MSG_WARNING ("Skipping TSOS " << nTSOS << " because it is an outlier (or the first TSOS on the track)"); continue; } const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); - ATH_MSG_DEBUG ("Defined hit MeasurementBase for hit " << nTSOS); + ATH_MSG_WARNING ("Defined hit MeasurementBase for hit " << nTSOS); if (!countedTrack) { m_totalTracks->Fill(0.); // count only once countedTrack = true; @@ -1197,9 +1197,9 @@ StatusCode IDAlignMonResiduals::fillHistograms() //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface const Trk::RIO_OnTrack* hit = dynamic_cast <const Trk::RIO_OnTrack*>(mesh); - if (hit== NULL) { + if (hit == nullptr) { //for some reason the first tsos has no associated hit - maybe because this contains the defining parameters? - if (nHits > 0 && msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "No hit associated with TSOS "<< nTSOS << endmsg; + if (nHits > 0) ATH_MSG_WARNING ("No hit associated with TSOS "<< nTSOS); continue; } @@ -1216,9 +1216,8 @@ StatusCode IDAlignMonResiduals::fillHistograms() float incidenceTheta = -999; const Trk::TrkDetElementBase *de = hit->detectorElement(); // rio is the measurment at a particular suface - const InDetDD::SiDetectorElement *side = dynamic_cast<const - InDetDD::SiDetectorElement *>(de); - if(side){ + const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de); + if (side){ Amg::Vector3D mytrack = trackParameter->momentum(); // track parameters at that surface Amg::Vector3D mynormal = side->normal(); Amg::Vector3D myphiax = side->phiAxis(); @@ -1232,12 +1231,13 @@ StatusCode IDAlignMonResiduals::fillHistograms() const AmgSymMatrix(5)* TrackParCovariance = trackParameter ? trackParameter->covariance() : NULL; - if(TrackParCovariance==NULL) { + if( TrackParCovariance == nullptr) { //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) - ATH_MSG_DEBUG ("Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters"); + ATH_MSG_WARNING ("Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters"); continue; } + ATH_MSG_WARNING ("-salva- dealing with TSOS #" << nTSOS); float residualX = 9999.0; float residualY = 9999.0; @@ -1277,14 +1277,14 @@ StatusCode IDAlignMonResiduals::fillHistograms() int ClusSize = -999; const Identifier & hitId = hit->identify(); - ATH_MSG_DEBUG ( "Defined hit Identifier "); + ATH_MSG_DEBUG ( "Defining hit Identifier "); if (m_idHelper->is_trt(hitId)) detType = 2; else if (m_idHelper->is_sct(hitId)) detType = 1; else detType = 0; // TRT hits: detType = 2 if(detType==2){ - ATH_MSG_DEBUG("** IDAlignMonResiduals::fillHistograms() ** Hit is from the TRT, finding residuals... "); + ATH_MSG_WARNING("** IDAlignMonResiduals::fillHistograms() ** Hit is from the TRT, finding residuals... "); bool isTubeHit = (mesh->localCovariance()(Trk::locX,Trk::locX) > 1.0) ? 1 : 0; const Trk::TrackParameters* trackParameter = tsos->trackParameters(); float hitR = hit->localParameters()[Trk::driftRadius]; -- GitLab From 8a3219dd7c55c79c2014eff940d73e8db15e624b Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Wed, 23 Dec 2020 16:39:34 +0100 Subject: [PATCH 3/7] keep debugging IDAlignMonResiduals --- .../src/IDAlignMonResiduals.cxx | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index 70bda10dc6ab..dfbbe6733c5a 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -1067,7 +1067,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() { const EventContext& ctx = Gaudi::Hive::currentContext(); ++m_events; - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** START ** call for m_events " << m_events << " for track collection: " << m_tracksName.key()); + ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** START ** call for m_events " << m_events << " for track collection: " << m_tracksName.key()); m_hasBeenCalledThisEvent=false; m_mu=0.; @@ -1093,7 +1093,9 @@ StatusCode IDAlignMonResiduals::fillHistograms() else { m_mu = -999; } - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** event number: " << eventInfo->eventNumber() << " lumiblock: " << m_lumiblock << " mu: " << m_mu); + ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** run number: " << eventInfo->runNumber() + << " event number: " << eventInfo->eventNumber() + << " lumiblock: " << m_lumiblock << " mu: " << m_mu); if (m_extendedPlots){ m_mu_perEvent->Fill(m_mu); @@ -1115,14 +1117,17 @@ StatusCode IDAlignMonResiduals::fillHistograms() SG::ReadHandle<TrackCollection> inputTracks{m_tracksName}; if (not inputTracks.isValid()) { - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms() -- " << m_tracksName.key() << " could not be retrieved"); + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** " << m_tracksName.key() << " could not be retrieved"); return StatusCode::RECOVERABLE; } const DataVector<Trk::Track>* tracks = m_trackSelection->selectTracks(inputTracks); - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms() -- event: " << m_events - << " with Track collection " << m_tracksName.key() - << " has size =" << tracks->size()); + ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** event: " << m_events + << " run: " << eventInfo->runNumber() + << " event: " << eventInfo->eventNumber() + << " LB: " << m_lumiblock + << " --> Track collection " << m_tracksName.key() + << " has size =" << tracks->size()); int nTracks = 0; int nHitsEvent = 0; @@ -1173,29 +1178,35 @@ StatusCode IDAlignMonResiduals::fillHistograms() } //looping over the hits of this track ATH_MSG_WARNING ("** track " << nTracks << "/" << tracks->size() - << " pt: " << trkpt << " eta: " << trketa_w << " weight: " << hweight - << " ** start looping on hits/TSOS "); + << " pt: " << trkpt + << " eta: " << trketa_w + << " weight: " << hweight + << " ** start looping on hits/TSOS ** "); for (const Trk::TrackStateOnSurface* tsos : *track->trackStateOnSurfaces()) { ++nTSOS; + ATH_MSG_WARNING (" --> dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks); if (tsos == nullptr) { ATH_MSG_WARNING (" TSOS (hit) = " << nTSOS << " is NULL "); continue; } - ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " dealing with TSOS (hit) = " << nTSOS); //skipping outliers + ATH_MSG_WARNING (" --> testing hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " to be measurement type"); if(!tsos->type(Trk::TrackStateOnSurface::Measurement)) { ATH_MSG_WARNING ("Skipping TSOS " << nTSOS << " because it is an outlier (or the first TSOS on the track)"); continue; } + const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); ATH_MSG_WARNING ("Defined hit MeasurementBase for hit " << nTSOS); if (!countedTrack) { m_totalTracks->Fill(0.); // count only once countedTrack = true; + ATH_MSG_WARNING ("m_totalTracks->Fill(0.); OK"); } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface + ATH_MSG_WARNING (" Going to retrive the Trk::RIO_OnTrack for hit " << nTSOS); const Trk::RIO_OnTrack* hit = dynamic_cast <const Trk::RIO_OnTrack*>(mesh); if (hit == nullptr) { //for some reason the first tsos has no associated hit - maybe because this contains the defining parameters? @@ -1203,10 +1214,12 @@ StatusCode IDAlignMonResiduals::fillHistograms() continue; } + ATH_MSG_WARNING (" Going to retrive the track parameters of this TSOS"); const Trk::TrackParameters* trackParameter = tsos->trackParameters(); - if(trackParameter==NULL) { + if(trackParameter== nullptr) { //if no TrackParameters for TSOS we cannot define residuals if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Skipping TSOS " << nTSOS << " because does not have TrackParameters" << endmsg; + ATH_MSG_WARNING (" Skipping TSOS " << nTSOS << " because it does not have TrackParameters"); continue; } @@ -1215,6 +1228,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() float incidencePhi = -999; float incidenceTheta = -999; + ATH_MSG_WARNING (" going for hit->detectorElement() of hit " << nTSOS); const Trk::TrkDetElementBase *de = hit->detectorElement(); // rio is the measurment at a particular suface const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de); if (side){ @@ -1311,7 +1325,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() if(msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Cannot define unbiased parameters for hit, skipping it." << endmsg; continue; } - if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Found UnBiased TrackParameters" << endmsg; + ATH_MSG_WARNING ("UnBiased TrackParameters FOUND!"); float perdictR = trackParameterUnbiased->parameters()[Trk::locR]; @@ -1328,9 +1342,10 @@ StatusCode IDAlignMonResiduals::fillHistograms() if (residualPull) { pullR = residualPull->pull()[Trk::locR]; + ATH_MSG_WARNING (" pullR = " << pullR); } else { - if(msgLvl(MSG::WARNING)) msg(MSG::WARNING) << " no covariance of the track parameters given, can not calc pull!" << endmsg; + ATH_MSG_WARNING (" no covariance of the track parameters given, can not calculate pull!"); } delete trackParameterUnbiased; @@ -1343,17 +1358,17 @@ StatusCode IDAlignMonResiduals::fillHistograms() const InDet::TRT_DriftCircle *RawDriftCircle(NULL); if (trtCircle!=NULL) { - ATH_MSG_DEBUG("Getting RawDriftCircle"); + ATH_MSG_WARNING("Getting TRT RawDriftCircle"); RawDriftCircle = dynamic_cast<const InDet::TRT_DriftCircle*>(trtCircle->prepRawData()); } else { ATH_MSG_DEBUG("trtCircle is a NULL pointer"); } - if ( trtCircle != NULL){ + if ( trtCircle != nullptr){ bool isValid; float leadingEdge = -999; - if (RawDriftCircle != NULL) { + if (RawDriftCircle != nullptr) { leadingEdge=RawDriftCircle->driftTime(isValid); } else { -- GitLab From 60c6e71a201b20df60e759a36161b30fcddfca2b Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Wed, 23 Dec 2020 23:02:29 +0100 Subject: [PATCH 4/7] debugging around m_hTotalTrack->Fill --- .../src/IDAlignMonResiduals.cxx | 14 ++++++++------ .../src/IDAlignMonResiduals.h | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index dfbbe6733c5a..2103e21fb9e8 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -313,7 +313,7 @@ void IDAlignMonResiduals::InitializeHistograms() { m_totalEvents = 0; - m_totalTracks = 0; + m_hTotalTracks = 0; m_oldlumiblock = 0; m_sirescalcfailure =0; m_pix_eca_xresvsmodphidisk_3d = 0; @@ -849,8 +849,8 @@ StatusCode IDAlignMonResiduals::bookHistograms() m_totalEvents = new TH1F("TotalEvents","TotalEvents", 1, -0.5, 0.5); RegisterHisto(al_mon,m_totalEvents); - m_totalTracks = new TH1F("TotalTracks","TotalTracks", 1, -0.5, 0.5); - RegisterHisto(al_mon,m_totalTracks); + m_hTotalTracks = new TH1F("TotalTracks","TotalTracks", 1, -0.5, 0.5); + RegisterHisto(al_mon,m_hTotalTracks); m_mu_perEvent = new TH1F("mu_perEvent","<#mu> per event", m_nBinsMuRange, m_muRangeMin, m_muRangeMax); RegisterHisto(al_mon,m_mu_perEvent); @@ -1198,11 +1198,13 @@ StatusCode IDAlignMonResiduals::fillHistograms() } const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); - ATH_MSG_WARNING ("Defined hit MeasurementBase for hit " << nTSOS); + ATH_MSG_WARNING ( "--> Defined hit measurementOnTrack() for hit: " << nTSOS <<"/" << track->trackStateOnSurfaces()->size()); + ATH_MSG_WARNING ( "--> countedTrack?:" << countedTrack); if (!countedTrack) { - m_totalTracks->Fill(0.); // count only once + ATH_MSG_WARNING ( "--> going to fill: m_hTotalTracks->Fill(0.) "); + m_hTotalTracks->Fill(0.); // count only once countedTrack = true; - ATH_MSG_WARNING ("m_totalTracks->Fill(0.); OK"); + ATH_MSG_WARNING ("--> m_hTotalTracks->Fill(0.); OK"); } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h index 8a767130ac40..b24017dd6b0c 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h @@ -215,7 +215,7 @@ class IDAlignMonResiduals : public ManagedMonitorToolBase //histograms TH1F* m_totalEvents{}; - TH1F* m_totalTracks{}; + TH1F* m_hTotalTracks{}; TH1F* m_sirescalcfailure{}; std::vector<TH3F*> m_sct_b_Oxresxvsmodetaphi_3ds; std::vector<TH3F*> m_sct_b_Oyresxvsmodetaphi_3ds; -- GitLab From e66643a36653da3109b80b1fd61c68601dfd49e4 Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Thu, 24 Dec 2020 09:44:36 +0100 Subject: [PATCH 5/7] suspecting h->Fill(0.) Very strange --- .../src/IDAlignMonResiduals.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index 2103e21fb9e8..ad96e13d9e1d 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -1184,27 +1184,28 @@ StatusCode IDAlignMonResiduals::fillHistograms() << " ** start looping on hits/TSOS ** "); for (const Trk::TrackStateOnSurface* tsos : *track->trackStateOnSurfaces()) { ++nTSOS; - ATH_MSG_WARNING (" --> dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks); + ATH_MSG_WARNING (" ** dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks); if (tsos == nullptr) { ATH_MSG_WARNING (" TSOS (hit) = " << nTSOS << " is NULL "); continue; } //skipping outliers - ATH_MSG_WARNING (" --> testing hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " to be measurement type"); + ATH_MSG_DEBUG (" --> testing hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " to be measurement type"); if(!tsos->type(Trk::TrackStateOnSurface::Measurement)) { - ATH_MSG_WARNING ("Skipping TSOS " << nTSOS << " because it is an outlier (or the first TSOS on the track)"); + ATH_MSG_DEBUG ("Skipping TSOS " << nTSOS << " because it is an outlier (or the first TSOS on the track)"); continue; } const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); - ATH_MSG_WARNING ( "--> Defined hit measurementOnTrack() for hit: " << nTSOS <<"/" << track->trackStateOnSurfaces()->size()); - ATH_MSG_WARNING ( "--> countedTrack?:" << countedTrack); + ATH_MSG_WARNING ( " --> Defined hit measurementOnTrack() for hit: " << nTSOS <<"/" << track->trackStateOnSurfaces()->size() << " of track " << nTracks); + ATH_MSG_WARNING ( " --> countedTrack?:" << countedTrack); if (!countedTrack) { - ATH_MSG_WARNING ( "--> going to fill: m_hTotalTracks->Fill(0.) "); + ATH_MSG_WARNING ( " --> going to fill: m_hTotalTracks->Fill(0.) "); m_hTotalTracks->Fill(0.); // count only once + ATH_MSG_WARNING ( " --> m_hTotalTracks->Fill(0.) OK now setting countedTrack to true "); countedTrack = true; - ATH_MSG_WARNING ("--> m_hTotalTracks->Fill(0.); OK"); + ATH_MSG_WARNING ("--> counted track set to true"); } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface -- GitLab From 21ad3d06d587d98b4231683a0fd4e57cecc46d8a Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Thu, 24 Dec 2020 15:35:48 +0100 Subject: [PATCH 6/7] commenting m_hTotalTracks->Fill(0.) causing a very strange crash in the MR test --- .../src/IDAlignMonResiduals.cxx | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index ad96e13d9e1d..3278fdb38253 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -1152,7 +1152,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() //trackStateOnSurfaces is a vector of Trk::TrackStateOnSurface objects which contain information //on track at each (inner)detector surface it crosses eg hit used to fit track - ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " has " << track->trackStateOnSurfaces()->size() << " TrkSurfaces"); + ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms() ** track: " << nTracks << " has " << track->trackStateOnSurfaces()->size() << " TrkSurfaces"); // Code is able to get a weight from an external file and appy it to all histograms double hweight = 1.; @@ -1177,16 +1177,16 @@ StatusCode IDAlignMonResiduals::fillHistograms() hweight = m_etapTWeight->GetBinContent( binNumber ); } //looping over the hits of this track - ATH_MSG_WARNING ("** track " << nTracks << "/" << tracks->size() + 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; - ATH_MSG_WARNING (" ** dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks); + ATH_MSG_WARNING (" ====> dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks << "/" << tracks->size()); if (tsos == nullptr) { - ATH_MSG_WARNING (" TSOS (hit) = " << nTSOS << " is NULL "); + ATH_MSG_DEBUG (" TSOS (hit) = " << nTSOS << " is NULL "); continue; } @@ -1198,31 +1198,29 @@ StatusCode IDAlignMonResiduals::fillHistograms() } const Trk::MeasurementBase* mesh =tsos->measurementOnTrack(); - ATH_MSG_WARNING ( " --> Defined hit measurementOnTrack() for hit: " << nTSOS <<"/" << track->trackStateOnSurfaces()->size() << " of track " << nTracks); - ATH_MSG_WARNING ( " --> countedTrack?:" << countedTrack); + ATH_MSG_DEBUG ( " --> Defined hit measurementOnTrack() for hit: " << nTSOS <<"/" << track->trackStateOnSurfaces()->size() << " of track " << nTracks); if (!countedTrack) { - ATH_MSG_WARNING ( " --> going to fill: m_hTotalTracks->Fill(0.) "); - m_hTotalTracks->Fill(0.); // count only once + ATH_MSG_DEBUG ( " --> going to fill: m_hTotalTracks->Fill(0.) "); + // m_hTotalTracks->Fill(0.); // count only once ATH_MSG_WARNING ( " --> m_hTotalTracks->Fill(0.) OK now setting countedTrack to true "); countedTrack = true; - ATH_MSG_WARNING ("--> counted track set to true"); + ATH_MSG_WARNING (" --> counted track set to true"); } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface - ATH_MSG_WARNING (" Going to retrive the Trk::RIO_OnTrack for hit " << nTSOS); + ATH_MSG_DEBUG (" --> Going to retrive the Trk::RIO_OnTrack for hit " << nTSOS); const Trk::RIO_OnTrack* hit = dynamic_cast <const Trk::RIO_OnTrack*>(mesh); if (hit == nullptr) { //for some reason the first tsos has no associated hit - maybe because this contains the defining parameters? - if (nHits > 0) ATH_MSG_WARNING ("No hit associated with TSOS "<< nTSOS); + if (nHits > 0) ATH_MSG_DEBUG ("No hit associated with TSOS "<< nTSOS); continue; } - ATH_MSG_WARNING (" Going to retrive the track parameters of this TSOS"); + ATH_MSG_DEBUG (" --> Going to retrive the track parameters of this TSOS: " << nTSOS); const Trk::TrackParameters* trackParameter = tsos->trackParameters(); if(trackParameter== nullptr) { //if no TrackParameters for TSOS we cannot define residuals - if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Skipping TSOS " << nTSOS << " because does not have TrackParameters" << endmsg; - ATH_MSG_WARNING (" Skipping TSOS " << nTSOS << " because it does not have TrackParameters"); + ATH_MSG_DEBUG (" Skipping TSOS " << nTSOS << " because it does not have TrackParameters"); continue; } @@ -1231,7 +1229,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() float incidencePhi = -999; float incidenceTheta = -999; - ATH_MSG_WARNING (" going for hit->detectorElement() of hit " << nTSOS); + ATH_MSG_DEBUG (" --> going for hit->detectorElement() of hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size()); const Trk::TrkDetElementBase *de = hit->detectorElement(); // rio is the measurment at a particular suface const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de); if (side){ @@ -1251,10 +1249,10 @@ StatusCode IDAlignMonResiduals::fillHistograms() if( TrackParCovariance == nullptr) { //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) - ATH_MSG_WARNING ("Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters"); + ATH_MSG_DEBUG ("Skipping TSOS " << nTSOS << " because does not have MeasuredTrackParameters"); continue; } - ATH_MSG_WARNING ("-salva- dealing with TSOS #" << nTSOS); + ATH_MSG_DEBUG (" --> going to define residuals and everything of TSOS #" << nTSOS << "/" << track->trackStateOnSurfaces()->size()); float residualX = 9999.0; float residualY = 9999.0; @@ -1301,7 +1299,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() // TRT hits: detType = 2 if(detType==2){ - ATH_MSG_WARNING("** IDAlignMonResiduals::fillHistograms() ** Hit is from the TRT, finding residuals... "); + ATH_MSG_DEBUG ("** IDAlignMonResiduals::fillHistograms() ** Hit is from the TRT, finding residuals... "); bool isTubeHit = (mesh->localCovariance()(Trk::locX,Trk::locX) > 1.0) ? 1 : 0; const Trk::TrackParameters* trackParameter = tsos->trackParameters(); float hitR = hit->localParameters()[Trk::driftRadius]; @@ -1328,7 +1326,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() if(msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Cannot define unbiased parameters for hit, skipping it." << endmsg; continue; } - ATH_MSG_WARNING ("UnBiased TrackParameters FOUND!"); + ATH_MSG_DEBUG (" --> TRT UnBiased TrackParameters of hit " << nTSOS << " FOUND"); float perdictR = trackParameterUnbiased->parameters()[Trk::locR]; @@ -1345,10 +1343,9 @@ StatusCode IDAlignMonResiduals::fillHistograms() if (residualPull) { pullR = residualPull->pull()[Trk::locR]; - ATH_MSG_WARNING (" pullR = " << pullR); } else { - ATH_MSG_WARNING (" no covariance of the track parameters given, can not calculate pull!"); + ATH_MSG_DEBUG (" no covariance of the track parameters given, can not calculate pull!"); } delete trackParameterUnbiased; @@ -1361,7 +1358,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() const InDet::TRT_DriftCircle *RawDriftCircle(NULL); if (trtCircle!=NULL) { - ATH_MSG_WARNING("Getting TRT RawDriftCircle"); + ATH_MSG_DEBUG(" --> Getting TRT RawDriftCircle"); RawDriftCircle = dynamic_cast<const InDet::TRT_DriftCircle*>(trtCircle->prepRawData()); } else { -- GitLab From d54555ee948278ea575b71ab7d4485f8d2977b81 Mon Sep 17 00:00:00 2001 From: Salvador Marti <salvador.marti@ific.uv.es> Date: Thu, 24 Dec 2020 19:22:36 +0100 Subject: [PATCH 7/7] move warning messages to debug --- .../src/IDAlignMonResiduals.cxx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx index 3278fdb38253..226a949adc41 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx @@ -1083,7 +1083,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() } } else { - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** eventInfo retrieving failure"); + ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** eventInfo retrieving failure"); } if (!m_hasBeenCalledThisEvent){ @@ -1110,7 +1110,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() timeCor = theComTime->getTime(); } else{ - ATH_MSG_WARNING ("ComTime object not found with name " << m_comTimeObjectName.key() << "!!!"); + ATH_MSG_DEBUG ("ComTime object not found with name " << m_comTimeObjectName.key() << "!!!"); //return StatusCode::FAILURE; } } @@ -1122,7 +1122,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() } const DataVector<Trk::Track>* tracks = m_trackSelection->selectTracks(inputTracks); - ATH_MSG_WARNING ("IDAlignMonResiduals::fillHistograms ** event: " << m_events + ATH_MSG_DEBUG ("IDAlignMonResiduals::fillHistograms ** event: " << m_events << " run: " << eventInfo->runNumber() << " event: " << eventInfo->eventNumber() << " LB: " << m_lumiblock @@ -1133,18 +1133,18 @@ StatusCode IDAlignMonResiduals::fillHistograms() int nHitsEvent = 0; for (DataVector<Trk::Track>::const_iterator trackItr = tracks->begin(); trackItr != tracks->end(); ++trackItr) { //looping over tracks - ATH_MSG_WARNING (" -- looping over track " << nTracks << "/" << tracks->size()); + 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; if(track == nullptr){ - ATH_MSG_WARNING("** IDAlignMonResiduals::fillHistograms ** No associated Trk::Track object found for track "<< nTracks); + ATH_MSG_DEBUG("** IDAlignMonResiduals::fillHistograms ** No associated Trk::Track object found for track "<< nTracks); continue; } //check that all TSOS of track have track parameters defined (required to compute residuals/pulls) if (trackRequiresRefit(track)) { - ATH_MSG_WARNING ("** IDAlignMonResiduals::fillHistograms ** Not all TSOS contain track parameters - will be missing residuals/pulls "); + 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 <<"/" << tracks->size() << " contain track parameters - Good! "); @@ -1184,7 +1184,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() << " ** start looping on hits/TSOS ** "); for (const Trk::TrackStateOnSurface* tsos : *track->trackStateOnSurfaces()) { ++nTSOS; - ATH_MSG_WARNING (" ====> dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks << "/" << tracks->size()); + ATH_MSG_DEBUG (" ====> dealing with hit " << nTSOS << "/" << track->trackStateOnSurfaces()->size() << " of track: " << nTracks << "/" << tracks->size()); if (tsos == nullptr) { ATH_MSG_DEBUG (" TSOS (hit) = " << nTSOS << " is NULL "); continue; @@ -1202,9 +1202,7 @@ StatusCode IDAlignMonResiduals::fillHistograms() if (!countedTrack) { ATH_MSG_DEBUG ( " --> going to fill: m_hTotalTracks->Fill(0.) "); // m_hTotalTracks->Fill(0.); // count only once - ATH_MSG_WARNING ( " --> m_hTotalTracks->Fill(0.) OK now setting countedTrack to true "); countedTrack = true; - ATH_MSG_WARNING (" --> counted track set to true"); } //Trk::RIO_OnTrack object contains information on the hit used to fit the track at this surface -- GitLab