diff --git a/PWGJE/Tasks/jetSpectraEseTask.cxx b/PWGJE/Tasks/jetSpectraEseTask.cxx index cff612f536e..18d5701a0ea 100644 --- a/PWGJE/Tasks/jetSpectraEseTask.cxx +++ b/PWGJE/Tasks/jetSpectraEseTask.cxx @@ -121,6 +121,7 @@ struct JetSpectraEseTask { Configurable cfgrhoPhi{"cfgrhoPhi", true, "Flag for rho(phi)"}; Configurable cfgRhoPhiPvalCriteria{"cfgRhoPhiPvalCriteria", true, "Use instead of rho(phi) when the rho(phi) fit p-value is below 0.01"}; + Configurable cfgRhoPhiPvalCut{"cfgRhoPhiPvalCut", 0.01, "p-value cut for rho(phi) fit"}; Configurable cfgnTotalSystem{"cfgnTotalSystem", 7, "total qvector number // look in Qvector table for this number"}; Configurable cfgnCorrLevel{"cfgnCorrLevel", 3, "QVector step: 0 = no corr, 1 = rect, 2 = twist, 3 = full"}; @@ -225,6 +226,7 @@ struct JetSpectraEseTask { struct EventPlane { float psi2; float psi3; + bool isValid; }; struct EventPlaneFiller { @@ -237,6 +239,7 @@ struct JetSpectraEseTask { kEventSel, kOccupancyCut, kCentCut, + kEPValid, kEse, kRhoLocal, kLeadJetCut @@ -382,6 +385,7 @@ struct JetSpectraEseTask { registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kEventSel, "Event selection"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kOccupancyCut, "Occupancy cut"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kCentCut, "Centrality cut"); + registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kEPValid, "EP valid"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kEse, "ESE available"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kRhoLocal, "rho(#phi) available"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kLeadJetCut, "leading jet pT cut"); @@ -454,6 +458,7 @@ struct JetSpectraEseTask { registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kEventSel, "Event selection"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kOccupancyCut, "Occupancy cut"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kCentCut, "Centrality cut"); + registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kEPValid, "EP valid"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kEse, "ESE available"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kRhoLocal, "rho(#phi) available"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kLeadJetCut, "leading jet pT cut"); @@ -697,6 +702,10 @@ struct JetSpectraEseTask { registry.fill(HIST("eventQA/hEventCounter"), kCentCut); const auto psi{procEP(collision)}; + if (!psi.isValid) { + return; + } + registry.fill(HIST("eventQA/hEventCounter"), kEPValid); const auto qPerc{collision.qPERCFT0C()}; if (qPerc[0] < 0) { return; @@ -853,6 +862,10 @@ struct JetSpectraEseTask { registry.fill(HIST("eventQA/hEventCounterMixed"), kCentCut); const auto psi{procEP(c1)}; + if (!psi.isValid) { + continue; + } + registry.fill(HIST("eventQA/hEventCounterMixed"), kEPValid); const auto qPerc{c1.qPERCFT0C()}; if (qPerc[0] < 0) { continue; @@ -1002,6 +1015,9 @@ struct JetSpectraEseTask { } [[maybe_unused]] const auto psi{procEP(collision)}; + if (!psi.isValid) { + return; + } detCorrelation(collision); auto originalCollision = collision.collision_as(); @@ -1024,6 +1040,9 @@ struct JetSpectraEseTask { float count{0.5}; registry.fill(HIST("hEventCounterOcc"), count++); const auto psi{procEP(collision)}; + if (!psi.isValid) { + return; + } const auto qPerc{collision.qPERCFT0C()}; auto occupancy{collision.trackOccupancyInTimeRange()}; @@ -1400,7 +1419,9 @@ struct JetSpectraEseTask { fillEPCos(vec, epCorrContainer22, epCorrContainer24, epCorrContainer44); } } - return {.psi2 = epMap.at(cfgEPRefA), .psi3 = ep3Map.at(cfgEPRefA)}; + // check A is valid + bool isValidA{epMap.at(cfgEPRefA) != InvalidValue}; + return {.psi2 = epMap.at(cfgEPRefA), .psi3 = ep3Map.at(cfgEPRefA), .isValid = isValidA}; } template void fillEPCos(const collision& col, const std::array& Corr22, const std::array& Corr42, const std::array& Corr44) @@ -1611,8 +1632,8 @@ struct JetSpectraEseTask { if constexpr (fillHist) { registry.fill(HIST("eventQA/hRhoPhiCheck"), 0.5); } - const float pValue = 0.01; - if (cfgRhoPhiPvalCriteria && cDF < pValue) { + + if (cfgRhoPhiPvalCriteria && cDF < cfgRhoPhiPvalCut) { const float noFlow = 0.0f; modulationFit->SetParameter(1, noFlow); // o2-linter: disable=magic-number (fit params) modulationFit->SetParameter(3, noFlow); // o2-linter: disable=magic-number (fit params) @@ -1701,6 +1722,9 @@ struct JetSpectraEseTask { } const auto psi{procEP(collision)}; + if (!psi.isValid) { + return; + } auto qPerc{collision.qPERCFT0C()}; if (qPerc[0] < 0) { return;