From 590a1129c135965b67592cf6ae31ba91b9ad48e5 Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 22:37:17 +0100 Subject: [PATCH 1/6] JCorran mass differential updates --- PWGCF/JCorran/Core/JFFlucAnalysis.cxx | 36 ++++++++++++++++++--- PWGCF/JCorran/Core/JFFlucAnalysis.h | 13 ++++---- PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx | 14 ++++---- PWGCF/JCorran/Core/JQVectors.h | 2 +- PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx | 2 +- PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx | 5 +-- 6 files changed, 49 insertions(+), 23 deletions(-) diff --git a/PWGCF/JCorran/Core/JFFlucAnalysis.cxx b/PWGCF/JCorran/Core/JFFlucAnalysis.cxx index a36ea857417..9dc4189a810 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysis.cxx +++ b/PWGCF/JCorran/Core/JFFlucAnalysis.cxx @@ -116,6 +116,13 @@ TComplex JFFlucAnalysis::Q(int n, int p) return n >= 0 ? pqvecs->QvectorQC[n][p] : C(pqvecs->QvectorQC[-n][p]); } +TComplex JFFlucAnalysis::Q(const JQVectorsT& qvecs, int n, int p) +{ + // Return QvectorQC + // Q{-n, p} = Q{n, p}* + return n >= 0 ? qvecs.QvectorQC[n][p] : C(qvecs.QvectorQC[-n][p]); +} + TComplex JFFlucAnalysis::Two(int n1, int n2) { // two-particle correlation @@ -124,9 +131,26 @@ TComplex JFFlucAnalysis::Two(int n1, int n2) TComplex JFFlucAnalysis::Four(int n1, int n2, int n3, int n4) { - return Q(n1, 1) * Q(n2, 1) * Q(n3, 1) * Q(n4, 1) - Q(n1 + n2, 2) * Q(n3, 1) * Q(n4, 1) - Q(n2, 1) * Q(n1 + n3, 2) * Q(n4, 1) - Q(n1, 1) * Q(n2 + n3, 2) * Q(n4, 1) + 2. * Q(n1 + n2 + n3, 3) * Q(n4, 1) - Q(n2, 1) * Q(n3, 1) * Q(n1 + n4, 2) + Q(n2 + n3, 2) * Q(n1 + n4, 2) - Q(n1, 1) * Q(n3, 1) * Q(n2 + n4, 2) + Q(n1 + n3, 2) * Q(n2 + n4, 2) + 2. * Q(n3, 1) * Q(n1 + n2 + n4, 3) - Q(n1, 1) * Q(n2, 1) * Q(n3 + n4, 2) + Q(n1 + n2, 2) * Q(n3 + n4, 2) + 2. * Q(n2, 1) * Q(n1 + n3 + n4, 3) + 2. * Q(n1, 1) * Q(n2 + n3 + n4, 3) - 6. * Q(n1 + n2 + n3 + n4, 4); } + +TComplex JFFlucAnalysis::TwoDiff(int n1, int n2) +{ +#define dp(n, p) Q(*pqvecs, n, p) // POI +#define dQ(n, p) Q(*pqvecsRef, n, p) // REF +#define dq(n, p) dp(n, p) //(dp(n,p)+dQ(n,p)) //POI+REF in narrow bin. Since there is no mass for ref, q = POI + // #define dq(n,p) (dp(n,p)+dQ(n,p)) //POI+REF in narrow bin. Since there is no mass for ref, q = POI + return dp(n1, 1) * dQ(n2, 1) - dq(n1 + n2, 2); +} + +TComplex JFFlucAnalysis::FourDiff(int n1, int n2, int n3, int n4) +{ + return dp(n1, 1) * dQ(n2, 1) * dQ(n3, 1) * dQ(n4, 1) - dq(n1 + n2, 2) * dQ(n3, 1) * dQ(n4, 1) - dq(n1 + n3, 2) * dQ(n2, 1) * dQ(n4, 1) - dp(n1, 1) * dQ(n2 + n3, 2) * dQ(n4, 1) + 2. * dq(n1 + n2 + n3, 3) * dQ(n4, 1) - dQ(n2, 1) * dQ(n3, 1) * dq(n1 + n4, 2) + dQ(n2 + n3, 2) * dq(n1 + n4, 2) - dp(n1, 1) * dQ(n3, 1) * dQ(n2 + n4, 2) + dq(n1 + n3, 2) * dQ(n2 + n4, 2) + 2. * dQ(n3, 1) * dq(n1 + n2 + n4, 3) - dp(n1, 1) * dQ(n2, 1) * dQ(n3 + n4, 2) + dq(n1 + n2, 2) * dQ(n3 + n4, 2) + 2. * dQ(n2, 1) * dq(n1 + n3 + n4, 3) + 2. * dp(n1, 1) * dQ(n2 + n3 + n4, 3) - 6. * dq(n1 + n2 + n3 + n4, 4); +} + +#undef dp +#undef dQ +#undef dq #undef C //________________________________________________________________________ @@ -296,19 +320,21 @@ void JFFlucAnalysis::UserExec(Option_t* /*popt*/) // NOLINT(readability/casting) } } + auto four = [&](int a, int b, int c, int d) -> TComplex { return pqvecsRef ? FourDiff(a, b, c, d) : Four(a, b, c, d); }; + auto two = [&](int a, int b) -> TComplex { return pqvecsRef ? TwoDiff(a, b) : Two(a, b); }; Double_t event_weight_four = 1.0; Double_t event_weight_two = 1.0; if (flags & kFlucEbEWeighting) { - event_weight_four = Four(0, 0, 0, 0).Re(); - event_weight_two = Two(0, 0).Re(); + event_weight_four = four(0, 0, 0, 0).Re(); + event_weight_two = two(0, 0).Re(); } for (UInt_t ih = 2; ih < kNH; ih++) { for (UInt_t ihh = 2, mm = (ih < kcNH ? ih : static_cast(kcNH)); ihh < mm; ihh++) { - TComplex scfour = Four(ih, ihh, -ih, -ihh) / Four(0, 0, 0, 0).Re(); + TComplex scfour = four(ih, ihh, -ih, -ihh) / four(0, 0, 0, 0).Re(); pht[HIST_THN_SC_with_QC_4corr]->Fill(fCent, fAvgInvariantMass, ih, ihh, scfour.Re(), event_weight_four); } - TComplex sctwo = Two(ih, -ih) / Two(0, 0).Re(); + TComplex sctwo = two(ih, -ih) / two(0, 0).Re(); pht[HIST_THN_SC_with_QC_2corr]->Fill(fCent, fAvgInvariantMass, ih, sctwo.Re(), event_weight_two); } } diff --git a/PWGCF/JCorran/Core/JFFlucAnalysis.h b/PWGCF/JCorran/Core/JFFlucAnalysis.h index 5388a5a96e3..eef68479bb1 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysis.h +++ b/PWGCF/JCorran/Core/JFFlucAnalysis.h @@ -37,6 +37,8 @@ class JFFlucAnalysis : public TNamed TComplex Q(int n, int p); TComplex Two(int n1, int n2); TComplex Four(int n1, int n2, int n3, int n4); + TComplex TwoDiff(int n1, int n2); + TComplex FourDiff(int n1, int n2, int n3, int n4); void UserExec(Option_t* option); void Terminate(Option_t*); @@ -124,6 +126,7 @@ class JFFlucAnalysis : public TNamed kK4, nKL }; // order using JQVectorsT = JQVectors; + TComplex Q(const JQVectorsT& qvecs, int n, int p); inline void SetJQVectors(const JQVectorsT* _pqvecs) { pqvecs = _pqvecs; @@ -139,11 +142,9 @@ class JFFlucAnalysis : public TNamed using hasWeightNUA = decltype(std::declval().weightNUA()); template using hasWeightEff = decltype(std::declval().weightEff()); - template - using hasType = decltype(std::declval().particleType()); template - inline void FillQA(JInputClass& inputInst, UInt_t type = 0) + inline void FillQA(JInputClass& inputInst, UInt_t type = 0u) { ph1[HIST_TH1_CENTRALITY]->Fill(fCent); ph1[HIST_TH1_IMPACTPARAM]->Fill(fImpactParameter); @@ -157,15 +158,13 @@ class JFFlucAnalysis : public TNamed if constexpr (std::experimental::is_detected::value) corrInv /= track.weightNUA(); pht[HIST_THN_PHIETA]->Fill(fCent, track.phi(), track.eta(), corrInv); - if constexpr (std::experimental::is_detected::value) - type = track.particleType(); pht[HIST_THN_PHIETAZ]->Fill(fCent, static_cast(type), track.phi(), track.eta(), fVertex, corrInv); } ph1[HIST_TH1_ZVERTEX]->Fill(fVertex); } -#define kcNH kH6 // max second dimension + 1 +#define kcNH kH4 // max second dimension + 1 protected: Float_t fVertex; //! Float_t fAvgInvariantMass; //! @@ -178,7 +177,7 @@ class JFFlucAnalysis : public TNamed const JQVectorsT* pqvecsRef; //! TH1* ph1[HIST_TH1_COUNT]; //! - THn* pht[HIST_THN_COUNT]; //! + THnSparse* pht[HIST_THN_COUNT]; //! THnSparse* phs[HIST_THN_SPARSE_COUNT]; //! ClassDef(JFFlucAnalysis, 1) diff --git a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx index f6ad0dd9372..3979b43f19b 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx +++ b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx @@ -29,17 +29,17 @@ JFFlucAnalysisO2Hist::JFFlucAnalysisO2Hist(HistogramRegistry& registry, AxisSpec std::vector ptBinning = {0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0}; AxisSpec ptAxis = {ptBinning, "#it{p}_{T} (GeV/c)"}; AxisSpec typeAxis = {2, -0.5, 1.5, "type"}; - pht[HIST_THN_PHIETAZ] = std::get>(registry.add(Form("%s/h_phietaz", folder.Data()), "multiplicity/centrality, type, phi, eta, z", {HistType::kTHnF, {axisMultiplicity, typeAxis, phiAxis, etaAxis, zvtAxis}})).get(); - pht[HIST_THN_PTETA] = std::get>(registry.add(Form("%s/h_pteta", folder.Data()), "(corrected) multiplicity/centrality, pT, eta", {HistType::kTHnF, {axisMultiplicity, ptAxis, etaAxis}})).get(); - pht[HIST_THN_PHIETA] = std::get>(registry.add(Form("%s/h_phieta", folder.Data()), "(corrected) multiplicity/centrality, phi, eta", {HistType::kTHnF, {axisMultiplicity, phiAxis, etaAxis}})).get(); + pht[HIST_THN_PHIETAZ] = std::get>(registry.add(Form("%s/h_phietaz", folder.Data()), "multiplicity/centrality, type, phi, eta, z", {HistType::kTHnSparseF, {axisMultiplicity, typeAxis, phiAxis, etaAxis, zvtAxis}})).get(); + pht[HIST_THN_PTETA] = std::get>(registry.add(Form("%s/h_pteta", folder.Data()), "(corrected) multiplicity/centrality, pT, eta", {HistType::kTHnSparseF, {axisMultiplicity, ptAxis, etaAxis}})).get(); + pht[HIST_THN_PHIETA] = std::get>(registry.add(Form("%s/h_phieta", folder.Data()), "(corrected) multiplicity/centrality, phi, eta", {HistType::kTHnSparseF, {axisMultiplicity, phiAxis, etaAxis}})).get(); AxisSpec hAxis = {kNH, -0.5, static_cast(kNH - 1) + 0.5, "#it{n}"}; AxisSpec kAxis = {nKL, -0.5, static_cast(nKL - 1) + 0.5, "#it{k}"}; AxisSpec vnAxis = {2048, -0.1, 0.1, "#it{V}_#it{n}"}; - pht[HIST_THN_SC_with_QC_4corr] = std::get>(registry.add(Form("%s/h_SC_with_QC_4corr", folder.Data()), "SC_with_QC_4corr", {HistType::kTHnF, {axisMultiplicity, massAxis, hAxis, hAxis, {2048, -0.001, 0.001, "correlation"}}})).get(); - pht[HIST_THN_SC_with_QC_2corr] = std::get>(registry.add(Form("%s/h_SC_with_QC_2corr", folder.Data()), "SC_with_QC_2corr", {HistType::kTHnF, {axisMultiplicity, massAxis, hAxis, {2048, -0.1, 0.1, "correlation"}}})).get(); - pht[HIST_THN_SC_with_QC_2corr_gap] = std::get>(registry.add(Form("%s/h_SC_with_QC_2corr_gap", folder.Data()), "SC_with_QC_2corr_gap", {HistType::kTHnF, {axisMultiplicity, massAxis, hAxis, {2048, -0.1, 0.1, "correlation"}}})).get(); + pht[HIST_THN_SC_with_QC_4corr] = std::get>(registry.add(Form("%s/h_SC_with_QC_4corr", folder.Data()), "SC_with_QC_4corr", {HistType::kTHnSparseF, {axisMultiplicity, massAxis, hAxis, hAxis, {2048, -0.001, 0.001, "correlation"}}})).get(); + pht[HIST_THN_SC_with_QC_2corr] = std::get>(registry.add(Form("%s/h_SC_with_QC_2corr", folder.Data()), "SC_with_QC_2corr", {HistType::kTHnSparseF, {axisMultiplicity, massAxis, hAxis, {2048, -0.1, 0.1, "correlation"}}})).get(); + pht[HIST_THN_SC_with_QC_2corr_gap] = std::get>(registry.add(Form("%s/h_SC_with_QC_2corr_gap", folder.Data()), "SC_with_QC_2corr_gap", {HistType::kTHnSparseF, {axisMultiplicity, massAxis, hAxis, {2048, -0.1, 0.1, "correlation"}}})).get(); for (UInt_t i = HIST_THN_V4V2star_2; i < HIST_THN_COUNT; ++i) - pht[i] = std::get>(registry.add(Form("%s/h_corrC%02u", folder.Data(), i - HIST_THN_V4V2star_2), "correlator", {HistType::kTHnF, {axisMultiplicity, massAxis, {2048, -3.0, 3.0, "correlation"}}})).get(); + pht[i] = std::get>(registry.add(Form("%s/h_corrC%02u", folder.Data(), i - HIST_THN_V4V2star_2), "correlator", {HistType::kTHnSparseF, {axisMultiplicity, massAxis, {2048, -3.0, 3.0, "correlation"}}})).get(); for (UInt_t i = 0; i < HIST_THN_COUNT; ++i) pht[i]->Sumw2(); diff --git a/PWGCF/JCorran/Core/JQVectors.h b/PWGCF/JCorran/Core/JQVectors.h index de92785b200..c96aac454b7 100644 --- a/PWGCF/JCorran/Core/JQVectors.h +++ b/PWGCF/JCorran/Core/JQVectors.h @@ -65,7 +65,7 @@ class JQVectors : public std::conditional_t, JQ continue; using JInputClassIter = typename JInputClass::iterator; if constexpr (std::experimental::is_detected::value) { - if (track.invMass() < massMin || track.invMass() > massMax) + if (track.invMass() < massMin || track.invMass() >= massMax) continue; } diff --git a/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx b/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx index 35e2de50869..7140a5aa475 100644 --- a/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx +++ b/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx @@ -116,8 +116,8 @@ struct jflucAnalysisTask { pcf2Prong->Init(); pcf2Prong->SetEventCentrality(collision.multiplicity()); pcf2Prong->SetEventVertex(collision.posZ()); - pcf2Prong->FillQA(poiTracks, 1u); // type = 1, all POI tracks in this list are of the same type pcf2Prong->FillQA(refTracks, 0u); + pcf2Prong->FillQA(poiTracks, 1u); // type = 1, all POI tracks in this list are of the same type qvecsRef.Calculate(refTracks, etamin, etamax); pcf2Prong->SetJQVectors(&qvecs, &qvecsRef); const AxisSpec& a = AxisSpec(massAxis); diff --git a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx index a7717b6c2f5..072369d28a0 100644 --- a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx +++ b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx @@ -94,7 +94,8 @@ struct jflucWeightsLoader { float phiWeight, effWeight; if (ph) { UInt_t partType = 0; // partType 0 = all charged hadrons - if constexpr (std::experimental::is_detected::value) { + //TODO: code below to be enabled + /*if constexpr (std::experimental::is_detected::value) { switch (track.decay()) { case aod::cf2prongtrack::D0ToPiK: case aod::cf2prongtrack::D0barToKPi: @@ -103,7 +104,7 @@ struct jflucWeightsLoader { default: break; } - } + }*/ const Double_t coords[] = {collision.multiplicity(), static_cast(partType), track.phi(), track.eta(), collision.posZ()}; phiWeight = ph->GetBinContent(ph->GetBin(coords)); } else { From c7615332c3c17d346f05159dffac54840a25a19a Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 23:14:30 +0100 Subject: [PATCH 2/6] JCorran pT array and histogram sign axis --- PWGCF/JCorran/Core/JFFlucAnalysis.h | 6 +++++- PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx | 10 ++++------ PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.h | 2 +- PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx | 6 ++++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/PWGCF/JCorran/Core/JFFlucAnalysis.h b/PWGCF/JCorran/Core/JFFlucAnalysis.h index eef68479bb1..23ace264872 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysis.h +++ b/PWGCF/JCorran/Core/JFFlucAnalysis.h @@ -142,6 +142,8 @@ class JFFlucAnalysis : public TNamed using hasWeightNUA = decltype(std::declval().weightNUA()); template using hasWeightEff = decltype(std::declval().weightEff()); + template + using hasSign = decltype(std::declval().sign()); template inline void FillQA(JInputClass& inputInst, UInt_t type = 0u) @@ -154,7 +156,9 @@ class JFFlucAnalysis : public TNamed using JInputClassIter = typename JInputClass::iterator; if constexpr (std::experimental::is_detected::value) corrInv /= track.weightEff(); - pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), corrInv); + if constexpr (std::experimental::is_detected::value) + pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), track.sign(), corrInv); + else pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), 0.0, corrInv); if constexpr (std::experimental::is_detected::value) corrInv /= track.weightNUA(); pht[HIST_THN_PHIETA]->Fill(fCent, track.phi(), track.eta(), corrInv); diff --git a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx index 3979b43f19b..afd5c798ac0 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx +++ b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx @@ -18,19 +18,17 @@ using namespace o2; -JFFlucAnalysisO2Hist::JFFlucAnalysisO2Hist(HistogramRegistry& registry, AxisSpec& axisMultiplicity, AxisSpec& phiAxis, AxisSpec& etaAxis, AxisSpec& zvtAxis, AxisSpec& massAxis, const TString& folder) : JFFlucAnalysis() +JFFlucAnalysisO2Hist::JFFlucAnalysisO2Hist(HistogramRegistry& registry, AxisSpec& axisMultiplicity, AxisSpec& phiAxis, AxisSpec& etaAxis, AxisSpec& zvtAxis, AxisSpec& ptAxis, AxisSpec& massAxis, const TString& folder) : JFFlucAnalysis() { ph1[HIST_TH1_CENTRALITY] = std::get>(registry.add(Form("%s/h_cent", folder.Data()), "multiplicity/centrality", {HistType::kTH1F, {axisMultiplicity}})).get(); ph1[HIST_TH1_IMPACTPARAM] = std::get>(registry.add(Form("%s/h_IP", folder.Data()), "impact parameter", {HistType::kTH1F, {{400, -2.0, 20.0}}})).get(); ph1[HIST_TH1_ZVERTEX] = std::get>(registry.add(Form("%s/h_vertex", folder.Data()), "z vertex", {HistType::kTH1F, {{100, -20.0, 20.0}}})).get(); - // - // TODO: these shall be configurable - std::vector ptBinning = {0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0}; - AxisSpec ptAxis = {ptBinning, "#it{p}_{T} (GeV/c)"}; + + AxisSpec chgAxis = {3, -1.5, 1.5, "charge"}; AxisSpec typeAxis = {2, -0.5, 1.5, "type"}; pht[HIST_THN_PHIETAZ] = std::get>(registry.add(Form("%s/h_phietaz", folder.Data()), "multiplicity/centrality, type, phi, eta, z", {HistType::kTHnSparseF, {axisMultiplicity, typeAxis, phiAxis, etaAxis, zvtAxis}})).get(); - pht[HIST_THN_PTETA] = std::get>(registry.add(Form("%s/h_pteta", folder.Data()), "(corrected) multiplicity/centrality, pT, eta", {HistType::kTHnSparseF, {axisMultiplicity, ptAxis, etaAxis}})).get(); + pht[HIST_THN_PTETA] = std::get>(registry.add(Form("%s/h_pteta", folder.Data()), "(corrected) multiplicity/centrality, pT, eta, charge", {HistType::kTHnSparseF, {axisMultiplicity, ptAxis, etaAxis, chgAxis}})).get(); pht[HIST_THN_PHIETA] = std::get>(registry.add(Form("%s/h_phieta", folder.Data()), "(corrected) multiplicity/centrality, phi, eta", {HistType::kTHnSparseF, {axisMultiplicity, phiAxis, etaAxis}})).get(); AxisSpec hAxis = {kNH, -0.5, static_cast(kNH - 1) + 0.5, "#it{n}"}; AxisSpec kAxis = {nKL, -0.5, static_cast(nKL - 1) + 0.5, "#it{k}"}; diff --git a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.h b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.h index 561d7e0cc01..a9de2fd7864 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.h +++ b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.h @@ -23,7 +23,7 @@ using namespace o2::framework; class JFFlucAnalysisO2Hist : public JFFlucAnalysis { public: - JFFlucAnalysisO2Hist(HistogramRegistry&, AxisSpec&, AxisSpec&, AxisSpec&, AxisSpec&, AxisSpec&, const TString&); + JFFlucAnalysisO2Hist(HistogramRegistry&, AxisSpec&, AxisSpec&, AxisSpec&, AxisSpec&, AxisSpec&, AxisSpec&, const TString&); ~JFFlucAnalysisO2Hist(); }; diff --git a/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx b/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx index 7140a5aa475..54f8b902d61 100644 --- a/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx +++ b/PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx @@ -57,6 +57,7 @@ struct jflucAnalysisTask { ConfigurableAxis phiAxis{"axisPhi", {50, 0.0, o2::constants::math::TwoPI}, "phi axis for histograms"}; ConfigurableAxis etaAxis{"axisEta", {40, -2.0, 2.0}, "eta axis for histograms"}; ConfigurableAxis zvtAxis{"axisZvt", {20, -10.0, 10.0}, "zvertex axis for histograms"}; + ConfigurableAxis ptAxis{"axisPt", {60, 0.0, 300.0}, "pt axis for histograms"}; ConfigurableAxis massAxis{"axisMass", {1, 0.0, 10.0}, "mass axis for histograms"}; Filter jtrackFilter = (aod::jtrack::pt > ptmin) && (aod::jtrack::pt < ptmax); // eta cuts done by jfluc @@ -71,16 +72,17 @@ struct jflucAnalysisTask { auto axisSpecPhi = AxisSpec(phiAxis); auto axisSpecEta = AxisSpec(etaAxis); auto axisSpecZvt = AxisSpec(zvtAxis); + auto axisSpecPt = AxisSpec(ptAxis); auto axisSpecMass = AxisSpec(massAxis); if (doprocessJDerived || doprocessJDerivedCorrected || doprocessCFDerived || doprocessCFDerivedCorrected) { - pcf = new JFFlucAnalysisO2Hist(registry, axisSpecMult, axisSpecPhi, axisSpecEta, axisSpecZvt, axisSpecMass, "jfluc"); + pcf = new JFFlucAnalysisO2Hist(registry, axisSpecMult, axisSpecPhi, axisSpecEta, axisSpecZvt, axisSpecPt, axisSpecMass, "jfluc"); pcf->AddFlags(JFFlucAnalysis::kFlucEbEWeighting); pcf->UserCreateOutputObjects(); } else { pcf = 0; } if (doprocessCF2ProngDerived || doprocessCF2ProngDerivedCorrected) { - pcf2Prong = new JFFlucAnalysisO2Hist(registry, axisSpecMult, axisSpecPhi, axisSpecEta, axisSpecZvt, axisSpecMass, "jfluc2prong"); + pcf2Prong = new JFFlucAnalysisO2Hist(registry, axisSpecMult, axisSpecPhi, axisSpecEta, axisSpecZvt, axisSpecPt, axisSpecMass, "jfluc2prong"); pcf2Prong->AddFlags(JFFlucAnalysis::kFlucEbEWeighting); pcf2Prong->UserCreateOutputObjects(); From e7bcd9000b1663b2d7efdf09a3d80ce09193c383 Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 23:17:35 +0100 Subject: [PATCH 3/6] Remove unused TDatabasePDG.h include --- PWGCF/TableProducer/filterCorrelations.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGCF/TableProducer/filterCorrelations.cxx b/PWGCF/TableProducer/filterCorrelations.cxx index e449cb3bbc4..3d424dc38bf 100644 --- a/PWGCF/TableProducer/filterCorrelations.cxx +++ b/PWGCF/TableProducer/filterCorrelations.cxx @@ -22,7 +22,6 @@ #include "Common/DataModel/Centrality.h" #include -#include using namespace o2; using namespace o2::framework; From 4f858f8216a54df968fd9f237cf40ff5ff1570f0 Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 23:20:14 +0100 Subject: [PATCH 4/6] Clang-format --- PWGCF/JCorran/Core/JFFlucAnalysis.h | 3 ++- PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/PWGCF/JCorran/Core/JFFlucAnalysis.h b/PWGCF/JCorran/Core/JFFlucAnalysis.h index 23ace264872..01589a09849 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysis.h +++ b/PWGCF/JCorran/Core/JFFlucAnalysis.h @@ -158,7 +158,8 @@ class JFFlucAnalysis : public TNamed corrInv /= track.weightEff(); if constexpr (std::experimental::is_detected::value) pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), track.sign(), corrInv); - else pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), 0.0, corrInv); + else + pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), 0.0, corrInv); if constexpr (std::experimental::is_detected::value) corrInv /= track.weightNUA(); pht[HIST_THN_PHIETA]->Fill(fCent, track.phi(), track.eta(), corrInv); diff --git a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx index afd5c798ac0..b3419ff7dc8 100644 --- a/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx +++ b/PWGCF/JCorran/Core/JFFlucAnalysisO2Hist.cxx @@ -24,7 +24,7 @@ JFFlucAnalysisO2Hist::JFFlucAnalysisO2Hist(HistogramRegistry& registry, AxisSpec ph1[HIST_TH1_CENTRALITY] = std::get>(registry.add(Form("%s/h_cent", folder.Data()), "multiplicity/centrality", {HistType::kTH1F, {axisMultiplicity}})).get(); ph1[HIST_TH1_IMPACTPARAM] = std::get>(registry.add(Form("%s/h_IP", folder.Data()), "impact parameter", {HistType::kTH1F, {{400, -2.0, 20.0}}})).get(); ph1[HIST_TH1_ZVERTEX] = std::get>(registry.add(Form("%s/h_vertex", folder.Data()), "z vertex", {HistType::kTH1F, {{100, -20.0, 20.0}}})).get(); - + AxisSpec chgAxis = {3, -1.5, 1.5, "charge"}; AxisSpec typeAxis = {2, -0.5, 1.5, "type"}; pht[HIST_THN_PHIETAZ] = std::get>(registry.add(Form("%s/h_phietaz", folder.Data()), "multiplicity/centrality, type, phi, eta, z", {HistType::kTHnSparseF, {axisMultiplicity, typeAxis, phiAxis, etaAxis, zvtAxis}})).get(); From d39923cd71350f8e2010d412ab5eb4f2b93b89c2 Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 23:23:36 +0100 Subject: [PATCH 5/6] Clang-format 2. --- PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx index 072369d28a0..2fd4847bbf5 100644 --- a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx +++ b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx @@ -94,7 +94,7 @@ struct jflucWeightsLoader { float phiWeight, effWeight; if (ph) { UInt_t partType = 0; // partType 0 = all charged hadrons - //TODO: code below to be enabled + // TODO: code below to be enabled /*if constexpr (std::experimental::is_detected::value) { switch (track.decay()) { case aod::cf2prongtrack::D0ToPiK: From a259079db84be212e916c13da9e1e922aff62c04 Mon Sep 17 00:00:00 2001 From: jparkkil Date: Tue, 4 Feb 2025 23:30:04 +0100 Subject: [PATCH 6/6] cpplint --- PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx index 2fd4847bbf5..9e2203e8a02 100644 --- a/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx +++ b/PWGCF/JCorran/Tasks/jflucWeightsLoader.cxx @@ -12,6 +12,7 @@ /// \since May 2024 #include +#include #include #include