Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions PWGLF/Tasks/Resonances/doublephimeson.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@
#include <Math/GenVector/Boost.h>
#include <Math/Vector3D.h>
#include <Math/Vector4D.h>
#include <TLorentzVector.h>

Check failure on line 31 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
#include <TMath.h>
#include <TVector2.h>

#include <fairlogger/Logger.h>

#include <iostream>

Check failure on line 37 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.
#include <iterator>
#include <string>
#include <vector>
Expand All @@ -51,6 +51,8 @@
Configurable<float> daughterDeltaR{"daughterDeltaR", 0.0, "delta R of daughter"};
Configurable<float> minPhiMass1{"minPhiMass1", 1.01, "Minimum phi mass1"};
Configurable<float> maxPhiMass1{"maxPhiMass1", 1.03, "Maximum phi mass1"};
Configurable<float> minPhiPt{"minPhiPt", 0, "Minimum phi Pt"};
Configurable<float> maxPhiPt{"maxPhiPt", 100, "Maximum phi Pt"};
Configurable<float> minPhiMass2{"minPhiMass2", 1.01, "Minimum phi mass2"};
Configurable<float> maxPhiMass2{"maxPhiMass2", 1.03, "Maximum phi mass2"};
Configurable<float> minExoticMass{"minExoticMass", 2.0, "Minimum Exotic mass"};
Expand All @@ -68,6 +70,7 @@
ConfigurableAxis CfgMultBins{"CfgMultBins", {VARIABLE_WIDTH, 0.0, 20.0, 40.0, 60.0, 80.0, 500.0}, "Mixing bins - number of contributor"};

// THnsparse bining
ConfigurableAxis configThnAxisPtCorr{"configThnAxisPtCorr", {1000, 0.0, 100}, "#it{M} (GeV/#it{c}^{2})"};
ConfigurableAxis configThnAxisInvMass{"configThnAxisInvMass", {1500, 2.0, 3.5}, "#it{M} (GeV/#it{c}^{2})"};
ConfigurableAxis configThnAxisInvMassPhi{"configThnAxisInvMassPhi", {20, 1.01, 1.03}, "#it{M} (GeV/#it{c}^{2})"};
ConfigurableAxis configThnAxisInvMassDeltaPhi{"configThnAxisInvMassDeltaPhi", {80, 0.0, 0.08}, "#it{M} (GeV/#it{c}^{2})"};
Expand Down Expand Up @@ -96,7 +99,7 @@
histos.add("hkMinusDeltaetaDeltaPhi", "hkMinusDeltaetaDeltaPhi", kTH2F, {{400, -2.0, 2.0}, {640, -2.0 * TMath::Pi(), 2.0 * TMath::Pi()}});
histos.add("hDeltaRkaonplus", "hDeltaRkaonplus", kTH1F, {{800, 0.0, 8.0}});
histos.add("hDeltaRkaonminus", "hDeltaRkaonminus", kTH1F, {{800, 0.0, 8.0}});

histos.add("hPtCorrelation", "hPtCorrelation", kTH2F, {{400, 0.0, 40.0}, {5000, 0.0, 100.0}});
const AxisSpec thnAxisdeltapt{configThnAxisDeltaPt, "Delta pt"};
const AxisSpec thnAxisInvMass{configThnAxisInvMass, "#it{M} (GeV/#it{c}^{2})"};
const AxisSpec thnAxisPt{configThnAxisPt, "#it{p}_{T} (GeV/#it{c})"};
Expand All @@ -105,16 +108,17 @@
const AxisSpec thnAxisDeltaR{configThnAxisDeltaR, "#Delta R)"};
const AxisSpec thnAxisCosTheta{configThnAxisCosTheta, "cos #theta"};
const AxisSpec thnAxisNumPhi{configThnAxisNumPhi, "Number of phi meson"};
const AxisSpec thnAxisPtCorr{configThnAxisPtCorr, "Pt Corr var"};

