⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
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
6 changes: 3 additions & 3 deletions PWGLF/DataModel/LFHStrangeCorrelationTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@

#include "CommonConstants/PhysicsConstants.h"
#include "Framework/AnalysisDataModel.h"

#include <cmath>
#include <Framework/ASoA.h>

// Simple checker
#define bitcheck(var, nbit) ((var) & (1 << (nbit)))
Expand All @@ -42,11 +41,12 @@
namespace triggerTracks
{
DECLARE_SOA_INDEX_COLUMN(Collision, collision); //!
DECLARE_SOA_COLUMN(MCPhysicalPrimary, mcPhysicalPrimary, bool); // true physical primary flag

Check failure on line 44 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_INDEX_COLUMN_FULL(Track, track, int, Tracks, "_Trigger"); //!
DECLARE_SOA_COLUMN(MCOriginalPt, mcOriginalPt, float); // true generated pt

Check failure on line 46 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(IsLeading, isLeading, bool); // is leading track in the event
} // namespace triggerTracks
DECLARE_SOA_TABLE(TriggerTracks, "AOD", "TRIGGERTRACKS", o2::soa::Index<>, triggerTracks::CollisionId, triggerTracks::MCPhysicalPrimary, triggerTracks::TrackId, triggerTracks::MCOriginalPt);
DECLARE_SOA_TABLE(TriggerTracks, "AOD", "TRIGGERTRACKS", o2::soa::Index<>, triggerTracks::CollisionId, triggerTracks::MCPhysicalPrimary, triggerTracks::TrackId, triggerTracks::MCOriginalPt, triggerTracks::IsLeading);
namespace triggerTrackExtras
{
DECLARE_SOA_COLUMN(Extra, extra, int); // true physical primary flag
Expand Down Expand Up @@ -103,7 +103,7 @@
return true;
if (value == 1 && bitcheck(cLambda, compatibilityLevel))
return true;
if (value == 2 && bitcheck(cAntiLambda, compatibilityLevel))

Check failure on line 106 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
return false;
});
Expand All @@ -113,7 +113,7 @@
return rK0Short;
if (value == 1)
return rLambda;
if (value == 2)

Check failure on line 116 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 rAntiLambda;
return 1000.0f;
});
Expand All @@ -123,7 +123,7 @@
return true;
if (value == 1 && mcTrueLambda == true)
return true;
if (value == 2 && mcTrueAntiLambda == true)

Check failure on line 126 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
return false;
});
Expand Down Expand Up @@ -169,9 +169,9 @@
return true;
if (value == 1 && bitcheck(cXiPlus, compatibilityLevel))
return true;
if (value == 2 && bitcheck(cOmegaMinus, compatibilityLevel))

Check failure on line 172 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
if (value == 3 && bitcheck(cOmegaPlus, compatibilityLevel))

Check failure on line 174 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
return false;
});
Expand All @@ -179,7 +179,7 @@
[](float rXi, float rOmega, int value) -> float {
if (value == 0 || value == 1)
return rXi;
if (value == 2 || value == 3)

Check failure on line 182 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 rOmega;
return 1000.0f;
});
Expand All @@ -189,9 +189,9 @@
return true;
if (value == 1 && mcTrueXiPlus == true)
return true;
if (value == 2 && mcTrueOmegaMinus == true)

Check failure on line 192 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
if (value == 3 && mcTrueOmegaPlus == true)

Check failure on line 194 in PWGLF/DataModel/LFHStrangeCorrelationTables.h

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 true;
return false;
});
Expand Down
136 changes: 93 additions & 43 deletions PWGLF/TableProducer/Strangeness/hStrangeCorrelationFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
#include "Common/DataModel/TrackSelectionTables.h"

#include "CCDB/BasicCCDBManager.h"
#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"
#include <Framework/Configurable.h>

#include "TF1.h"
#include <TPDGCode.h>
Expand All @@ -49,8 +49,8 @@ using namespace o2::framework::expressions;
#define BIT_CHECK(var, nbit) ((var) & (1 << (nbit)))

