Skip to content
Merged
Show file tree
Hide file tree
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
20 changes: 20 additions & 0 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@
// TO Do: add more systems

// set the beam 4-momentum vectors
float beamAEnergy = energy / 2.0 * sqrt(NumberOfProtonsA * NumberOfProtonsC / NumberOfProtonsC / NumberOfProtonsA); // GeV

Check failure on line 194 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
float beamCEnergy = energy / 2.0 * sqrt(NumberOfProtonsC * NumberOfProtonsA / NumberOfProtonsA / NumberOfProtonsC); // GeV

Check failure on line 195 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
float beamAMomentum = std::sqrt(beamAEnergy * beamAEnergy - NumberOfNucleonsA * NumberOfNucleonsA * MassProton * MassProton);
float beamCMomentum = std::sqrt(beamCEnergy * beamCEnergy - NumberOfNucleonsC * NumberOfNucleonsC * MassProton * MassProton);
fgBeamA.SetPxPyPzE(0, 0, beamAMomentum, beamAEnergy);
Expand Down Expand Up @@ -291,7 +291,7 @@
double mean = calibMeanHist->GetBinContent(binTPCncls, binPin, binEta);
double sigma = calibSigmaHist->GetBinContent(binTPCncls, binPin, binEta);
return (nSigmaValue - mean) / sigma; // Return the calibrated nSigma value
} else if (fgCalibrationType == 2) {

Check failure on line 294 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
// get the calibration histograms
CalibObjects calibMean, calibSigma, calibStatus;
switch (species) {
Expand Down Expand Up @@ -386,14 +386,14 @@
// Bimodality coefficient = (skewness^2 + 1) / kurtosis
// return a tuple including the coefficient, mean, RMS, skewness, and kurtosis
size_t n = data.size();
if (n < 3) {

Check failure on line 389 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
return std::make_tuple(-1.0, -1.0, -1.0, -1.0, -1.0);
}
float mean = std::accumulate(data.begin(), data.end(), 0.0) / n;

float m2 = 0.0, m3 = 0.0, m4 = 0.0;
float diff, diff2;
for (float x : data) {

Check failure on line 396 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
diff = x - mean;
diff2 = diff * diff;
m2 += diff2;
Expand Down Expand Up @@ -432,7 +432,7 @@
int nBins = static_cast<int>((max - min) / binWidth);
std::vector<int> counts(nBins, 0.0);

for (float x : data) {

Check failure on line 435 in PWGDQ/Core/VarManager.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (x < min || x >= max) {
continue; // skip out-of-range values
}
Expand Down Expand Up @@ -931,6 +931,14 @@
fgVariableUnits[kTrackDCAxy] = "cm";
fgVariableNames[kTrackDCAz] = "DCA_{z}";
fgVariableUnits[kTrackDCAz] = "cm";
fgVariableNames[kDCAxy1] = "DCA_{xy}";
fgVariableUnits[kDCAxy1] = "cm";
fgVariableNames[kDCAz1] = "DCA_{z}";
fgVariableUnits[kDCAz1] = "cm";
fgVariableNames[kDCAxy2] = "DCA_{xy}";
fgVariableUnits[kDCAxy2] = "cm";
fgVariableNames[kDCAz2] = "DCA_{z}";
fgVariableUnits[kDCAz2] = "cm";
fgVariableNames[kTPCnSigmaEl] = "n #sigma_{e}^{TPC}";
fgVariableUnits[kTPCnSigmaEl] = "";
fgVariableNames[kTPCnSigmaEl_Corr] = "n #sigma_{e}^{TPC} Corr.";
Expand All @@ -943,6 +951,10 @@
fgVariableUnits[kTPCnSigmaPi_Corr] = "";
fgVariableNames[kTPCnSigmaKa] = "n #sigma_{K}^{TPC}";
fgVariableUnits[kTPCnSigmaKa] = "";
fgVariableNames[kTPCnSigmaEl1] = "n #sigma_{el}^{TPC}";
fgVariableUnits[kTPCnSigmaEl1] = "";
fgVariableNames[kTPCnSigmaEl2] = "n #sigma_{el}^{TPC}";
fgVariableUnits[kTPCnSigmaEl2] = "";
fgVariableNames[kTPCnSigmaKa_leg1] = "n #sigma_{K}^{TPC}";
fgVariableUnits[kTPCnSigmaKa_leg1] = "";
fgVariableNames[kTPCnSigmaKa_Corr] = "n #sigma_{K}^{TPC} Corr.";
Expand Down Expand Up @@ -2131,12 +2143,20 @@
fgVarNamesMap["kEta1"] = kEta1;
fgVarNamesMap["kPhi1"] = kPhi1;
fgVarNamesMap["kCharge1"] = kCharge1;
fgVarNamesMap["kDCAxy1"] = kDCAxy1;
fgVarNamesMap["kDCAz1"] = kDCAz1;
fgVarNamesMap["kITSclusterMap1"] = kITSclusterMap1;
fgVarNamesMap["kTPCnSigmaEl1"] = kTPCnSigmaEl1;
fgVarNamesMap["kPin_leg1"] = kPin_leg1;
fgVarNamesMap["kTPCnSigmaKa_leg1"] = kTPCnSigmaKa_leg1;
fgVarNamesMap["kPt2"] = kPt2;
fgVarNamesMap["kEta2"] = kEta2;
fgVarNamesMap["kPhi2"] = kPhi2;
fgVarNamesMap["kCharge2"] = kCharge2;
fgVarNamesMap["kDCAxy2"] = kDCAxy2;
fgVarNamesMap["kDCAz2"] = kDCAz2;
fgVarNamesMap["kITSclusterMap2"] = kITSclusterMap2;
fgVarNamesMap["kTPCnSigmaEl2"] = kTPCnSigmaEl2;
fgVarNamesMap["kPin"] = kPin;
fgVarNamesMap["kSignedPin"] = kSignedPin;
fgVarNamesMap["kTOFExpMom"] = kTOFExpMom;
Expand Down
96 changes: 61 additions & 35 deletions PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -532,12 +532,20 @@
kEta1,
kPhi1,
kCharge1,
kDCAxy1,
kDCAz1,
kITSclusterMap1,
kTPCnSigmaEl1,
kPin_leg1,
kTPCnSigmaKa_leg1,
kPt2,
kEta2,
kPhi2,
kCharge2,
kDCAxy2,
kDCAz2,
kITSclusterMap2,
kTPCnSigmaEl2,

// Barrel track variables
kPin,
Expand Down Expand Up @@ -1814,9 +1822,9 @@
}
if constexpr ((fillMap & MuonCov) > 0 || (fillMap & ReducedMuonCov) > 0) {
o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon(muontrack, collision);
double px = propmuon.getP() * sin(M_PI / 2 - atan(mfttrack.tgl())) * cos(mfttrack.phi());

Check failure on line 1825 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
double py = propmuon.getP() * sin(M_PI / 2 - atan(mfttrack.tgl())) * sin(mfttrack.phi());

Check failure on line 1826 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
double pz = propmuon.getP() * cos(M_PI / 2 - atan(mfttrack.tgl()));

Check failure on line 1827 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
double pt = std::sqrt(std::pow(px, 2) + std::pow(py, 2));
auto mftprop = o2::aod::fwdtrackutils::getTrackParCovFwdShift(mfttrack, fgzShiftFwd);
values[kX] = mftprop.getX();
Expand Down Expand Up @@ -3690,37 +3698,55 @@
}
}

if constexpr ((pairType == kDecayToEE) && ((fillMap & TrackCov) > 0 || (fillMap & ReducedTrackBarrelCov) > 0)) {
if constexpr ((pairType == kDecayToEE)) {
if constexpr ((fillMap & ReducedTrackBarrel) > 0) {
values[kITSclusterMap1] = t1.itsClusterMap();
values[kITSclusterMap2] = t2.itsClusterMap();
}

if (fgUsedVars[kQuadDCAabsXY] || fgUsedVars[kQuadDCAsigXY] || fgUsedVars[kQuadDCAabsZ] || fgUsedVars[kQuadDCAsigZ] || fgUsedVars[kQuadDCAsigXYZ] || fgUsedVars[kSignQuadDCAsigXY]) {
// Quantities based on the barrel tables
if constexpr ((fillMap & ReducedTrackBarrelPID) > 0) {
values[kTPCnSigmaEl1] = t1.tpcNSigmaEl();
values[kTPCnSigmaEl2] = t2.tpcNSigmaEl();
}

if constexpr (((fillMap & TrackCov) > 0 || (fillMap & ReducedTrackBarrelCov) > 0)) {
double dca1XY = t1.dcaXY();
double dca2XY = t2.dcaXY();
double dca1Z = t1.dcaZ();
double dca2Z = t2.dcaZ();
double dca1sigXY = dca1XY / std::sqrt(t1.cYY());
double dca2sigXY = dca2XY / std::sqrt(t2.cYY());
double dca1sigZ = dca1Z / std::sqrt(t1.cZZ());
double dca2sigZ = dca2Z / std::sqrt(t2.cZZ());

values[kQuadDCAabsXY] = std::sqrt((dca1XY * dca1XY + dca2XY * dca2XY) / 2);
values[kQuadDCAsigXY] = std::sqrt((dca1sigXY * dca1sigXY + dca2sigXY * dca2sigXY) / 2);
values[kQuadDCAabsZ] = std::sqrt((dca1Z * dca1Z + dca2Z * dca2Z) / 2);
values[kQuadDCAsigZ] = std::sqrt((dca1sigZ * dca1sigZ + dca2sigZ * dca2sigZ) / 2);
values[kSignQuadDCAsigXY] = t1.sign() * t2.sign() * TMath::Sign(1., dca1sigXY) * TMath::Sign(1., dca2sigXY) * std::sqrt((dca1sigXY * dca1sigXY + dca2sigXY * dca2sigXY) / 2);

double det1 = t1.cYY() * t1.cZZ() - t1.cZY() * t1.cZY();
double det2 = t2.cYY() * t2.cZZ() - t2.cZY() * t2.cZY();
if ((det1 < 0) || (det2 < 0)) {
values[kQuadDCAsigXYZ] = -999;
} else {
double chi2t1 = (dca1XY * dca1XY * t1.cZZ() + dca1Z * dca1Z * t1.cYY() - 2. * dca1XY * dca1Z * t1.cZY()) / det1;
double chi2t2 = (dca2XY * dca2XY * t2.cZZ() + dca2Z * dca2Z * t2.cYY() - 2. * dca2XY * dca2Z * t2.cZY()) / det2;
values[kDCAxy1] = dca1XY;
values[kDCAz1] = dca1Z;
values[kDCAxy2] = dca2XY;
values[kDCAz2] = dca2Z;

if (fgUsedVars[kQuadDCAabsXY] || fgUsedVars[kQuadDCAsigXY] || fgUsedVars[kQuadDCAabsZ] || fgUsedVars[kQuadDCAsigZ] || fgUsedVars[kQuadDCAsigXYZ] || fgUsedVars[kSignQuadDCAsigXY]) {
// Quantities based on the barrel tables

double dca1sigXY = dca1XY / std::sqrt(t1.cYY());
double dca2sigXY = dca2XY / std::sqrt(t2.cYY());
double dca1sigZ = dca1Z / std::sqrt(t1.cZZ());
double dca2sigZ = dca2Z / std::sqrt(t2.cZZ());

values[kQuadDCAabsXY] = std::sqrt((dca1XY * dca1XY + dca2XY * dca2XY) / 2);
values[kQuadDCAsigXY] = std::sqrt((dca1sigXY * dca1sigXY + dca2sigXY * dca2sigXY) / 2);
values[kQuadDCAabsZ] = std::sqrt((dca1Z * dca1Z + dca2Z * dca2Z) / 2);
values[kQuadDCAsigZ] = std::sqrt((dca1sigZ * dca1sigZ + dca2sigZ * dca2sigZ) / 2);
values[kSignQuadDCAsigXY] = t1.sign() * t2.sign() * TMath::Sign(1., dca1sigXY) * TMath::Sign(1., dca2sigXY) * std::sqrt((dca1sigXY * dca1sigXY + dca2sigXY * dca2sigXY) / 2);

double det1 = t1.cYY() * t1.cZZ() - t1.cZY() * t1.cZY();
double det2 = t2.cYY() * t2.cZZ() - t2.cZY() * t2.cZY();
if ((det1 < 0) || (det2 < 0)) {
values[kQuadDCAsigXYZ] = -999;
} else {
double chi2t1 = (dca1XY * dca1XY * t1.cZZ() + dca1Z * dca1Z * t1.cYY() - 2. * dca1XY * dca1Z * t1.cZY()) / det1;
double chi2t2 = (dca2XY * dca2XY * t2.cZZ() + dca2Z * dca2Z * t2.cYY() - 2. * dca2XY * dca2Z * t2.cZY()) / det2;

double dca1sigXYZ = std::sqrt(std::abs(chi2t1) / 2.);
double dca2sigXYZ = std::sqrt(std::abs(chi2t2) / 2.);
double dca1sigXYZ = std::sqrt(std::abs(chi2t1) / 2.);
double dca2sigXYZ = std::sqrt(std::abs(chi2t2) / 2.);

values[kQuadDCAsigXYZ] = std::sqrt((dca1sigXYZ * dca1sigXYZ + dca2sigXYZ * dca2sigXYZ) / 2);
values[kQuadDCAsigXYZ] = std::sqrt((dca1sigXYZ * dca1sigXYZ + dca2sigXYZ * dca2sigXYZ) / 2);
}
}
}
}
Expand Down Expand Up @@ -4577,9 +4603,9 @@
values[kVertexingTauzErr] = values[kVertexingLzErr] * v12.M() / (TMath::Abs(v12.Pz()) * o2::constants::physics::LightSpeedCm2NS);
values[kVertexingTauxyErr] = values[kVertexingLxyErr] * v12.M() / (v12.Pt() * o2::constants::physics::LightSpeedCm2NS);

values[kCosPointingAngle] = ((collision.posX() - secondaryVertex[0]) * v12.Px() +
(collision.posY() - secondaryVertex[1]) * v12.Py() +
(collision.posZ() - secondaryVertex[2]) * v12.Pz()) /
values[kCosPointingAngle] = ((secondaryVertex[0] - collision.posX()) * v12.Px() +
(secondaryVertex[1] - collision.posY()) * v12.Py() +
(secondaryVertex[2] - collision.posZ()) * v12.Pz()) /
(v12.P() * values[VarManager::kVertexingLxyz]);
// Decay length defined as in Run 2
values[kVertexingLzProjected] = ((secondaryVertex[2] - collision.posZ()) * v12.Pz()) / TMath::Sqrt(v12.Pz() * v12.Pz());
Expand Down Expand Up @@ -4655,7 +4681,7 @@
values[kVertexingLxyErr] = (KFPV.GetCovariance(0) + KFGeoTwoProng.GetCovariance(0)) * dxPair2PV * dxPair2PV + (KFPV.GetCovariance(2) + KFGeoTwoProng.GetCovariance(2)) * dyPair2PV * dyPair2PV + 2 * ((KFPV.GetCovariance(1) + KFGeoTwoProng.GetCovariance(1)) * dxPair2PV * dyPair2PV);
values[kVertexingLzErr] = (KFPV.GetCovariance(5) + KFGeoTwoProng.GetCovariance(5)) * dzPair2PV * dzPair2PV;
values[kVertexingLxyzErr] = (KFPV.GetCovariance(0) + KFGeoTwoProng.GetCovariance(0)) * dxPair2PV * dxPair2PV + (KFPV.GetCovariance(2) + KFGeoTwoProng.GetCovariance(2)) * dyPair2PV * dyPair2PV + (KFPV.GetCovariance(5) + KFGeoTwoProng.GetCovariance(5)) * dzPair2PV * dzPair2PV + 2 * ((KFPV.GetCovariance(1) + KFGeoTwoProng.GetCovariance(1)) * dxPair2PV * dyPair2PV + (KFPV.GetCovariance(3) + KFGeoTwoProng.GetCovariance(3)) * dxPair2PV * dzPair2PV + (KFPV.GetCovariance(4) + KFGeoTwoProng.GetCovariance(4)) * dyPair2PV * dzPair2PV);
if (fabs(values[kVertexingLxy]) < 1.e-8f)

Check failure on line 4684 in PWGDQ/Core/VarManager.h

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
values[kVertexingLxy] = 1.e-8f;
values[kVertexingLxyErr] = values[kVertexingLxyErr] < 0. ? 1.e8f : std::sqrt(values[kVertexingLxyErr]) / values[kVertexingLxy];
if (fabs(values[kVertexingLz]) < 1.e-8f)
Expand Down Expand Up @@ -4995,9 +5021,9 @@
values[kVertexingTauzErr] = values[kVertexingLzErr] * v123.M() / (TMath::Abs(v123.Pz()) * o2::constants::physics::LightSpeedCm2NS);
values[kVertexingTauxyErr] = values[kVertexingLxyErr] * v123.M() / (v123.Pt() * o2::constants::physics::LightSpeedCm2NS);

values[kCosPointingAngle] = ((collision.posX() - secondaryVertex[0]) * v123.Px() +
(collision.posY() - secondaryVertex[1]) * v123.Py() +
(collision.posZ() - secondaryVertex[2]) * v123.Pz()) /
values[kCosPointingAngle] = ((secondaryVertex[0] - collision.posX()) * v123.Px() +
(secondaryVertex[1] - collision.posY()) * v123.Py() +
(secondaryVertex[2] - collision.posZ()) * v123.Pz()) /
(v123.P() * values[VarManager::kVertexingLxyz]);
// run 2 definitions: Decay length projected onto the momentum vector of the candidate
values[kVertexingLzProjected] = (secondaryVertex[2] - collision.posZ()) * v123.Pz();
Expand Down Expand Up @@ -5256,9 +5282,9 @@
values[kVertexingTauxyErr] = values[kVertexingLxyErr] * v123.M() / (v123.Pt() * o2::constants::physics::LightSpeedCm2NS);

if (fgUsedVars[kCosPointingAngle] && fgUsedVars[kVertexingLxyz]) {
values[VarManager::kCosPointingAngle] = ((collision.posX() - secondaryVertex[0]) * v123.Px() +
(collision.posY() - secondaryVertex[1]) * v123.Py() +
(collision.posZ() - secondaryVertex[2]) * v123.Pz()) /
values[VarManager::kCosPointingAngle] = ((secondaryVertex[0] - collision.posX()) * v123.Px() +
(secondaryVertex[1] - collision.posY()) * v123.Py() +
(secondaryVertex[2] - collision.posZ()) * v123.Pz()) /
(v123.P() * values[VarManager::kVertexingLxyz]);
}
// run 2 definitions: Lxy projected onto the momentum vector of the candidate
Expand Down Expand Up @@ -6283,9 +6309,9 @@
values[kVertexingTauzErr] = values[kVertexingLzErr] * v1234.M() / (TMath::Abs(v1234.Pz()) * o2::constants::physics::LightSpeedCm2NS);
values[kVertexingTauxyErr] = values[kVertexingLxyErr] * v1234.M() / (v1234.Pt() * o2::constants::physics::LightSpeedCm2NS);

values[kCosPointingAngle] = ((collision.posX() - secondaryVertex[0]) * v1234.Px() +
(collision.posY() - secondaryVertex[1]) * v1234.Py() +
(collision.posZ() - secondaryVertex[2]) * v1234.Pz()) /
values[kCosPointingAngle] = ((secondaryVertex[0] - collision.posX()) * v1234.Px() +
(secondaryVertex[1] - collision.posY()) * v1234.Py() +
(secondaryVertex[2] - collision.posZ()) * v1234.Pz()) /
(v1234.P() * values[VarManager::kVertexingLxyz]);
// // run 2 definitions: Decay length projected onto the momentum vector of the candidate
values[kVertexingLzProjected] = (secondaryVertex[2] - collision.posZ()) * v1234.Pz();
Expand Down
19 changes: 17 additions & 2 deletions PWGDQ/Tasks/dqEfficiency_withAssoc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,14 @@ DECLARE_SOA_COLUMN(Ptee, ptee, float);
DECLARE_SOA_COLUMN(Lxyee, lxyee, float);
DECLARE_SOA_COLUMN(LxyeePoleMass, lxyeepolemass, float);
DECLARE_SOA_COLUMN(Lzee, lzee, float);
DECLARE_SOA_COLUMN(LxyeePoleMassPVrecomputed, lxyeePoleMassPVrecomputed, float);
DECLARE_SOA_COLUMN(Vx, vx, float);
DECLARE_SOA_COLUMN(Vy, vy, float);
DECLARE_SOA_COLUMN(Vz, vz, float);
DECLARE_SOA_COLUMN(DcaXY1, dcaXY1, float);
DECLARE_SOA_COLUMN(DcaZ1, dcaZ1, float);
DECLARE_SOA_COLUMN(DcaXY2, dcaXY2, float);
DECLARE_SOA_COLUMN(DcaZ2, dcaZ2, float);
DECLARE_SOA_COLUMN(MultiplicityFT0A, multiplicityFT0AJPsi2ee, float);
DECLARE_SOA_COLUMN(MultiplicityFT0C, multiplicityFT0CJPsi2ee, float);
DECLARE_SOA_COLUMN(PercentileFT0M, percentileFT0MJPsi2ee, float);
Expand Down Expand Up @@ -218,7 +226,11 @@ DECLARE_SOA_TABLE(JPsiMuonCandidates, "AOD", "DQJPSIMUONA",
dqanalysisflags::MassDileptonCandidate, dqanalysisflags::Ptpair, dqanalysisflags::Etapair, dqanalysisflags::Ptassoc, dqanalysisflags::Etaassoc, dqanalysisflags::Phiassoc,
dqanalysisflags::Ptleg1, dqanalysisflags::Etaleg1, dqanalysisflags::Phileg1, dqanalysisflags::Ptleg2, dqanalysisflags::Etaleg2, dqanalysisflags::Phileg2,
dqanalysisflags::McFlag);
DECLARE_SOA_TABLE(JPsieeCandidates, "AOD", "DQPSEUDOPROPER", dqanalysisflags::Massee, dqanalysisflags::Ptee, dqanalysisflags::Etaee, dqanalysisflags::Rapee, dqanalysisflags::Phiee, dqanalysisflags::Lxyee, dqanalysisflags::LxyeePoleMass, dqanalysisflags::Lzee, dqanalysisflags::AmbiguousInBunchPairs, dqanalysisflags::AmbiguousOutOfBunchPairs, dqanalysisflags::Corrassoc, dqanalysisflags::MultiplicityFT0A, dqanalysisflags::MultiplicityFT0C, dqanalysisflags::PercentileFT0M, dqanalysisflags::MultiplicityNContrib);
DECLARE_SOA_TABLE(JPsieeCandidates, "AOD", "DQPSEUDOPROPER",
dqanalysisflags::Massee, dqanalysisflags::Ptee, dqanalysisflags::Etaee, dqanalysisflags::Rapee, dqanalysisflags::Phiee,
dqanalysisflags::Lxyee, dqanalysisflags::LxyeePoleMass, dqanalysisflags::Lzee, dqanalysisflags::LxyeePoleMassPVrecomputed,
dqanalysisflags::Vx, dqanalysisflags::Vy, dqanalysisflags::Vz, dqanalysisflags::DcaXY1, dqanalysisflags::DcaZ1, dqanalysisflags::ITSClusterMapleg1, dqanalysisflags::TPCnsigmaElleg1, dqanalysisflags::DcaXY2, dqanalysisflags::DcaZ2, dqanalysisflags::ITSClusterMapleg2, dqanalysisflags::TPCnsigmaElleg2,
dqanalysisflags::AmbiguousInBunchPairs, dqanalysisflags::AmbiguousOutOfBunchPairs, dqanalysisflags::Corrassoc, dqanalysisflags::MultiplicityFT0A, dqanalysisflags::MultiplicityFT0C, dqanalysisflags::PercentileFT0M, dqanalysisflags::MultiplicityNContrib);
DECLARE_SOA_TABLE(OniaMCTruth, "AOD", "MCTRUTHONIA", dqanalysisflags::OniaPt, dqanalysisflags::OniaEta, dqanalysisflags::OniaY, dqanalysisflags::OniaPhi, dqanalysisflags::OniaVz, dqanalysisflags::OniaVtxZ, dqanalysisflags::MultiplicityFT0A, dqanalysisflags::MultiplicityFT0C, dqanalysisflags::PercentileFT0M, dqanalysisflags::MultiplicityNContrib);
} // namespace o2::aod

Expand Down Expand Up @@ -2085,7 +2097,10 @@ struct AnalysisSameEventPairing {
fHistMan->FillHistClass(histNames[icut][0].Data(), VarManager::fgValues); // reconstructed, unmatched
for (unsigned int isig = 0; isig < fRecMCSignals.size(); isig++) { // loop over MC signals
if (mcDecision & (static_cast<uint32_t>(1) << isig)) {
PromptNonPromptSepTable(VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kEta], VarManager::fgValues[VarManager::kRap], VarManager::fgValues[VarManager::kPhi], VarManager::fgValues[VarManager::kVertexingTauxyProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass], VarManager::fgValues[VarManager::kVertexingTauzProjected], isAmbiInBunch, isAmbiOutOfBunch, isCorrect_pair, VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
PromptNonPromptSepTable(VarManager::fgValues[VarManager::kMass], VarManager::fgValues[VarManager::kPt], VarManager::fgValues[VarManager::kEta], VarManager::fgValues[VarManager::kRap], VarManager::fgValues[VarManager::kPhi],
VarManager::fgValues[VarManager::kVertexingTauxyProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMass], VarManager::fgValues[VarManager::kVertexingTauzProjected], VarManager::fgValues[VarManager::kVertexingTauxyProjectedPoleJPsiMassRecalculatePV],
VarManager::fgValues[VarManager::kVtxX], VarManager::fgValues[VarManager::kVtxY], VarManager::fgValues[VarManager::kVtxZ], VarManager::fgValues[VarManager::kDCAxy1], VarManager::fgValues[VarManager::kDCAz1], VarManager::fgValues[VarManager::kITSclusterMap1], VarManager::fgValues[VarManager::kTPCnSigmaEl1], VarManager::fgValues[VarManager::kDCAxy2], VarManager::fgValues[VarManager::kDCAz2], VarManager::fgValues[VarManager::kITSclusterMap2], VarManager::fgValues[VarManager::kTPCnSigmaEl2],
isAmbiInBunch, isAmbiOutOfBunch, isCorrect_pair, VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
fHistMan->FillHistClass(histNamesMC[icut * fRecMCSignals.size() + isig][0].Data(), VarManager::fgValues); // matched signal
if (useMiniTree.fConfigMiniTree) {
if constexpr (TPairType == VarManager::kDecayToMuMu) {
Expand Down
Loading
Loading