diff --git a/PWGCF/EbyEFluctuations/Tasks/MeanptFluctuations.cxx b/PWGCF/EbyEFluctuations/Tasks/MeanptFluctuations.cxx index f9a5b74fe2e..3d551620568 100644 --- a/PWGCF/EbyEFluctuations/Tasks/MeanptFluctuations.cxx +++ b/PWGCF/EbyEFluctuations/Tasks/MeanptFluctuations.cxx @@ -26,6 +26,8 @@ #include "TList.h" #include "TProfile.h" #include "TProfile2D.h" +#include "TH2D.h" +#include "TH1D.h" #include "TRandom3.h" #include "TMath.h" @@ -150,6 +152,7 @@ struct MeanptFluctuations_analysis { Configurable cfgNSubsample{"cfgNSubsample", 10, "Number of subsamples"}; ConfigurableAxis centAxis{"centAxis", {90, 0, 90}, ""}; ConfigurableAxis multAxis{"multAxis", {5000, 0.5, 5000.5}, ""}; + ConfigurableAxis meanpTAxis{"meanpTAxis", {500, 0, 5.0}, ""}; expressions::Filter Nch_filter = aod::ptQn::n_ch > 3.0f; using FilteredMultPtQn = soa::Filtered; @@ -173,6 +176,8 @@ struct MeanptFluctuations_analysis { registry.add("Prof_var_t1", "", {HistType::kTProfile2D, {centAxis, multAxis}}); registry.add("Prof_skew_t1", "", {HistType::kTProfile2D, {centAxis, multAxis}}); registry.add("Prof_kurt_t1", "", {HistType::kTProfile2D, {centAxis, multAxis}}); + registry.add("Hist2D_Nch_centrality", "", {HistType::kTH2D, {centAxis, multAxis}}); + registry.add("Hist2D_meanpt_centrality", "", {HistType::kTH2D, {centAxis, meanpTAxis}}); // initial array Subsample.resize(cfgNSubsample); @@ -203,11 +208,13 @@ struct MeanptFluctuations_analysis { skewness_term1 = (TMath::Power(event_ptqn.q1(), 3.0f) - 3.0f * event_ptqn.q2() * event_ptqn.q1() + 2.0f * event_ptqn.q3()) / (event_ptqn.n_ch() * (event_ptqn.n_ch() - 1.0f) * (event_ptqn.n_ch() - 2.0f)); kurtosis_term1 = (TMath::Power(event_ptqn.q1(), 4.0f) - (6.0f * event_ptqn.q4()) + (8.0f * event_ptqn.q1() * event_ptqn.q3()) - (6.0f * TMath::Power(event_ptqn.q1(), 2.0f) * event_ptqn.q2()) + (3.0f * TMath::Power(event_ptqn.q2(), 2.0f))) / (event_ptqn.n_ch() * (event_ptqn.n_ch() - 1.0f) * (event_ptqn.n_ch() - 2.0f) * (event_ptqn.n_ch() - 3.0f)); - // filling profiles for central values + // filling profiles and histograms for central values registry.get(HIST("Prof_mean_t1"))->Fill(event_ptqn.centrality(), event_ptqn.n_ch(), mean_term1); registry.get(HIST("Prof_var_t1"))->Fill(event_ptqn.centrality(), event_ptqn.n_ch(), variance_term1); registry.get(HIST("Prof_skew_t1"))->Fill(event_ptqn.centrality(), event_ptqn.n_ch(), skewness_term1); registry.get(HIST("Prof_kurt_t1"))->Fill(event_ptqn.centrality(), event_ptqn.n_ch(), kurtosis_term1); + registry.fill(HIST("Hist2D_Nch_centrality"), event_ptqn.centrality(), event_ptqn.n_ch()); + registry.fill(HIST("Hist2D_meanpt_centrality"), event_ptqn.centrality(), mean_term1); // selecting subsample and filling profiles float l_Random = fRndm->Rndm(); diff --git a/PWGCF/EbyEFluctuations/Tasks/NetProtonCumulants.cxx b/PWGCF/EbyEFluctuations/Tasks/NetProtonCumulants.cxx index a9ac365cc8e..a18b0b97df9 100644 --- a/PWGCF/EbyEFluctuations/Tasks/NetProtonCumulants.cxx +++ b/PWGCF/EbyEFluctuations/Tasks/NetProtonCumulants.cxx @@ -79,7 +79,7 @@ struct NetProtonCumulants_Table_QA { // Variable bin width axis std::vector ptBinning = {0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.8, 3.2, 3.6, 4.}; AxisSpec ptAxis = {ptBinning, "#it{p}_{T} (GeV/#it{c})"}; - std::vector centBining = {0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90}; + std::vector centBining = {0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90}; AxisSpec centAxis = {centBining, "centrality (%)"}; AxisSpec netProtonAxis = {2001, -1000.5, 1000.5, "net-proton number"}; @@ -130,8 +130,16 @@ struct NetProtonCumulants_Table_QA { const float combNSigmaPr = std::sqrt(pow(track.tpcNSigmaPr(), 2.0) + pow(track.tofNSigmaPr(), 2.0)); const float combNSigmaPi = std::sqrt(pow(track.tpcNSigmaPi(), 2.0) + pow(track.tofNSigmaPi(), 2.0)); const float combNSigmaKa = std::sqrt(pow(track.tpcNSigmaKa(), 2.0) + pow(track.tofNSigmaKa(), 2.0)); - if (!(combNSigmaPr > combNSigmaPi) && !(combNSigmaPr > combNSigmaKa)) { - if (track.tpcNSigmaPr() < cfgnSigmaCut) { + + int flag2 = 0; + if (combNSigmaPr < 3.0) + flag2 += 1; + if (combNSigmaPi < 3.0) + flag2 += 1; + if (combNSigmaKa < 3.0) + flag2 += 1; + if (!(flag2 > 1) && !(combNSigmaPr > combNSigmaPi) && !(combNSigmaPr > combNSigmaKa)) { + if (combNSigmaPr < cfgnSigmaCut) { flag = 1; } } diff --git a/PWGLF/TableProducer/lambdakzerobuilder.cxx b/PWGLF/TableProducer/lambdakzerobuilder.cxx index fb2d7da4e22..3de7dc207ce 100644 --- a/PWGLF/TableProducer/lambdakzerobuilder.cxx +++ b/PWGLF/TableProducer/lambdakzerobuilder.cxx @@ -1001,7 +1001,7 @@ struct lambdakzeroPreselector { // crossed rows conditionals bool posRowsOK = lPosTrack.tpcNClsCrossedRows() >= dTPCNCrossedRows; bool negRowsOK = lNegTrack.tpcNClsCrossedRows() >= dTPCNCrossedRows; - + // check track explicitly for absence of TPC bool posITSonly = !lPosTrack.hasTPC(); bool negITSonly = !lNegTrack.hasTPC(); @@ -1010,20 +1010,20 @@ struct lambdakzeroPreselector { if (((bitcheck(maskElement, bitdEdxGamma) || bitcheck(maskElement, bitdEdxK0Short)) || passdEdx) && (posRowsOK && negRowsOK)) bitset(maskElement, bitTrackQuality); // With baryons in decay - if ((bitcheck(maskElement, bitdEdxLambda) || passdEdx) && - (posRowsOK && (negRowsOK || dPreselectOnlyBaryons)) && + if ((bitcheck(maskElement, bitdEdxLambda) || passdEdx) && + (posRowsOK && (negRowsOK || dPreselectOnlyBaryons)) && (!forceITSOnlyMesons || negITSonly)) bitset(maskElement, bitTrackQuality); - if ((bitcheck(maskElement, bitdEdxAntiLambda) || passdEdx) && - (negRowsOK && (posRowsOK || dPreselectOnlyBaryons)) && + if ((bitcheck(maskElement, bitdEdxAntiLambda) || passdEdx) && + (negRowsOK && (posRowsOK || dPreselectOnlyBaryons)) && (!forceITSOnlyMesons || posITSonly)) bitset(maskElement, bitTrackQuality); if ((bitcheck(maskElement, bitdEdxHypertriton) || passdEdx) && - (posRowsOK && (negRowsOK || dPreselectOnlyBaryons)) && + (posRowsOK && (negRowsOK || dPreselectOnlyBaryons)) && (!forceITSOnlyMesons || negITSonly)) bitset(maskElement, bitTrackQuality); - if ((bitcheck(maskElement, bitdEdxAntiHypertriton) || passdEdx) && - (negRowsOK && (posRowsOK || dPreselectOnlyBaryons)) && + if ((bitcheck(maskElement, bitdEdxAntiHypertriton) || passdEdx) && + (negRowsOK && (posRowsOK || dPreselectOnlyBaryons)) && (!forceITSOnlyMesons || posITSonly)) bitset(maskElement, bitTrackQuality); }