struct HStrangeCorrelationFilter {
const float ctauxiPDG = 4.91; // from PDG
const float ctauomegaPDG = 2.461; // from PDG
const float ctauxi = 4.91; // from PDG
const float ctauomega = 2.461; // from PDG

Service<o2::ccdb::BasicCCDBManager> ccdb;

Expand All @@ -59,6 +59,8 @@ struct HStrangeCorrelationFilter {
// master analysis switches
Configurable<bool> doPPAnalysis{"doPPAnalysis", true, "if in pp, set to true"};
Configurable<bool> useParameterization{"useParameterization", true, "ture for parameterization method, false for hist method"};
Configurable<float> minPtForParam{"minPtForParam", 0.2f, "min pt for parameterization method"};
Configurable<float> maxPtForParam{"maxPtForParam", 14.5f, "max pt for parameterization method"};
// Operational
Configurable<bool> fillTableOnlyWithCompatible{"fillTableOnlyWithCompatible", true, "pre-apply dE/dx, broad mass window in table filling"};
Configurable<float> strangedEdxNSigmaLoose{"strangedEdxNSigmaLoose", 5, "Nsigmas for strange decay daughters"};
Expand All @@ -76,6 +78,8 @@ struct HStrangeCorrelationFilter {
Configurable<float> zVertexCut{"zVertexCut", 10, "Cut on PV position"};
Configurable<bool> selectINELgtZERO{"selectINELgtZERO", true, "select INEL>0 events"};
Configurable<bool> requireAllGoodITSLayers{"requireAllGoodITSLayers", false, " require that in the event all ITS are good"};
Configurable<float> minCentPercent{"minCentPercent", 0, "minimum centrality percentage"};
Configurable<float> maxCentPercent{"maxCentPercent", 100, "maximum centrality percentage"};
} eventSelections;

struct : ConfigurableGroup {
Expand Down Expand Up @@ -137,6 +141,10 @@ struct HStrangeCorrelationFilter {
Configurable<float> dcaBachtopv{"dcaBachtopv", 0.1, "dcaBachtopv"};
Configurable<float> cascV0masswindow{"cascV0masswindow", 0.01, "cascV0masswindow"};
Configurable<float> cascMindcav0topv{"cascMindcav0topv", 0.01, "cascMindcav0topv"};

// pt Range for pt dep cuts
Configurable<float> highPtForCascDaugPtDep{"highPtForCascDaugPtDep", 4.0, "high pt range for pt dep cuts"};
Configurable<float> lowPtForCascDaugPtDep{"lowPtForCascDaugPtDep", 1.0, "low pt range for pt dep cuts"};
} systCuts;
struct : ConfigurableGroup {
// cascade selections in PbPb
Expand Down Expand Up @@ -237,6 +245,17 @@ struct HStrangeCorrelationFilter {
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
int mRunNumber;

struct TriggCandidate {
float pt;
int collisionId;
int trackId;
bool isPhysicalPrimary;
float origPt;
};
TriggCandidate thisTrigg;

std::vector<TriggCandidate> triggerCandidates;

void init(InitContext const&)
{
zorroSummary.setObject(zorro.getZorroSummary());
Expand Down Expand Up @@ -326,7 +345,7 @@ struct HStrangeCorrelationFilter {
if (std::abs(collision.posZ()) > eventSelections.zVertexCut) {
return false;
}
if (collision.centFT0M() > 100 || collision.centFT0M() < 0) {
if (collision.centFT0M() > eventSelections.maxCentPercent || collision.centFT0M() < eventSelections.minCentPercent) {
return false;
}
if (!collision.isInelGt0() && eventSelections.selectINELgtZERO) {
Expand Down Expand Up @@ -443,13 +462,13 @@ struct HStrangeCorrelationFilter {

bool physicalPrimary = false;
float origPt = -1;
float pdgCode = -9999;
float code = -9999;
if constexpr (requires { assoc.mcParticle(); }) {
if (assoc.has_mcParticle()) {
auto mcParticle = assoc.mcParticle();
physicalPrimary = mcParticle.isPhysicalPrimary();
origPt = mcParticle.pt();
pdgCode = mcParticle.pdgCode();
code = mcParticle.pdgCode();
}
}

Expand All @@ -458,7 +477,7 @@ struct HStrangeCorrelationFilter {
physicalPrimary,
assoc.globalIndex(),
origPt,
pdgCode);
code);
assocPID(
nSigmaTPCTOF[0],
nSigmaTPCTOF[1],
Expand All @@ -473,7 +492,7 @@ struct HStrangeCorrelationFilter {

// cascadeselection in PbPb
template <typename TCascade>
bool CascadeSelectedPbPb(TCascade casc, float pvx, float pvy, float pvz)
bool cascadeSelectedPbPb(TCascade casc, float pvx, float pvy, float pvz)
{
// bachBaryonCosPA
if (casc.bachBaryonCosPA() < MorePbPbsystCuts.bachBaryonCosPA)
Expand All @@ -486,9 +505,9 @@ struct HStrangeCorrelationFilter {
return false;
// dcacascdaughters
float ptDepCut = MorePbPbsystCuts.dcaCacsDauPar0;
if (casc.pt() > 1 && casc.pt() < 4)
if (casc.pt() > systCuts.lowPtForCascDaugPtDep && casc.pt() < systCuts.highPtForCascDaugPtDep)
ptDepCut = MorePbPbsystCuts.dcaCacsDauPar1;
else if (casc.pt() > 4)
else if (casc.pt() > systCuts.highPtForCascDaugPtDep)
ptDepCut = MorePbPbsystCuts.dcaCacsDauPar2;
if (casc.dcacascdaughters() > ptDepCut)
return false;
Expand Down Expand Up @@ -516,48 +535,79 @@ struct HStrangeCorrelationFilter {
// for real data processing
void processTriggers(soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs, aod::PVMults>::iterator const& collision, soa::Filtered<FullTracks> const& tracks, aod::BCsWithTimestamps const&)
{
triggerCandidates.clear();
if (((doPPAnalysis && !isCollisionSelected(collision))) || (!doPPAnalysis && !isCollisionSelectedPbPb(collision))) {
return;
}

/// _________________________________________________
/// Step 1: Populate table with trigger tracks
double leadingPt = -1.;
int leadingId = -1;
for (auto const& track : tracks) {
if (!isValidTrigger(track))
continue;
thisTrigg.pt = track.pt();
thisTrigg.trackId = track.globalIndex();
thisTrigg.collisionId = track.collisionId();
thisTrigg.isPhysicalPrimary = false; // if you decide to check real data for primaries, you'll have a hard time
thisTrigg.origPt = 0;
triggerCandidates.push_back(thisTrigg);
if (track.pt() > leadingPt) {
leadingPt = track.pt();
leadingId = track.globalIndex();
}
}
for (auto const& TriggCandidate : triggerCandidates) {
bool isLeading = (leadingId == TriggCandidate.trackId);
triggerTrack(
track.collisionId(),
false, // if you decide to check real data for primaries, you'll have a hard time
track.globalIndex(),
0);
TriggCandidate.collisionId,
TriggCandidate.isPhysicalPrimary,
TriggCandidate.trackId,
TriggCandidate.origPt,
isLeading);
triggerTrackExtra(1);
}
}

// for MC processing
void processTriggersMC(soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs, aod::PVMults>::iterator const& collision, soa::Filtered<FullTracksMC> const& tracks, aod::McParticles const&, aod::BCsWithTimestamps const&)
{
triggerCandidates.clear();
if (((doPPAnalysis && !isCollisionSelected(collision))) || (!doPPAnalysis && !isCollisionSelectedPbPb(collision))) {
return;
}

/// _________________________________________________
/// Step 1: Populate table with trigger tracks
double leadingPt = -1.;
int leadingId = -1;
for (auto const& track : tracks) {
if (!isValidTrigger(track))
continue;
bool physicalPrimary = false;
float origPt = -1;
thisTrigg.pt = track.pt();
thisTrigg.trackId = track.globalIndex();
thisTrigg.collisionId = track.collisionId();
if (track.has_mcParticle()) {
auto mcParticle = track.mcParticle();
physicalPrimary = mcParticle.isPhysicalPrimary();
origPt = mcParticle.pt();
thisTrigg.isPhysicalPrimary = mcParticle.isPhysicalPrimary();
thisTrigg.origPt = mcParticle.pt();
}
triggerCandidates.push_back(thisTrigg);
if (track.pt() > leadingPt) {
leadingPt = track.pt();
leadingId = track.globalIndex();
}
}

for (auto const& TriggCandidate : triggerCandidates) {
bool isLeading = (leadingId == TriggCandidate.trackId);
triggerTrack(
track.collisionId(),
physicalPrimary,
track.globalIndex(),
origPt);
TriggCandidate.collisionId,
TriggCandidate.isPhysicalPrimary,
TriggCandidate.trackId,
TriggCandidate.origPt,
isLeading);
triggerTrackExtra(1);
}
}
Expand All @@ -571,7 +621,7 @@ struct HStrangeCorrelationFilter {
return;
}
// No need to correlate stuff that's in far collisions
if (std::abs(collision.posZ()) > 10.0) {
if (std::abs(collision.posZ()) > eventSelections.zVertexCut) {
return;
}
if (zorroMask.value != "") {
Expand Down Expand Up @@ -599,7 +649,7 @@ struct HStrangeCorrelationFilter {
return;
}
// No need to correlate stuff that's in far collisions
if (std::abs(collision.posZ()) > 10.0) {
if (std::abs(collision.posZ()) > eventSelections.zVertexCut) {
return;
}
if (zorroMask.value != "") {
Expand Down Expand Up @@ -627,7 +677,7 @@ struct HStrangeCorrelationFilter {
return;
}
// No need to correlate stuff that's in far collisions
if (std::abs(collision.posZ()) > 10.0) {
if (std::abs(collision.posZ()) > eventSelections.zVertexCut) {
return;
}
if (zorroMask.value != "") {
Expand All @@ -654,7 +704,7 @@ struct HStrangeCorrelationFilter {
return;
}
// No need to correlate stuff that's in far collisions
if (std::abs(collision.posZ()) > 10.0) {
if (std::abs(collision.posZ()) > eventSelections.zVertexCut) {
return;
}
if (zorroMask.value != "") {
Expand Down Expand Up @@ -782,7 +832,7 @@ struct HStrangeCorrelationFilter {
// Load parameters for sideband subtraction
initParametersFromCCDB(bc);
// simplified handling: calculate NSigma in mass here
if (v0.pt() < 0.2f || v0.pt() > 14.5f) {
if (v0.pt() < minPtForParam || v0.pt() > maxPtForParam) {
massNSigmaK0Short = (v0.mK0Short() - hK0ShortMean->GetBinContent(hK0ShortMean->FindBin(v0.pt()))) / (hK0ShortWidth->GetBinContent(hK0ShortWidth->FindBin(v0.pt())) + 1e-6);
massNSigmaLambda = (v0.mLambda() - hLambdaMean->GetBinContent(hLambdaMean->FindBin(v0.pt()))) / (hLambdaWidth->GetBinContent(hLambdaMean->FindBin(v0.pt())) + 1e-6);
massNSigmaAntiLambda = (v0.mAntiLambda() - hLambdaMean->GetBinContent(hLambdaMean->FindBin(v0.pt()))) / (hLambdaWidth->GetBinContent(hLambdaMean->FindBin(v0.pt())) + 1e-6);
Expand Down Expand Up @@ -924,7 +974,7 @@ struct HStrangeCorrelationFilter {
// Load parameters for sideband subtraction
initParametersFromCCDB(bc);
// simplified handling: calculate NSigma in mass here
if (v0.pt() < 0.2f || v0.pt() > 14.5f) {
if (v0.pt() < minPtForParam || v0.pt() > maxPtForParam) {
massNSigmaK0Short = (v0.mK0Short() - hK0ShortMean->GetBinContent(hK0ShortMean->FindBin(v0.pt()))) / (hK0ShortWidth->GetBinContent(hK0ShortWidth->FindBin(v0.pt())) + 1e-6);
massNSigmaLambda = (v0.mLambda() - hLambdaMean->GetBinContent(hLambdaMean->FindBin(v0.pt()))) / (hLambdaWidth->GetBinContent(hLambdaMean->FindBin(v0.pt())) + 1e-6);
massNSigmaAntiLambda = (v0.mAntiLambda() - hLambdaMean->GetBinContent(hLambdaMean->FindBin(v0.pt()))) / (hLambdaWidth->GetBinContent(hLambdaMean->FindBin(v0.pt())) + 1e-6);
Expand All @@ -939,11 +989,11 @@ struct HStrangeCorrelationFilter {
bool trueLambda = false;
bool trueAntiLambda = false;
v0PhysicalPrimary = v0.isPhysicalPrimary();
if (v0.pdgCode() == 310)
if (v0.pdgCode() == PDG_t::kK0Short)
trueK0Short = true;
if (v0.pdgCode() == 3122)
if (v0.pdgCode() == PDG_t::kLambda0)
trueLambda = true;
if (v0.pdgCode() == -3122)
if (v0.pdgCode() == PDG_t::kLambda0Bar)
trueAntiLambda = true;
if (compatibleK0Short && (!doTrueSelectionInMass || (trueK0Short && v0PhysicalPrimary)))
histos.fill(HIST("h3dMassK0Short"), v0.pt(), v0.mK0Short(), cent);
Expand Down Expand Up @@ -999,7 +1049,7 @@ struct HStrangeCorrelationFilter {
continue;
if (negTrackCast.tpcNClsCrossedRows() < systCuts.minTPCNCrossedRows)
continue;
if (!doPPAnalysis && !CascadeSelectedPbPb(casc, collision.posX(), collision.posY(), collision.posZ()))
if (!doPPAnalysis && !cascadeSelectedPbPb(casc, collision.posX(), collision.posY(), collision.posZ()))
continue;
// check dE/dx compatibility
int compatibleXiMinus = 0;
Expand All @@ -1008,8 +1058,8 @@ struct HStrangeCorrelationFilter {
int compatibleOmegaPlus = 0;
float cascpos = std::hypot(casc.x() - collision.posX(), casc.y() - collision.posY(), casc.z() - collision.posZ());
float cascptotmom = std::hypot(casc.px(), casc.py(), casc.pz());
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * ctauxiPDG);
float ctauOmega = o2::constants::physics::MassOmegaMinus * cascpos / ((cascptotmom + 1e-13) * ctauomegaPDG);
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * ctauxi);
float ctauOmega = o2::constants::physics::MassOmegaMinus * cascpos / ((cascptotmom + 1e-13) * ctauomega);

if (std::abs(posTrackCast.tpcNSigmaPr()) < strangedEdxNSigmaLoose && std::abs(negTrackCast.tpcNSigmaPi()) < strangedEdxNSigmaLoose && std::abs(bachTrackCast.tpcNSigmaPi()) < strangedEdxNSigmaLoose && casc.sign() < 0) {
if (doPPAnalysis || (std::abs(casc.dcabachtopv()) > MorePbPbsystCuts.dcaBachToPV && std::abs(casc.dcapostopv()) > MorePbPbsystCuts.dcaBaryonToPV &&
Expand Down Expand Up @@ -1106,7 +1156,7 @@ struct HStrangeCorrelationFilter {
} else {
// Load parameters for sideband subtraction
initParametersFromCCDB(bc);
if (casc.pt() < 0.2f || casc.pt() > 14.5f) {
if (casc.pt() < minPtForParam || casc.pt() > maxPtForParam) {
massNSigmaXi = (casc.mXi() - hXiMean->GetBinContent(hXiMean->FindBin(casc.pt()))) / (hXiWidth->GetBinContent(hXiWidth->FindBin(casc.pt())) + 1e-6);
massNSigmaOmega = (casc.mOmega() - hOmegaMean->GetBinContent(hOmegaMean->FindBin(casc.pt()))) / (hOmegaWidth->GetBinContent(hOmegaWidth->FindBin(casc.pt())) + 1e-6);
} else {
Expand Down Expand Up @@ -1171,7 +1221,7 @@ struct HStrangeCorrelationFilter {
continue;
if (negTrackCast.tpcNClsCrossedRows() < systCuts.minTPCNCrossedRows)
continue;
if (!doPPAnalysis && !CascadeSelectedPbPb(casc, collision.posX(), collision.posY(), collision.posZ()))
if (!doPPAnalysis && !cascadeSelectedPbPb(casc, collision.posX(), collision.posY(), collision.posZ()))
continue;

// check dE/dx compatibility
Expand All @@ -1181,8 +1231,8 @@ struct HStrangeCorrelationFilter {
int compatibleOmegaPlus = 0;
float cascpos = std::hypot(casc.x() - collision.posX(), casc.y() - collision.posY(), casc.z() - collision.posZ());
float cascptotmom = std::hypot(casc.px(), casc.py(), casc.pz());
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * ctauxiPDG);
float ctauOmega = o2::constants::physics::MassOmegaMinus * cascpos / ((cascptotmom + 1e-13) * ctauomegaPDG);
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * ctauxi);
float ctauOmega = o2::constants::physics::MassOmegaMinus * cascpos / ((cascptotmom + 1e-13) * ctauomega);

if (std::abs(posTrackCast.tpcNSigmaPr()) < strangedEdxNSigmaLoose && std::abs(negTrackCast.tpcNSigmaPi()) < strangedEdxNSigmaLoose && std::abs(bachTrackCast.tpcNSigmaPi()) < strangedEdxNSigmaLoose && casc.sign() < 0) {
if (doPPAnalysis || (std::abs(casc.dcabachtopv()) > MorePbPbsystCuts.dcaBachToPV && std::abs(casc.dcapostopv()) > MorePbPbsystCuts.dcaBaryonToPV &&
Expand Down Expand Up @@ -1279,7 +1329,7 @@ struct HStrangeCorrelationFilter {
} else {
// Load parameters for sideband subtraction
initParametersFromCCDB(bc);
if (casc.pt() < 0.2f || casc.pt() > 14.5f) {
if (casc.pt() < minPtForParam || casc.pt() > maxPtForParam) {
massNSigmaXi = (casc.mXi() - hXiMean->GetBinContent(hXiMean->FindBin(casc.pt()))) / (hXiWidth->GetBinContent(hXiWidth->FindBin(casc.pt())) + 1e-6);
massNSigmaOmega = (casc.mOmega() - hOmegaMean->GetBinContent(hOmegaMean->FindBin(casc.pt()))) / (hOmegaWidth->GetBinContent(hOmegaWidth->FindBin(casc.pt())) + 1e-6);
} else {
Expand All @@ -1294,13 +1344,13 @@ struct HStrangeCorrelationFilter {
bool trueOmegaMinus = false;
bool trueOmegaPlus = false;
cascPhysicalPrimary = casc.isPhysicalPrimary();
if (casc.pdgCode() == 3312)
if (casc.pdgCode() == PDG_t::kXiMinus)
trueXiMinus = true;
if (casc.pdgCode() == -3312)
if (casc.pdgCode() == PDG_t::kXiPlusBar)
trueXiPlus = true;
if (casc.pdgCode() == 3334)
if (casc.pdgCode() == PDG_t::kOmegaMinus)
trueOmegaMinus = true;
if (casc.pdgCode() == -3334)
if (casc.pdgCode() == PDG_t::kOmegaPlusBar)
trueOmegaPlus = true;
if (compatibleXiMinus && (!doTrueSelectionInMass || (trueXiMinus && cascPhysicalPrimary)))
histos.fill(HIST("h3dMassXiMinus"), casc.pt(), casc.mXi(), cent);
Expand Down
Loading
Loading