@@ -56,7 +56,7 @@ struct LightIonsEvSelQa {
5656 Configurable<int > nBinsTracks{" nBinsTracks" , 450 , " N bins in n tracks histo" }; // o2-linter: disable=name/configurable (temporary fix)
5757 Configurable<int > nMaxTracks{" nMaxTracks" , 450 , " N max in n tracks histo" }; // o2-linter: disable=name/configurable (temporary fix)
5858 Configurable<int > nMaxGlobalTracks{" nMaxGlobalTracks" , 450 , " N max in n tracks histo" }; // o2-linter: disable=name/configurable (temporary fix)
59- Configurable<int > nBinsMultFwd{" nBinsMultFwd" , 1000 , " N bins in mult fwd histo" }; // o2-linter: disable=name/configurable (temporary fix)
59+ Configurable<int > nBinsMultFwd{" nBinsMultFwd" , 800 , " N bins in mult fwd histo" }; // o2-linter: disable=name/configurable (temporary fix)
6060 Configurable<float > nMaxMultFwd{" nMaxMultFwd" , 100000 , " N max in mult fwd histo" }; // o2-linter: disable=name/configurable (temporary fix)
6161 Configurable<float > timeBinWidthInSec{" TimeBinWidthInSec" , 10 , " Width of time bins in seconds" }; // o2-linter: disable=name/configurable (temporary fix)
6262
@@ -65,6 +65,8 @@ struct LightIonsEvSelQa {
6565
6666 Configurable<int > confUseDiffVzCutFromEvSel{" UseDiffVzCutFromEvSel" , 0 , " 0 - custom diffVz cut from this task, 1 - cut from event selection" }; // o2-linter: disable=name/configurable (temporary fix)
6767
68+ Configurable<bool > isMC{" isMC" , false , " Run MC" };
69+
6870 uint64_t minGlobalBC = 0 ;
6971 Service<o2::ccdb::BasicCCDBManager> ccdb;
7072 HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -137,12 +139,16 @@ struct LightIonsEvSelQa {
137139 const AxisSpec axisVtxZ{800 , -20 ., 20 ., " " };
138140 const AxisSpec axisBcDiff{600 , -300 ., 300 ., " bc difference" };
139141
140- const AxisSpec axisNcontrib{801 , -0.5 , 800 .5 , " n contributors" };
142+ const AxisSpec axisNcontrib{601 , -0.5 , 600 .5 , " n contributors" };
141143 const AxisSpec axisColTimeRes{1500 , 0 ., 1500 ., " collision time resolution (ns)" };
142144
143145 AxisSpec axisVertexChi2{100 , 0 , 500 , " Chi2 of vertex fit" };
144146 AxisSpec axisVertexChi2perContrib{100 , 0 , 10 , " Chi2 of vertex fit" };
145147
148+ const AxisSpec axisTimeDiff{100 , -10 ., 10 ., " " };
149+ const AxisSpec axisTimeSum{100 , -10 ., 10 ., " " };
150+ const AxisSpec axisZNampl{200 , 0 , 3000 , " " };
151+
146152 histos.add (" noSpecSelections/hBcColNoSel8" , " " , kTH1F , {axisBCs});
147153 histos.add (" noSpecSelections/hBcOrigNoSel8" , " " , kTH1F , {axisBCs});
148154 // histos.add("noSpecSelections/hBcColNoSel8TOF", "", kTH1F, {axisBCs});
@@ -165,6 +171,7 @@ struct LightIonsEvSelQa {
165171 histos.add (" noSpecSelections/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
166172 histos.add (" noSpecSelections/hVertexChi2VsNcontrib" , " " , kTH2F , {axisNcontrib, axisVertexChi2perContrib});
167173 histos.add (" noSpecSelections/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
174+ histos.add (" noSpecSelections/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
168175
169176 histos.add (" noPU/hBcColNoSel8" , " " , kTH1F , {axisBCs});
170177 histos.add (" noPU/hBcOrigNoSel8" , " " , kTH1F , {axisBCs});
@@ -187,6 +194,8 @@ struct LightIonsEvSelQa {
187194 histos.add (" noPU/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
188195 histos.add (" noPU/hVertexChi2VsNcontrib" , " " , kTH2F , {axisNcontrib, axisVertexChi2perContrib});
189196 histos.add (" noPU/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
197+ histos.add (" noPU/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
198+ histos.add (" noPU/hAmplZAC" , " ZNC vs ZNA" , kTH2F , {axisZNampl, axisZNampl});
190199
191200 histos.add (" noPU_pvTOFmatched/hBcColNoSel8" , " " , kTH1F , {axisBCs});
192201 histos.add (" noPU_pvTOFmatched/hBcTVX" , " " , kTH1F , {axisBCs});
@@ -394,6 +403,7 @@ struct LightIonsEvSelQa {
394403 histos.add (" noPU_lowMultCut/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
395404 histos.add (" noPU_lowMultCut/hVertexChi2VsNcontrib" , " " , kTH2F , {axisNcontrib, axisVertexChi2perContrib});
396405 histos.add (" noPU_lowMultCut/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
406+ histos.add (" noPU_lowMultCut/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
397407
398408 histos.add (" highMultCloudCut/hBcColNoSel8" , " " , kTH1F , {axisBCs});
399409 histos.add (" highMultCloudCut/hBcOrigNoSel8" , " " , kTH1F , {axisBCs});
@@ -420,6 +430,7 @@ struct LightIonsEvSelQa {
420430 histos.add (" noPU_highMultCloudCut/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
421431 histos.add (" noPU_highMultCloudCut/hVertexChi2VsNcontrib" , " " , kTH2F , {axisNcontrib, axisVertexChi2perContrib});
422432 histos.add (" noPU_highMultCloudCut/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
433+ histos.add (" noPU_highMultCloudCut/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
423434
424435 histos.add (" noPU_badVzDiff/hBcColNoSel8" , " " , kTH1F , {axisBCs});
425436 histos.add (" noPU_badVzDiff/hBcTVX" , " " , kTH1F , {axisBCs});
@@ -559,6 +570,7 @@ struct LightIonsEvSelQa {
559570 histos.add (" noPU_cutByVzDiff_pvTOF/hColTimeResVsNcontrib" , " " , kTH2F , {axisNcontrib, axisColTimeRes});
560571 histos.add (" noPU_cutByVzDiff_pvTOF/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
561572 histos.add (" noPU_cutByVzDiff_pvTOF/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
573+ histos.add (" noPU_cutByVzDiff_pvTOF/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
562574
563575 histos.add (" noPU_cutByVzDiff_noFT0activityNearby/hBcColNoSel8" , " " , kTH1F , {axisBCs});
564576 histos.add (" noPU_cutByVzDiff_noFT0activityNearby/hBcTVX" , " " , kTH1F , {axisBCs});
@@ -579,8 +591,46 @@ struct LightIonsEvSelQa {
579591 histos.add (" noPU_cutByVzDiff_noFT0activityNearby/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
580592 histos.add (" noPU_cutByVzDiff_noFT0activityNearby/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
581593
594+ histos.add (" noPU_CutOnZNACtime/hBcColNoSel8" , " " , kTH1F , {axisBCs});
595+ histos.add (" noPU_CutOnZNACtime/hBcTVX" , " " , kTH1F , {axisBCs});
596+ histos.add (" noPU_CutOnZNACtime/hBcOrig" , " " , kTH1F , {axisBCs});
597+ histos.add (" noPU_CutOnZNACtime/hBcFT0" , " " , kTH1F , {axisBCs});
598+ histos.add (" noPU_CutOnZNACtime/hBcFV0" , " " , kTH1F , {axisBCs});
599+ histos.add (" noPU_CutOnZNACtime/hBcZDC" , " " , kTH1F , {axisBCs});
600+ histos.add (" noPU_CutOnZNACtime/hVtxFT0VsVtxCol" , " " , kTH2F , {axisVtxZ, axisVtxZ});
601+ histos.add (" noPU_CutOnZNACtime/hVtxFT0MinusVtxColVsMultT0M" , " " , kTH2F , {axisVtxZ, axisMultT0M});
602+ histos.add (" noPU_CutOnZNACtime/nTracksPV_vs_V0A" , " " , kTH2F , {axisMultV0A, axisNtracks});
603+ histos.add (" noPU_CutOnZNACtime/nTracksPV_vs_T0A" , " " , kTH2F , {axisMultFT0A, axisNtracks});
604+ histos.add (" noPU_CutOnZNACtime/nTracksPV_vs_T0C" , " " , kTH2F , {axisMultFT0C, axisNtracks});
605+ histos.add (" noPU_CutOnZNACtime/hTVXvsBcDiffwrtOrigBc" , " " , kTH1F , {axisBcDiff});
606+ histos.add (" noPU_CutOnZNACtime/hColTimeResVsNcontrib" , " " , kTH2F , {axisNcontrib, axisColTimeRes});
607+ histos.add (" noPU_CutOnZNACtime/hColBcDiffVsNcontrib" , " " , kTH2F , {axisNcontrib, axisBcDiff});
608+ histos.add (" noPU_CutOnZNACtime/hNPVvsNch" , " " , kTH2F , {axisNcontrib, axisNcontrib});
609+ histos.add (" noPU_CutOnZNACtime/hTimeZAC" , " ZNC-ZNA time (ns); ZNC+ZNA time (ns)" , kTH2F , {axisTimeDiff, axisTimeSum});
610+ histos.add (" noPU_CutOnZNACtime/hAmplZAC" , " ZNC vs ZNA" , kTH2F , {axisZNampl, axisZNampl});
611+
612+ histos.add (" noPU_AntiCutOnZNACtime/hBcFV0" , " " , kTH1F , {axisBCs});
613+ histos.add (" noPU_AntiCutOnZNACtime/nTracksPV_vs_V0A" , " " , kTH2F , {axisMultV0A, axisNtracks});
614+ histos.add (" noPU_AntiCutOnZNACtime/hVtxFT0MinusVtxColVsMultT0M" , " " , kTH2F , {axisVtxZ, axisMultT0M});
615+ histos.add (" noPU_AntiCutOnZNACtime/hAmplZAC" , " ZNC vs ZNA" , kTH2F , {axisZNampl, axisZNampl});
616+
617+ histos.add (" noPU_AntiCutOnZNAampl/hBcFV0" , " " , kTH1F , {axisBCs});
618+ histos.add (" noPU_AntiCutOnZNAampl/hVtxFT0MinusVtxColVsMultT0M" , " " , kTH2F , {axisVtxZ, axisMultT0M});
619+ histos.add (" noPU_AntiCutOnZNAampl/nTracksPV_vs_V0A" , " " , kTH2F , {axisMultV0A, axisNtracks});
620+ histos.add (" noPU_AntiCutOnZNAampl/hAmplZAC" , " ZNC vs ZNA" , kTH2F , {axisZNampl, axisZNampl});
621+
622+ //
582623 histos.add (" hNcontribColFromData" , " " , kTH1F , {axisNcontrib});
583624 histos.add (" hNcontribAccFromData" , " " , kTH1F , {axisNcontrib});
625+
626+ // MC QA
627+ const AxisSpec axisVtxZdiff{400 , -10 ., 10 ., " " };
628+ histos.add (" MC/hMCdataVzDiff" , " " , kTH2F , {axisNcontrib, axisVtxZdiff});
629+ histos.add (" MC/hMCdataBcDiffVsMult" , " " , kTH2F , {axisNcontrib, axisBcDiff});
630+ histos.add (" MC/hMCdataFoundBcDiffVsMult" , " " , kTH2F , {axisNcontrib, axisBcDiff});
631+ histos.add (" MCsel8/hMCdataVzDiff" , " " , kTH2F , {axisNcontrib, axisVtxZdiff});
632+ histos.add (" MCsel8/hMCdataBcDiffVsMult" , " " , kTH2F , {axisNcontrib, axisBcDiff});
633+ histos.add (" MCsel8/hMCdataFoundBcDiffVsMult" , " " , kTH2F , {axisNcontrib, axisBcDiff});
584634 }
585635
586636 Preslice<FullTracksIU> perCollision = aod::track::collisionId;
@@ -604,6 +654,7 @@ struct LightIonsEvSelQa {
604654 ColEvSels const & cols,
605655 FullTracksIU const & tracks,
606656 BCsRun3 const & bcs,
657+ aod::Zdcs const &,
607658 aod::FT0s const &)
608659 {
609660 int runNumber = bcs.iteratorAt (0 ).runNumber ();
@@ -904,6 +955,17 @@ struct LightIonsEvSelQa {
904955 histos.fill (HIST (" multT0M_vs_multSumFT0" ), multT0M, multT0M_uncorr);
905956 }
906957
958+ float timeZNA = foundBC.has_zdc () ? foundBC.zdc ().timeZNA () : -999 .f ;
959+ float timeZNC = foundBC.has_zdc () ? foundBC.zdc ().timeZNC () : -999 .f ;
960+ float znSum = timeZNA + timeZNC;
961+ float znDiff = timeZNA - timeZNC;
962+ // bool goodZNACtime = fabs(znSum) < 2 && fabs(znDiff) < 2;
963+ bool goodZNACtime = (timeZNA > -6 && timeZNA < 4 ) && (timeZNC > -6 && timeZNC < 4 );
964+
965+ float multZNA = foundBC.has_zdc () ? foundBC.zdc ().energyCommonZNA () : -999 ;
966+ float multZNC = foundBC.has_zdc () ? foundBC.zdc ().energyCommonZNC () : -999 ;
967+ bool cutZNACampl = multZNA < 400 && multZNC < 400 ;
968+
907969 // vZ diff (FT0 vs by tracks)
908970 bool badVzDiff = 0 ;
909971 if (confUseDiffVzCutFromEvSel)
@@ -968,11 +1030,14 @@ struct LightIonsEvSelQa {
9681030 histos.fill (HIST (" noSpecSelections/hBcColNoSel8" ), localBC);
9691031 histos.fill (HIST (" noSpecSelections/hBcOrigNoSel8" ), bcOriginal);
9701032 histos.fill (HIST (" noSpecSelections/Vz" ), vZ);
1033+ histos.fill (HIST (" noSpecSelections/hTimeZAC" ), znDiff, znSum);
9711034
9721035 if (noPU) {
9731036 histos.fill (HIST (" noPU/hBcColNoSel8" ), localBC);
9741037 histos.fill (HIST (" noPU/hBcOrigNoSel8" ), bcOriginal);
9751038 histos.fill (HIST (" noPU/Vz" ), vZ);
1039+ histos.fill (HIST (" noPU/hTimeZAC" ), znDiff, znSum);
1040+ histos.fill (HIST (" noPU/hAmplZAC" ), multZNA, multZNC);
9761041 }
9771042 if (noPU && pvTOFmatched) {
9781043 histos.fill (HIST (" noPU_pvTOFmatched/hBcColNoSel8" ), localBC);
@@ -1028,6 +1093,7 @@ struct LightIonsEvSelQa {
10281093 if (noPU && underLine) {
10291094 histos.fill (HIST (" noPU_lowMultCut/hBcColNoSel8" ), localBC);
10301095 histos.fill (HIST (" noPU_lowMultCut/hBcOrigNoSel8" ), bcOriginal);
1096+ histos.fill (HIST (" noPU_lowMultCut/hTimeZAC" ), znDiff, znSum);
10311097 }
10321098 if (grassOnTheRight) {
10331099 histos.fill (HIST (" highMultCloudCut/hBcColNoSel8" ), localBC);
@@ -1036,9 +1102,11 @@ struct LightIonsEvSelQa {
10361102 if (noPU && grassOnTheRight) {
10371103 histos.fill (HIST (" noPU_highMultCloudCut/hBcColNoSel8" ), localBC);
10381104 histos.fill (HIST (" noPU_highMultCloudCut/hBcOrigNoSel8" ), bcOriginal);
1105+ histos.fill (HIST (" noPU_highMultCloudCut/hTimeZAC" ), znDiff, znSum);
10391106 }
10401107 if (noPU && !badVzDiff && pvTOFmatched) { // noPileup_cutByVzDiff_pvTOF_noFT0act
10411108 histos.fill (HIST (" noPU_cutByVzDiff_pvTOF/hBcColNoSel8" ), localBC);
1109+ histos.fill (HIST (" noPU_cutByVzDiff_pvTOF/hTimeZAC" ), znDiff, znSum);
10421110 }
10431111
10441112 // only here cut on sel8:
@@ -1224,6 +1292,14 @@ struct LightIonsEvSelQa {
12241292 histos.fill (HIST (" noPU_cutByVzDiff_noFT0activityNearby/hColTimeResVsNcontrib" ), nContributors, timeRes);
12251293 histos.fill (HIST (" noPU_cutByVzDiff_noFT0activityNearby/hNPVvsNch" ), nPVtracks, nGlobalTracksAll);
12261294 }
1295+ if (noPU && goodZNACtime) {
1296+ histos.fill (HIST (" noPU_CutOnZNACtime/hBcTVX" ), localBC);
1297+ histos.fill (HIST (" noPU_CutOnZNACtime/hBcOrig" ), bcOriginal);
1298+ histos.fill (HIST (" noPU_CutOnZNACtime/hColBcDiffVsNcontrib" ), nContributors, bcToClosestTVXdiff);
1299+ histos.fill (HIST (" noPU_CutOnZNACtime/hColTimeResVsNcontrib" ), nContributors, timeRes);
1300+ histos.fill (HIST (" noPU_CutOnZNACtime/hNPVvsNch" ), nPVtracks, nGlobalTracksAll);
1301+ histos.fill (HIST (" noPU_CutOnZNACtime/hTimeZAC" ), znDiff, znSum);
1302+ }
12271303
12281304 if (foundBC.has_ft0 ()) {
12291305 // float multT0A = foundBC.has_ft0() ? foundBC.ft0().sumAmpA() : -999.f;
@@ -1417,6 +1493,14 @@ struct LightIonsEvSelQa {
14171493 histos.fill (HIST (" noPU_cutByVzDiff_noFT0activityNearby/nTracksPV_vs_T0C" ), multT0C, nPVtracks);
14181494 // histos.fill(HIST("noPU_cutByVzDiff_noFT0activityNearby/nTracksGlobal_vs_T0C"), multT0C, nGlobalTracksPV);
14191495 }
1496+ if (noPU && goodZNACtime) {
1497+ histos.fill (HIST (" noPU_CutOnZNACtime/hBcFT0" ), localBC);
1498+ histos.fill (HIST (" noPU_CutOnZNACtime/hVtxFT0VsVtxCol" ), vZft0, vZ);
1499+ histos.fill (HIST (" noPU_CutOnZNACtime/hVtxFT0MinusVtxColVsMultT0M" ), diffVz, multT0A + multT0C);
1500+ histos.fill (HIST (" noPU_CutOnZNACtime/nTracksPV_vs_T0A" ), multT0A, nPVtracks);
1501+ histos.fill (HIST (" noPU_CutOnZNACtime/nTracksPV_vs_T0C" ), multT0C, nPVtracks);
1502+ histos.fill (HIST (" noPU_CutOnZNACtime/hAmplZAC" ), multZNA, multZNC);
1503+ }
14201504 }
14211505
14221506 if (foundBC.has_fv0a ()) {
@@ -1534,6 +1618,23 @@ struct LightIonsEvSelQa {
15341618 histos.fill (HIST (" noPU_cutByVzDiff_noFT0activityNearby/nTracksPV_vs_V0A" ), multV0A, nPVtracks);
15351619 // histos.fill(HIST("noPU_cutByVzDiff_noFT0activityNearby/nTracksGlobal_vs_V0A"), multV0A, nGlobalTracksPV);
15361620 }
1621+
1622+ if (noPU && goodZNACtime) {
1623+ histos.fill (HIST (" noPU_CutOnZNACtime/hBcFV0" ), localBC);
1624+ histos.fill (HIST (" noPU_CutOnZNACtime/nTracksPV_vs_V0A" ), multV0A, nPVtracks);
1625+ }
1626+ if (noPU && !goodZNACtime) {
1627+ histos.fill (HIST (" noPU_AntiCutOnZNACtime/hBcFV0" ), localBC);
1628+ histos.fill (HIST (" noPU_AntiCutOnZNACtime/nTracksPV_vs_V0A" ), multV0A, nPVtracks);
1629+ histos.fill (HIST (" noPU_AntiCutOnZNACtime/hVtxFT0MinusVtxColVsMultT0M" ), diffVz, multT0A + multT0C);
1630+ histos.fill (HIST (" noPU_AntiCutOnZNACtime/hAmplZAC" ), multZNA, multZNC);
1631+ }
1632+ if (noPU && !cutZNACampl) {
1633+ histos.fill (HIST (" noPU_AntiCutOnZNAampl/hBcFV0" ), localBC);
1634+ histos.fill (HIST (" noPU_AntiCutOnZNAampl/nTracksPV_vs_V0A" ), multV0A, nPVtracks);
1635+ histos.fill (HIST (" noPU_AntiCutOnZNAampl/hVtxFT0MinusVtxColVsMultT0M" ), diffVz, multT0A + multT0C);
1636+ histos.fill (HIST (" noPU_AntiCutOnZNAampl/hAmplZAC" ), multZNA, multZNC);
1637+ }
15371638 }
15381639 if (foundBC.has_zdc ()) {
15391640 histos.fill (HIST (" noSpecSelections/hBcZDC" ), localBC);
@@ -1661,13 +1762,50 @@ struct LightIonsEvSelQa {
16611762 if (noPU && !badVzDiff && noFT0activityNearby) {
16621763 histos.fill (HIST (" noPU_cutByVzDiff_noFT0activityNearby/hTVXvsBcDiffwrtOrigBc" ), bcDiffWrtOriginal);
16631764 }
1664-
1765+ if (noPU && goodZNACtime) {
1766+ histos.fill (HIST (" noPU_CutOnZNACtime/hTVXvsBcDiffwrtOrigBc" ), bcDiffWrtOriginal);
1767+ }
16651768 } // end of collisions loop
16661769 }
16671770 PROCESS_SWITCH (LightIonsEvSelQa, processRun3, " Process Run3 tracking vs detector occupancy QA" , true );
1771+
1772+ // ### MC QA
1773+ using ColEvSelsWithMCLabels = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>; // , aod::CentFT0Cs>;
1774+ using BCsInfo = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels>;
1775+
1776+ void processMC (ColEvSelsWithMCLabels const & collisions,
1777+ BCsInfo const &,
1778+ aod::McCollisions const &)
1779+ {
1780+ for (const auto & col : collisions) {
1781+ bool isSel8 = col.sel8 ();
1782+ if (col.has_mcCollision ()) {
1783+ const auto mcCollision = col.mcCollision ();
1784+ LOGP (debug, " col.posZ() = {}, mcCollision.posZ() = {}" , col.posZ (), mcCollision.posZ ());
1785+ histos.fill (HIST (" MC/hMCdataVzDiff" ), col.numContrib (), col.posZ () - mcCollision.posZ ());
1786+
1787+ auto bc = col.bc_as <BCsInfo>();
1788+ auto mcBc = mcCollision.bc_as <BCsInfo>();
1789+ auto foundBC = col.foundBC_as <BCsInfo>();
1790+
1791+ LOGP (debug, " col.bc().globalBC() = {}, mcCollision.bc().globalBC() = {}" , col.bc ().globalBC (), mcCollision.bc ().globalBC ());
1792+ histos.fill (HIST (" MC/hMCdataBcDiffVsMult" ), col.numContrib (), bc.globalBC () - mcBc.globalBC ());
1793+ histos.fill (HIST (" MC/hMCdataFoundBcDiffVsMult" ), col.numContrib (), foundBC.globalBC () - mcBc.globalBC ());
1794+
1795+ if (isSel8) {
1796+ histos.fill (HIST (" MCsel8/hMCdataVzDiff" ), col.numContrib (), col.posZ () - mcCollision.posZ ());
1797+ histos.fill (HIST (" MCsel8/hMCdataBcDiffVsMult" ), col.numContrib (), bc.globalBC () - mcBc.globalBC ());
1798+ histos.fill (HIST (" MCsel8/hMCdataFoundBcDiffVsMult" ), col.numContrib (), foundBC.globalBC () - mcBc.globalBC ());
1799+ }
1800+ }
1801+ }
1802+ }
1803+
1804+ PROCESS_SWITCH (LightIonsEvSelQa, processMC, " Process MC" , false );
16681805};
16691806
1670- WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
1807+ WorkflowSpec
1808+ defineDataProcessing (ConfigContext const & cfgc)
16711809{
16721810 return WorkflowSpec{
16731811 adaptAnalysisTask<LightIonsEvSelQa>(cfgc)};
0 commit comments