@@ -500,6 +500,7 @@ void ITSFhrTask::monitorData(o2::framework::ProcessingContext& ctx)
500500 for (auto & digit : digVec[istave][0 ]) {
501501 int chip = digit.getChipIndex () % 9 ;
502502 mHitPixelID_InStave [istave][0 ][chip][1000 * digit.getColumn () + digit.getRow ()]++;
503+ nHitsTotal++;
503504 if (mTFCount <= mCutTFForSparse ) {
504505 Double_t pixelPos[2 ] = { 1 . * (digit.getColumn () + (1024 * chip)), 1 . * digit.getRow () };
505506 mStaveHitmap [istave]->Fill (pixelPos);
@@ -510,6 +511,7 @@ void ITSFhrTask::monitorData(o2::framework::ProcessingContext& ctx)
510511 for (auto & digit : digVec[istave][ihic]) {
511512 int chip = ((digit.getChipIndex () - ChipBoundary[mLayer ]) % (14 * nHicPerStave[mLayer ])) % 14 ;
512513 mHitPixelID_InStave [istave][ihic][chip][1000 * digit.getColumn () + digit.getRow ()]++;
514+ nHitsTotal++;
513515 int ilink = ihic / (nHicPerStave[mLayer ] / 2 );
514516 if (mTFCount <= mCutTFForSparse ) {
515517 if (chip < 7 ) {
@@ -536,6 +538,7 @@ void ITSFhrTask::monitorData(o2::framework::ProcessingContext& ctx)
536538 }
537539
538540 int totalhit = 0 ;
541+
539542#ifdef WITH_OPENMP
540543 omp_set_num_threads (mNThreads );
541544#pragma omp parallel for schedule(dynamic) reduction(+ \
@@ -566,10 +569,11 @@ void ITSFhrTask::monitorData(o2::framework::ProcessingContext& ctx)
566569
567570 if (mDoHitmapFilter == 1 ) {
568571 for (auto iter = mHitPixelID_InStave [istave][0 ][ichip].begin (); iter != mHitPixelID_InStave [istave][0 ][ichip].end ();) {
569- if ((double )iter->second / GBTLinkInfo-> statistics . nTriggers < mPhysicalOccupancyIB ) { // 40 hits/cm^2 * 5 pixels/hits * 4.5 cm^2 / 1024 / 512 = 1.7e-3/pixel/event for physics
572+ if ((double )iter->second / 10 < ( double )nHitsTotal / ((ChipBoundary[ mLayer + 1 ] - ChipBoundary[ mLayer ]) * 1024 * 512 )) { // noisy if more than 3x of averaged per chip
570573 mHitPixelID_InStave [istave][0 ][ichip].erase (iter++);
571- } else
574+ } else {
572575 ++iter;
576+ }
573577 }
574578 }
575579
@@ -607,10 +611,12 @@ void ITSFhrTask::monitorData(o2::framework::ProcessingContext& ctx)
607611
608612 if (mDoHitmapFilter == 1 ) {
609613 for (auto iter = mHitPixelID_InStave [istave][ihic + ilink * ((nHicPerStave[mLayer ] / NSubStave[mLayer ]))][ichip].begin (); iter != mHitPixelID_InStave [istave][ihic + ilink * ((nHicPerStave[mLayer ] / NSubStave[mLayer ]))][ichip].end ();) {
610- if ((double )iter->second / GBTLinkInfo-> statistics . nTriggers < mPhysicalOccupancyOB ) { // 1 hits/cm^2 * 5 pixels/hits * 4.5 cm^2 / 1024 / 512 = 4.3e-5/pixel/event`
614+ if ((double )iter->second / 100 < ( double )nHitsTotal / ((ChipBoundary[ mLayer + 1 ] - ChipBoundary[ mLayer ]) * 1024 * 512 )) { // noisy if more than 3x of averaged per chip
611615 mHitPixelID_InStave [istave][ihic + ilink * ((nHicPerStave[mLayer ] / NSubStave[mLayer ]))][ichip].erase (iter++);
612- } else
616+
617+ } else {
613618 ++iter;
619+ }
614620 }
615621 }
616622 for (auto iter = mHitPixelID_InStave [istave][ihic + ilink * ((nHicPerStave[mLayer ] / NSubStave[mLayer ]))][ichip].begin (); iter != mHitPixelID_InStave [istave][ihic + ilink * ((nHicPerStave[mLayer ] / NSubStave[mLayer ]))][ichip].end (); iter++) {
0 commit comments