diff --git a/PWGCF/Flow/Tasks/flowZdcTask.cxx b/PWGCF/Flow/Tasks/flowZdcTask.cxx index 3e541dbf76b..2875a2d7aa5 100644 --- a/PWGCF/Flow/Tasks/flowZdcTask.cxx +++ b/PWGCF/Flow/Tasks/flowZdcTask.cxx @@ -59,7 +59,6 @@ struct FlowZdcTask { // for ZDC info and analysis Configurable nBinsAmp{"nBinsAmp", 1025, "nbinsAmp"}; Configurable nBinsADC{"nBinsADC", 1000, "nbinsADC"}; - Configurable nBinsCent{"nBinsCent", 90, "nBinsCent"}; Configurable maxZn{"maxZn", 125.5, "Max ZN signal"}; // configs for process QA Configurable nBinsNch{"nBinsNch", 2501, "N bins Nch (|eta|<0.8)"}; @@ -87,12 +86,10 @@ struct FlowZdcTask { Configurable isNoCollInRofStandard{"isNoCollInRofStandard", false, "isNoCollInRofStandard?"}; Configurable isNoHighMultCollInPrevRof{"isNoHighMultCollInPrevRof", true, "isNoHighMultCollInPrevRof?"}; Configurable isNoCollInTimeRangeNarrow{"isNoCollInTimeRangeNarrow", false, "isNoCollInTimeRangeNarrow?"}; - Configurable isOccupancyCut{"isOccupancyCut", true, "Occupancy cut?"}; + Configurable isOccupancyCut{"isOccupancyCut", false, "Occupancy cut?"}; Configurable isApplyFT0CbasedOccupancy{"isApplyFT0CbasedOccupancy", false, "T0C Occu cut?"}; Configurable isTDCcut{"isTDCcut", false, "Use TDC cut?"}; Configurable useMidRapNchSel{"useMidRapNchSel", false, "Use mid-rapidity Nch selection"}; - Configurable applyEff{"applyEff", true, "Apply track-by-track efficiency correction"}; - Configurable correctNch{"correctNch", true, "Correct also Nch"}; Configurable nSigmaNchCut{"nSigmaNchCut", 1., "nSigma Nch selection"}; Configurable minNchSel{"minNchSel", 5., "min Nch Selection"}; @@ -104,7 +101,6 @@ struct FlowZdcTask { Configurable maxPtSpectra{"maxPtSpectra", 50., "maximum pt of the tracks"}; Configurable zemCut{"zemCut", 100., "ZEM cut"}; // axis configs - ConfigurableAxis axisMultiplicity{"axisMultiplicity", {3500, 0, 3500}, "centrality axis for histograms"}; ConfigurableAxis axisZN{"axisZN", {5000, 0, 500}, "axisZN"}; ConfigurableAxis axisZP{"axisZP", {5000, 0, 500}, "axisZP"}; ConfigurableAxis axisCent{"axisCent", {10, 0, 100}, "axisCent"}; @@ -167,26 +163,14 @@ struct FlowZdcTask { const AxisSpec axisZpos{48, -12., 12., "Vtx_{z} (cm)"}; const AxisSpec axisEta{40, -1., +1., "#eta"}; const AxisSpec axisPt{binsPt, "#it{p}_{T} (GeV/#it{c})"}; - AxisSpec axisVtxZ{40, -20, 20, "Vertex Z", "VzAxis"}; // create histograms histos.add("hEventCounter", "Event counter", kTH1F, {axisEvent}); histos.add("zPos", ";;Entries;", kTH1F, {axisZpos}); - histos.add("hZNvsFT0Ccent", - "ZN Energy vs FT0C Centrality", - kTH2F, - {axisCent, axisZN}); - histos.add("hZPvsFT0Ccent", - "ZP Energy vs FT0C Centrality;Centrality [%];ZP Energy", - kTH2F, - {axisCent, axisZP}); histos.add("hNchvsNPV", ";NPVTracks (|#eta|<1);N_{ch} (|#eta|<0.8);", kTH2F, {{{nBinsNch, -0.5, maxNch}, {nBinsNch, -0.5, maxNch}}}); histos.add("T0Ccent", ";;Entries", kTH1F, {axisCent}); - histos.add("NchUncorrected", ";#it{N}_{ch} (|#eta| < 0.8);Entries;", kTH1F, {{300, 0., 3000.}}); - histos.add("ZNamp", ";ZNA+ZNC;Entries;", kTH1F, {{nBinsZDC, -0.5, maxZn}}); - histos.add("ExcludedEvtVsFT0M", ";T0A+T0C (#times 1/100, -3.3 < #eta < -2.1 and 3.5 < #eta < 4.9);Entries;", kTH1F, {{nBinsAmpFT0, 0., maxAmpFT0}}); histos.add("ExcludedEvtVsNch", ";#it{N}_{ch} (|#eta|<0.8);Entries;", kTH1F, {{300, 0, 3000}}); histos.add("Nch", ";#it{N}_{ch} (|#eta| < 0.8, Corrected);", kTH1F, {{nBinsNch, minNch, maxNch}}); histos.add("EtaVsPhi", ";#eta;#varphi", kTH2F, {{{axisEta}, {100, -0.1 * PI, +2.1 * PI}}}); @@ -214,29 +198,6 @@ struct FlowZdcTask { xAxis->SetBinLabel(15, "has T0?"); xAxis->SetBinLabel(16, "Within TDC cut?"); - if (doprocessZdcCollAssoc) { // Check if the process function for ZDCCollAssoc is enabled - histos.add("ZNAcoll", "ZNAcoll; ZNA amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZn}}}); - histos.add("ZNCcoll", "ZNCcoll; ZNC amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZn}}}); - histos.add("ZPCcoll", "ZPCcoll; ZPC amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZn}}}); - histos.add("ZPAcoll", "ZPAcoll; ZPA amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZn}}}); - histos.add("ZEM1coll", "ZEM1coll; ZEM1 amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZem}}}); - histos.add("ZEM2coll", "ZEM2coll; ZEM2 amplitude; Entries", {HistType::kTH1F, {{nBinsAmp, -0.5, maxZem}}}); - histos.add("ZNvsZEMcoll", "ZNvsZEMcoll; ZEM; ZNA+ZNC", {HistType::kTH2F, {{{nBinsAmp, -0.5, maxZem}, {nBinsAmp, -0.5, 2. * maxZn}}}}); - histos.add("ZNAvsZNCcoll", "ZNAvsZNCcoll; ZNC; ZNA", {HistType::kTH2F, {{{nBinsAmp, -0.5, maxZn}, {nBinsAmp, -0.5, maxZn}}}}); - histos.add("ZDC_energy_vs_ZEM", "ZDCvsZEM; ZEM; ZNA+ZNC+ZPA+ZPC", {HistType::kTH2F, {{{nBinsAmp, -0.5, maxZem}, {nBinsAmp, -0.5, 2. * maxZn}}}}); - // common energies information for ZDC - histos.add("ZNCenergy", "common sum ZN energy side c", kTH1F, {axisZN}); - histos.add("ZNAenergy", "common sum ZN energy side a", kTH1F, {axisZN}); - histos.add("ZPCenergy", "common sum ZP energy side c", kTH1F, {axisZP}); - histos.add("ZPAenergy", "common sum ZP energy side a", kTH1F, {axisZP}); - histos.add("ZNenergy", "common sum zn (a + c sides) energy", kTH1F, {axisZN}); - histos.add("ZPenergy", "common sum zp energy (a + c sides)", kTH1F, {axisZP}); - histos.add("hZNvsFT0CAmp", "ZN Energy vs FT0C Amplitude", kTH2F, {{nBinsAmpFT0, 0., maxAmpFT0}, axisZN}); - histos.add("hZPvsFT0CAmp", "ZP Energy vs FT0C Amplitude", kTH2F, {{nBinsAmpFT0, 0., maxAmpFT0}, axisZP}); - histos.add("hZNvsMult", "ZN Energy vs Multiplicity", kTH2F, {axisMultiplicity, axisZN}); - histos.add("hZPvsMult", "ZP Energy vs Multiplicity", kTH2F, {axisMultiplicity, axisZP}); - } - if (doprocessQA) { histos.add("ZNVsFT0A", ";T0A (#times 1/100);ZNA+ZNC Amplitude;", kTH2F, {{{nBinsAmpFT0, 0., maxAmpFT0}, {nBinsZDC, -0.5, maxZn}}}); histos.add("ZNVsFT0C", ";T0C (#times 1/100);ZNA+ZNC Amplitude;", kTH2F, {{{nBinsAmpFT0, 0., maxAmpFT0}, {nBinsZDC, -0.5, maxZn}}}); @@ -496,34 +457,52 @@ struct FlowZdcTask { histos.fill(HIST("ZNA"), znA); histos.fill(HIST("ZNACommon"), commonSumZna); histos.fill(HIST("ZNASector"), sumZNA); + histos.fill(HIST("ZNAVsFT0A"), aT0A / 100., znA); + histos.fill(HIST("ZNAVsFT0C"), aT0C / 100., znA); + histos.fill(HIST("ZNAVsFT0M"), (aT0A + aT0C) / 100., znA); } if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) { histos.fill(HIST("ZNC"), znC); histos.fill(HIST("ZNCCommon"), commonSumZnc); histos.fill(HIST("ZNCSector"), sumZNC); + histos.fill(HIST("ZNCVsFT0A"), aT0A / 100., znC); + histos.fill(HIST("ZNCVsFT0C"), aT0C / 100., znC); + histos.fill(HIST("ZNCVsFT0M"), (aT0A + aT0C) / 100., znC); } if ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp)) { histos.fill(HIST("ZPA"), zpA); histos.fill(HIST("ZPACommon"), commonSumZpa); histos.fill(HIST("ZPASector"), sumZPA); + histos.fill(HIST("ZPAVsFT0A"), aT0A / 100., zpA); + histos.fill(HIST("ZPAVsFT0C"), aT0C / 100., zpA); + histos.fill(HIST("ZPAVsFT0M"), (aT0A + aT0C) / 100., zpA); } if ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp)) { histos.fill(HIST("ZPC"), zpC); histos.fill(HIST("ZPCCommon"), commonSumZpc); histos.fill(HIST("ZPCSector"), sumZPC); + histos.fill(HIST("ZPCVsFT0A"), aT0A / 100., zpC); + histos.fill(HIST("ZPCVsFT0C"), aT0C / 100., zpC); + histos.fill(HIST("ZPCVsFT0M"), (aT0A + aT0C) / 100., zpC); } if (((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)) && ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn))) histos.fill(HIST("ZNVsZEM"), sumZEMs, sumZNs); if (((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)) && ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn))) { histos.fill(HIST("ZNAVsZNC"), znC, znA); histos.fill(HIST("ZN"), znA + znC); + histos.fill(HIST("ZNVsFT0C"), aT0C / 100., znA + znC); + histos.fill(HIST("ZNVsFT0M"), (aT0A + aT0C) / 100., znA + znC); + } + if (((tZPA >= minTdcZn) && (tZPA <= maxTdcZn)) && ((tZPC >= minTdcZn) && (tZPC <= maxTdcZn))) { + histos.fill(HIST("ZPAVsZPC"), zpC, zpA); + histos.fill(HIST("ZPVsFT0A"), aT0A / 100., zpA + zpC); + histos.fill(HIST("ZPVsFT0C"), aT0C / 100., zpA + zpC); + histos.fill(HIST("ZPVsFT0M"), (aT0A + aT0C) / 100., zpA + zpC); } - if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)) + if (((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))) histos.fill(HIST("ZNAVsZPA"), zpA, znA); - if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) + if (((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) && ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp))) histos.fill(HIST("ZNCVsZPC"), zpC, znC); - if (((tZPA >= minTdcZp) && (tZPA <= maxTdcZp)) && ((tZPC >= minTdcZp) && (tZPC <= maxTdcZp))) - histos.fill(HIST("ZPAVsZPC"), zpC, zpA); } else { histos.fill(HIST("ZNA"), znA); histos.fill(HIST("ZNC"), znC); @@ -543,6 +522,23 @@ struct FlowZdcTask { histos.fill(HIST("ZPCCommon"), commonSumZpc); histos.fill(HIST("ZPCSector"), sumZPC); histos.fill(HIST("ZN"), znA + znC); + histos.fill(HIST("ZPVsFT0A"), aT0A / 100., zpA + zpC); + histos.fill(HIST("ZPVsFT0C"), aT0C / 100., zpA + zpC); + histos.fill(HIST("ZPVsFT0M"), (aT0A + aT0C) / 100., zpA + zpC); + histos.fill(HIST("ZPAVsFT0A"), aT0A / 100., zpA); + histos.fill(HIST("ZPAVsFT0C"), aT0C / 100., zpA); + histos.fill(HIST("ZPAVsFT0M"), (aT0A + aT0C) / 100., zpA); + histos.fill(HIST("ZNVsFT0C"), aT0C / 100., znA + znC); + histos.fill(HIST("ZNVsFT0M"), (aT0A + aT0C) / 100., znA + znC); + histos.fill(HIST("ZPCVsFT0A"), aT0A / 100., zpC); + histos.fill(HIST("ZPCVsFT0C"), aT0C / 100., zpC); + histos.fill(HIST("ZPCVsFT0M"), (aT0A + aT0C) / 100., zpC); + histos.fill(HIST("ZNCVsFT0A"), aT0A / 100., znC); + histos.fill(HIST("ZNCVsFT0C"), aT0C / 100., znC); + histos.fill(HIST("ZNCVsFT0M"), (aT0A + aT0C) / 100., znC); + histos.fill(HIST("ZNAVsFT0A"), aT0A / 100., znA); + histos.fill(HIST("ZNAVsFT0C"), aT0C / 100., znA); + histos.fill(HIST("ZNAVsFT0M"), (aT0A + aT0C) / 100., znA); } histos.fill(HIST("ZEM1"), aZEM1); histos.fill(HIST("ZEM2"), aZEM2); @@ -625,23 +621,6 @@ struct FlowZdcTask { histos.fill(HIST("GlbTracks"), glbTracks); if (sumZEMs > zemCut) { - histos.fill(HIST("ZNVsFT0C"), aT0C / 100., znA + znC); - histos.fill(HIST("ZNVsFT0M"), (aT0A + aT0C) / 100., znA + znC); - histos.fill(HIST("ZPVsFT0A"), aT0A / 100., zpA + zpC); - histos.fill(HIST("ZPVsFT0C"), aT0C / 100., zpA + zpC); - histos.fill(HIST("ZPVsFT0M"), (aT0A + aT0C) / 100., zpA + zpC); - histos.fill(HIST("ZPAVsFT0A"), aT0A / 100., zpA); - histos.fill(HIST("ZPAVsFT0C"), aT0C / 100., zpA); - histos.fill(HIST("ZPAVsFT0M"), (aT0A + aT0C) / 100., zpA); - histos.fill(HIST("ZPCVsFT0A"), aT0A / 100., zpC); - histos.fill(HIST("ZPCVsFT0C"), aT0C / 100., zpC); - histos.fill(HIST("ZPCVsFT0M"), (aT0A + aT0C) / 100., zpC); - histos.fill(HIST("ZNCVsFT0A"), aT0A / 100., znC); - histos.fill(HIST("ZNCVsFT0C"), aT0C / 100., znC); - histos.fill(HIST("ZNCVsFT0M"), (aT0A + aT0C) / 100., znC); - histos.fill(HIST("ZNAVsFT0A"), aT0A / 100., znA); - histos.fill(HIST("ZNAVsFT0C"), aT0C / 100., znA); - histos.fill(HIST("ZNAVsFT0M"), (aT0A + aT0C) / 100., znA); histos.fill(HIST("ZPAvsCent"), cent, zpA); histos.fill(HIST("ZPCvsCent"), cent, zpC); if (std::isfinite(zpA) && !std::isnan(zpA) && cent >= minT0CcentCut && cent < maxT0CcentCut && glbTracks >= minNch && glbTracks < maxNch) { @@ -682,178 +661,6 @@ struct FlowZdcTask { } } - void processZdcCollAssoc( - AodCollisions::iterator const& collision, - AodTracks const& tracks, - BCsRun3 const& /*bcs*/, - aod::Zdcs const& /*zdcs*/, - aod::FT0s const& /*ft0s*/) - { - if (!isEventSelected(collision)) { - return; - } - const auto& foundBC = collision.foundBC_as(); - if (!foundBC.has_zdc()) { - return; - } - int nTot = tracks.size(); - double ft0aAmp = 0; - double ft0cAmp = 0; - if (collision.has_foundFT0()) { - auto ft0 = collision.foundFT0(); - for (const auto& amplitude : ft0.amplitudeA()) { - ft0aAmp += amplitude; - } - for (const auto& amplitude : ft0.amplitudeC()) { - ft0cAmp += amplitude; - } - } - const double normT0M{(ft0aAmp + ft0aAmp) / 100.}; - - const auto& zdcread = foundBC.zdc(); - const auto cent = collision.centFT0C(); - - // ZDC data and histogram filling - float znA = zdcread.amplitudeZNA() / cfgCollisionEnergy; - float znC = zdcread.amplitudeZNC() / cfgCollisionEnergy; - float zpA = zdcread.amplitudeZPA() / cfgCollisionEnergy; - float zpC = zdcread.amplitudeZPC() / cfgCollisionEnergy; - float tZNA{zdcread.timeZNA()}; - float tZNC{zdcread.timeZNC()}; - float tZPA{zdcread.timeZPA()}; - float tZPC{zdcread.timeZPC()}; - float tZDCdif{tZNC + tZPC - tZNA - tZPA}; - float tZDCsum{tZNC + tZPC + tZNA + tZPA}; - float sumZNC = ((zdcread.energySectorZNC())[0] + (zdcread.energySectorZNC())[1] + (zdcread.energySectorZNC())[2] + (zdcread.energySectorZNC())[3]) / cfgCollisionEnergy; - float sumZNA = ((zdcread.energySectorZNA())[0] + (zdcread.energySectorZNA())[1] + (zdcread.energySectorZNA())[2] + (zdcread.energySectorZNA())[3]) / cfgCollisionEnergy; - float sumZPC = ((zdcread.energySectorZPC())[0] + (zdcread.energySectorZPC())[1] + (zdcread.energySectorZPC())[2] + (zdcread.energySectorZPC())[3]) / cfgCollisionEnergy; - float sumZPA = ((zdcread.energySectorZPA())[0] + (zdcread.energySectorZPA())[1] + (zdcread.energySectorZPA())[2] + (zdcread.energySectorZPA())[3]) / cfgCollisionEnergy; - float sumZDC = sumZPA + sumZPC + sumZNA + sumZNC; - float sumZEM = zdcread.amplitudeZEM1() + zdcread.amplitudeZEM2(); - float sumZNs{znA + znC}; - float sumZPs{zpA + zpC}; - // TDC cut - if (isTDCcut) { - if (std::sqrt(std::pow(tZDCdif, 2.) + std::pow(tZDCsum, 2.)) > tdcCut) { - return; - } - histos.fill(HIST("hEventCounter"), EvCutLabel::Tdc); - } - // common energies - float commonSumZnc = zdcread.energyCommonZNC() / cfgCollisionEnergy; - float commonSumZna = zdcread.energyCommonZNA() / cfgCollisionEnergy; - float commonSumZpc = zdcread.energyCommonZPC() / cfgCollisionEnergy; - float commonSumZpa = zdcread.energyCommonZPA() / cfgCollisionEnergy; - float sumZN = (sumZNC) + (sumZNA); - float sumZP = (sumZPC) + (sumZPA); - - int itsTracks = 0, glbTracks = 0; - for (const auto& track : tracks) { - // Track Selection - if (track.hasITS()) { - itsTracks++; - } - if (!track.isGlobalTrack()) { - continue; - } - if ((track.pt() < minPt) || (track.pt() > maxPt)) { - continue; - } - histos.fill(HIST("ZposVsEta"), collision.posZ(), track.eta()); - histos.fill(HIST("EtaVsPhi"), track.eta(), track.phi()); - histos.fill(HIST("dcaXYvspT"), track.dcaXY(), track.pt()); - glbTracks++; - } - bool skipEvent{false}; - if (useMidRapNchSel) { - auto hMeanNch = ccdb->getForTimeStamp(paTHmeanNch.value, foundBC.timestamp()); - auto hSigmaNch = ccdb->getForTimeStamp(paTHsigmaNch.value, foundBC.timestamp()); - if (!hMeanNch) { - LOGF(info, "hMeanNch NOT LOADED!"); - return; - } - if (!hSigmaNch) { - LOGF(info, "hSigmaNch NOT LOADED!"); - return; - } - const int binT0M{hMeanNch->FindBin(normT0M)}; - const double meanNch{hMeanNch->GetBinContent(binT0M)}; - const double sigmaNch{hSigmaNch->GetBinContent(binT0M)}; - const double nSigmaSelection{nSigmaNchCut * sigmaNch}; - const double diffMeanNch{meanNch - glbTracks}; - if (!(std::abs(diffMeanNch) < nSigmaSelection)) { - histos.fill(HIST("ExcludedEvtVsFT0M"), normT0M); - histos.fill(HIST("ExcludedEvtVsNch"), glbTracks); - } else { - skipEvent = true; - } - } - // Skip event based on number of Nch sigmas - if (!skipEvent) { - return; - } - std::vector vecOneOverEff; - auto efficiency = ccdb->getForTimeStamp(paTHEff.value, foundBC.timestamp()); - if (!efficiency) { - return; - } - // Calculates the Nch multiplicity - for (const auto& track : tracks) { - // Track Selection - if (!track.isGlobalTrack()) { - continue; - } - if ((track.pt() < minPt) || (track.pt() > maxPt)) { - continue; - } - - float pt{track.pt()}; - float effValue{1.0}; - if (applyEff) { - effValue = efficiency->GetBinContent(efficiency->FindBin(pt)); - } - if (effValue > 0.) { - vecOneOverEff.emplace_back(1. / effValue); - } - } - - double nchMult{0.}; - nchMult = std::accumulate(vecOneOverEff.begin(), vecOneOverEff.end(), 0); - if (!applyEff) - nchMult = static_cast(glbTracks); - if (applyEff && !correctNch) - nchMult = static_cast(glbTracks); - if (nchMult < minNchSel) { - return; - } - histos.get(HIST("ZNvsZEMcoll"))->Fill(zdcread.amplitudeZEM1() + zdcread.amplitudeZEM2(), zdcread.amplitudeZNA() + zdcread.amplitudeZNC()); - histos.get(HIST("ZNAvsZNCcoll"))->Fill(zdcread.amplitudeZNC(), zdcread.amplitudeZNA()); - histos.get(HIST("ZEM1coll"))->Fill(zdcread.amplitudeZEM1()); - histos.get(HIST("ZEM2coll"))->Fill(zdcread.amplitudeZEM2()); - histos.fill(HIST("ZNenergy"), sumZN); - histos.fill(HIST("ZPenergy"), sumZP); - histos.fill(HIST("ZNCenergy"), commonSumZnc); - histos.fill(HIST("ZNAenergy"), commonSumZna); - histos.fill(HIST("ZPAenergy"), commonSumZpa); - histos.fill(HIST("ZPCenergy"), commonSumZpc); - histos.fill(HIST("hZNvsFT0Ccent"), cent, sumZN); - histos.fill(HIST("hZPvsFT0Ccent"), cent, sumZP); - histos.fill(HIST("hZNvsFT0CAmp"), ft0cAmp, sumZN); - histos.fill(HIST("hZPvsFT0CAmp"), ft0cAmp, sumZP); - histos.fill(HIST("hZNvsMult"), nTot, sumZN); - histos.fill(HIST("hZPvsMult"), nTot, sumZP); - histos.fill(HIST("Nch"), nchMult); - histos.fill(HIST("ZNamp"), sumZNs); - histos.fill(HIST("NchVsZN"), nchMult, sumZNs); - histos.fill(HIST("NchVsZP"), nchMult, sumZPs); - histos.fill(HIST("NITSTacksVsZN"), itsTracks, sumZNs); - histos.fill(HIST("NITSTacksVsZP"), itsTracks, sumZPs); - histos.fill(HIST("T0MVsZN"), normT0M, sumZNs); - histos.fill(HIST("T0MVsZP"), normT0M, sumZPs); - histos.fill(HIST("NchUncorrected"), glbTracks); - histos.get(HIST("ZDC_energy_vs_ZEM"))->Fill(sumZEM, sumZDC); - } - void processZdc( ColEvents const& cols, BCsRun3 const& /*bcs*/, @@ -897,9 +704,9 @@ struct FlowZdcTask { histos.fill(HIST("ZnaVsZnc"), znA, znC); if (((tZPC >= minTdcZp) && (tZPC <= maxTdcZp)) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))) histos.fill(HIST("ZpaVsZpc"), zpA, zpC); - if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn)) + if ((tZNA >= minTdcZn) && (tZNA <= maxTdcZn) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))) histos.fill(HIST("ZnaVsZpa"), znA, zpA); - if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn)) + if ((tZNC >= minTdcZn) && (tZNC <= maxTdcZn) && ((tZPA >= minTdcZp) && (tZPA <= maxTdcZp))) histos.fill(HIST("ZncVsZpc"), znC, zpC); } else { histos.fill(HIST("ampZna"), znA); @@ -929,7 +736,6 @@ struct FlowZdcTask { } PROCESS_SWITCH(FlowZdcTask, processQA, "Process QA", true); - PROCESS_SWITCH(FlowZdcTask, processZdcCollAssoc, "Processing ZDC w. collision association", false); PROCESS_SWITCH(FlowZdcTask, processZdc, "Process ZDC without corrections or associations", true); }; // end of struct function