histos.add("SEMassUnlike", "SEMassUnlike", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisDeltaR, thnAxisPt, thnAxisDeltaR, thnAxisInvMassDeltaPhi, thnAxisNumPhi});
histos.add("SEMassUnlike", "SEMassUnlike", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisDeltaR, thnAxisPt, thnAxisDeltaR, thnAxisInvMassDeltaPhi, thnAxisPtCorr});
// histos.add("SEMassLike", "SEMassLike", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisDeltaR, thnAxisInvMassPhi, thnAxisInvMassPhi, thnAxisNumPhi});
histos.add("MEMassUnlike", "MEMassUnlike", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisDeltaR, thnAxisInvMassDeltaPhi});
}

// get kstar
TLorentzVector trackSum, PartOneCMS, PartTwoCMS, trackRelK;

Check failure on line 119 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
float getkstar(const TLorentzVector part1,

Check failure on line 120 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
const TLorentzVector part2)

Check failure on line 121 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
{
// const TLorentzVector trackSum = part1 + part2;
trackSum = part1 + part2;
Expand Down Expand Up @@ -148,8 +152,8 @@
return angle;
}

float deepangle(const TLorentzVector candidate1,

Check failure on line 155 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
const TLorentzVector candidate2)

Check failure on line 156 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
{
double pt1, pt2, pz1, pz2, p1, p2, angle;
pt1 = candidate1.Pt();
Expand All @@ -163,10 +167,10 @@
}

// get cosTheta
TLorentzVector daughterCMS;

Check failure on line 170 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
ROOT::Math::XYZVector threeVecDauCM, threeVecMother;
float getCosTheta(const TLorentzVector mother,

Check failure on line 172 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
const TLorentzVector daughter)

Check failure on line 173 in PWGLF/Tasks/Resonances/doublephimeson.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/lorentz-vector]

Do not use the TLorentzVector legacy class. Use std::array with RecoDecay methods or the ROOT::Math::LorentzVector template instead.
{
threeVecMother = mother.Vect();
const float beta = mother.Beta();
Expand Down Expand Up @@ -831,7 +835,8 @@
// φ mass windows
if (t1.phiMass() < minPhiMass1 || t1.phiMass() > maxPhiMass1)
continue;

if (phi1.Pt() < minPhiPt || phi1.Pt() > maxPhiPt)
continue;
// PID QA after
histos.fill(HIST("hnsigmaTPCTOFKaon"), t1.phid1TPC(), t1.phid1TOF(), kplus1pt);
histos.fill(HIST("hnsigmaTPCKaonPlus"), t1.phid1TPC(), kplus1pt);
Expand Down Expand Up @@ -864,7 +869,8 @@
k2m.SetXYZM(t2.phid2Px(), t2.phid2Py(), t2.phid2Pz(), 0.493);
if (t2.phiMass() < minPhiMass2 || t2.phiMass() > maxPhiMass2)
continue;

if (phi1.Pt() < minPhiPt || phi1.Pt() > maxPhiPt)
continue;
// Δm cut (configurable)
const double dM = deltaMPhi(phi1.M(), phi2.M());
if (dM > maxDeltaMPhi)
Expand Down Expand Up @@ -907,15 +913,16 @@
const double M = pair.M();
const double dR = deltaR(p1.Phi(), p1.Eta(), p2.Phi(), p2.Eta());
const double minDR = minDRV[i];

double ptcorr = p1.Pt() / (pair.Pt() - p1.Pt());
histos.fill(HIST("hPtCorrelation"), pair.Pt(), ptcorr);
// NOTE: second axis is now minΔR(all kaons), ΔpT/pT has been removed
histos.fill(HIST("SEMassUnlike"),
M,
minDR,
pair.Pt(),
dR,
dM,
pairV.size());
ptcorr);
}
}
PROCESS_SWITCH(doublephimeson, processopti3, "Process Optimized same event", false);
Expand Down
Loading