diff --git a/PWGDQ/Tasks/tableReader_withAssoc.h b/PWGDQ/Tasks/tableReader_withAssoc.h index 88bdbc0fd67..ef31017c4b1 100644 --- a/PWGDQ/Tasks/tableReader_withAssoc.h +++ b/PWGDQ/Tasks/tableReader_withAssoc.h @@ -1379,6 +1379,10 @@ struct AnalysisSameEventPairing { // TODO: Add pair cuts via JSON } fConfigCuts; + // add event level histograms after remove collision splitting candidates + o2::framework::Configurable fConfigAddEventHistogram{"cfgAddEventHistogram", "", "Comma separated list of histograms,only used after turn on the cfgRemoveCollSplittingCandidates option"}; + o2::framework::Configurable fConfigAddJSONEventHistograms{"cfgAddJSONEventHistograms", "", "Event histograms in JSON format,only used after turn on the cfgRemoveCollSplittingCandidates option"}; + o2::framework::Configurable fConfigMixingDepth{"cfgMixingDepth", 100, "Number of Events stored for event mixing"}; o2::framework::Configurable fConfigMixingVariables{"cfgMixingVars", "", "Mixing configs separated by a comma, default no mixing"}; o2::framework::Configurable fConfigMixingVariablesJson{"cfgMixingVarsJSON", "", "Mixing configs in JSON format"}; @@ -1467,6 +1471,8 @@ struct AnalysisSameEventPairing { bool fEnableBarrelMuonHistos = false; bool fEnableBarrelMuonMixingHistos = false; + bool fSplitCheckEnabled = false; + o2::framework::NoBinningPolicy hashBin; o2::framework::Preslice> trackAssocsPerCollision = o2::aod::reducedtrack_association::reducedeventId; @@ -1813,12 +1819,18 @@ struct AnalysisSameEventPairing { } } + o2::common::core::getTaskOptionValue(context, "analysis-event-selection", "cfgCheckSplitCollisions", fSplitCheckEnabled, false); + if (fConfigQA) { fHistMan = new HistogramManager("analysisHistos", "aa", VarManager::kNVars); fHistMan->SetUseDefaultVariableNames(true); fHistMan->SetDefaultVarNames(dqtablereader_helpers::varNames(), dqtablereader_helpers::varUnits()); VarManager::SetCollisionSystem((TString)fConfigOptions.collisionSystem, fConfigOptions.centerMassEnergy); // set collision system and center of mass energy - DefineHistograms(fHistMan, histNames.Data(), fConfigAddSEPHistogram.value.data()); // define all histograms + if (fConfigCuts.event.value && fSplitCheckEnabled) { + DefineHistograms(fHistMan, "Event_AfterSplitVeto", fConfigAddEventHistogram.value.data()); // define event histograms after removing collision splitting candidates + o2::aod::dqhistograms::AddHistogramsFromJSON(fHistMan, fConfigAddJSONEventHistograms.value.c_str()); + } + DefineHistograms(fHistMan, histNames.Data(), fConfigAddSEPHistogram.value.data()); // define all histograms if (fEnableBarrelHistos) { DefineHistograms(fHistMan, "PairingSEQA", "sameevent-pairing"); // histograms for QA of the pairing } @@ -1998,6 +2010,11 @@ struct AnalysisSameEventPairing { // VarManager::FillEvent(event, dqtablereader_helpers::varValues()); VarManager::FillEvent(event, dqtablereader_helpers::varValues()); + // fill the event histograms + if (fConfigQA && fConfigCuts.event && fSplitCheckEnabled) { + fHistMan->FillHistClass("Event_AfterSplitVeto", dqtablereader_helpers::varValues()); + } + auto groupedAssocs = assocs.sliceBy(preslice, event.globalIndex()); if (groupedAssocs.size() == 0) { continue; @@ -2864,6 +2881,11 @@ struct AnalysisSameEventPairing { VarManager::ResetValues(0, VarManager::kNVars); VarManager::FillEvent(event, dqtablereader_helpers::varValues()); + // fill the event histograms + if (fConfigQA && fConfigCuts.event && fSplitCheckEnabled) { + fHistMan->FillHistClass("Event_AfterSplitVeto", dqtablereader_helpers::varValues()); + } + auto groupedAssocs1 = assocs1.sliceBy(preslice1, event.globalIndex()); if (groupedAssocs1.size() == 0) { continue;