@@ -527,6 +527,7 @@ int32_t GPUQA::InitQACreateHistograms()
527527
528528 createHist (mPadRow [0 ], " padrow0" , " padrow0" , GPUCA_ROW_COUNT, 0 , GPUCA_ROW_COUNT - 1 , GPUCA_ROW_COUNT, 0 , GPUCA_ROW_COUNT - 1 );
529529 createHist (mPadRow [1 ], " padrow1" , " padrow1" , 100 .f , -0 .2f , 0 .2f , GPUCA_ROW_COUNT, 0 , GPUCA_ROW_COUNT - 1 );
530+ createHist (mPadRow [2 ], " padrow2" , " padrow2" , 100 .f , -0 .2f , 0 .2f , GPUCA_ROW_COUNT, 0 , GPUCA_ROW_COUNT - 1 );
530531 }
531532
532533 if (mQATasks & taskTrackStatistics) {
@@ -1114,8 +1115,11 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11141115 const auto & trk = mTracking ->mIOPtrs .mergedTracks [i];
11151116 if (trk.OK () && lowestPadRow[i] != 255 && trk.NClustersFitted () > 70 && CAMath::Abs (trk.GetParam ().GetQPt ()) < 0.5 ) {
11161117 int32_t lowestRow = CAMath::Min (mTracking ->mIOPtrs .mergedTrackHits [trk.FirstClusterRef ()].row , mTracking ->mIOPtrs .mergedTrackHits [trk.FirstClusterRef () + trk.NClusters () - 1 ].row );
1117- mPadRow [0 ]->Fill (( float ) lowestPadRow[i], ( float ) lowestRow, 1 .f );
1118+ mPadRow [0 ]->Fill (lowestPadRow[i], lowestRow, 1 .f );
11181119 mPadRow [1 ]->Fill (CAMath::ATan2 (trk.GetParam ().GetY (), trk.GetParam ().GetX ()), lowestRow, 1 .f );
1120+ if (lowestPadRow[i] == 0 && lowestRow != 0 ) {
1121+ mPadRow [2 ]->Fill (CAMath::ATan2 (trk.GetParam ().GetY (), trk.GetParam ().GetX ()), lowestRow, 1 .f );
1122+ }
11191123 }
11201124 }
11211125 }
@@ -2278,7 +2282,7 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
22782282 mPClRejP = createGarbageCollected<TPad>(" p0" , " " , 0.0 , 0.0 , 1.0 , 1.0 );
22792283 mPClRejP ->Draw ();
22802284
2281- for (int32_t i = 0 ; i < 2 ; i++) {
2285+ for (int32_t i = 0 ; i < 3 ; i++) {
22822286 snprintf (name, 2048 , " cpadrow%d" , i);
22832287 mCPadRow [i] = createGarbageCollected<TCanvas>(name, " First Track Pad Row" , 0 , 0 , 700 , 700 . * 2 . / 3 .);
22842288 mCPadRow [i]->cd ();
@@ -2857,19 +2861,19 @@ int32_t GPUQA::DrawQAHistograms(TObjArray* qcout)
28572861 }
28582862 }
28592863
2860- for (int32_t i = 0 ; i < 2 ; i++) {
2864+ for (int32_t i = 0 ; i < 3 ; i++) {
28612865 auto * e = mPadRow [i];
28622866 if (tout && !mConfig .inputHistogramsOnly ) {
28632867 e->Write ();
28642868 }
28652869 mPPadRow [i]->cd ();
28662870 e->SetOption (" colz" );
2867- e->SetTitle (" First Track Pad Row" );
2871+ e->SetTitle (i == 2 ? " First Track Pad Row (row_{MC} = 0, row_{trk} #ne 0) " : " First Track Pad Row" );
28682872 e->GetXaxis ()->SetTitle (i ? " Phi (sector)" : " First MC Pad Row" );
28692873 e->GetYaxis ()->SetTitle (" First Pad Row" );
28702874 e->Draw ();
28712875 mCPadRow [i]->cd ();
2872- static const constexpr char * PADROW_NAMES[2 ] = {" MC" , " Phi" };
2876+ static const constexpr char * PADROW_NAMES[3 ] = {" MC" , " Phi" , " Phi1 " };
28732877 snprintf (name, 2048 , " plots/padRow%s.pdf" , PADROW_NAMES[i]);
28742878 mCPadRow [i]->Print (name);
28752879 if (mConfig .writeRootFiles ) {
0 commit comments