Skip to content

Commit f7e9c6f

Browse files
authored
PWGMM/Mult/Tasks/heavy-ion-mult.cxx: Bug fixes in "processStrangeYield" process function (AliceO2Group#8062)
1 parent 8843dd8 commit f7e9c6f

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

PWGMM/Mult/Tasks/heavy-ion-mult.cxx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ using TrackMCTrueTable = aod::McParticles;
6060
using CollisionMCRecTable = soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::CentFT0Cs, aod::EvSels, aod::Mults>>;
6161
using TrackMCRecTable = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::McTrackLabels, aod::TrackSelection>;
6262
using FilTrackMCRecTable = soa::Filtered<TrackMCRecTable>;
63+
using v0trackcandidates = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTPCFullPr>;
6364

6465
enum {
6566
kTrackTypebegin = 0,
@@ -120,15 +121,15 @@ struct HeavyIonMultiplicity {
120121
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
121122
Service<o2::framework::O2DatabasePDG> pdg;
122123
Preslice<TrackMCRecTable> perCollision = aod::track::collisionId;
123-
Preslice<aod::V0Datas> percolv0 = o2::aod::v0data::collisionId;
124124

125125
Configurable<float> etaRange{"eta-range", 1.0f, "Eta range to consider"};
126126
Configurable<float> VtxRange{"vertex-range", 10.0f, "Vertex Z range to consider"};
127127
Configurable<float> dcaZ{"dcaZ", 0.2f, "Custom DCA Z cut (ignored if negative)"};
128-
Configurable<float> v0radiusCut{"v0radiusCut", 2, "RadiusCut"};
129-
Configurable<float> dcapostopvCut{"dcapostopvCut", 1, "dcapostopvCut"};
130-
Configurable<float> dcanegtopvCut{"dcanegtopvCut", 1, "dcanegtopvCut"};
131-
Configurable<float> v0cospaCut{"v0cospaCut", 0.97, "v0cospaCut"};
128+
Configurable<float> v0radiusCut{"v0radiusCut", 1.2f, "RadiusCut"};
129+
Configurable<float> dcapostopvCut{"dcapostopvCut", 0.05f, "dcapostopvCut"};
130+
Configurable<float> dcanegtopvCut{"dcanegtopvCut", 0.05f, "dcanegtopvCut"};
131+
Configurable<float> v0cospaCut{"v0cospaCut", 0.995f, "v0cospaCut"};
132+
Configurable<float> dcav0daughtercut{"dcav0daughtercut", 1.0f, "dcav0daughtercut"};
132133
ConfigurableAxis multHistBin{"MultDistBinning", {501, -0.5, 500.5}, ""};
133134
ConfigurableAxis PVHistBin{"PVDistBinning", {501, -0.5, 500.5}, ""};
134135
ConfigurableAxis FV0AmultHistBin{"FV0AMultDistBinning", {501, -0.5, 500.5}, ""};
@@ -224,6 +225,7 @@ struct HeavyIonMultiplicity {
224225
}
225226

226227
if (doprocessStrangeYield) {
228+
histos.add("hzvtxcent", "hzvtxcent", kTH2D, {axisVtxZ, CentAxis}, false);
227229
histos.add("K0sCentEtaMass", "K0sCentEtaMass", kTH3D, {CentAxis, axisEta, AxisMassK0s}, false);
228230
histos.add("LambdaCentEtaMass", "LambdaCentEtaMass", kTH3D, {CentAxis, axisEta, AxisMassLambda}, false);
229231
histos.add("AntiLambdaCentEtaMass", "AntiLambdaCentEtaMass", kTH3D, {CentAxis, axisEta, AxisMassLambda}, false);
@@ -573,19 +575,19 @@ struct HeavyIonMultiplicity {
573575
}
574576
PROCESS_SWITCH(HeavyIonMultiplicity, processMCfillspecies, "Fill particle species in MC", false);
575577

576-
void processStrangeYield(CollisionDataTable::iterator const& collision, aod::V0Datas const& v0data, soa::Join<aod::Tracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFPr> const&)
578+
void processStrangeYield(CollisionDataTable::iterator const& collision, v0trackcandidates const&, aod::V0Datas const& v0data)
577579
{
578580
if (!IsEventSelected(collision)) {
579581
return;
580582
}
581583
if (std::abs(collision.posZ()) >= VtxRange) {
582584
return;
583585
}
584-
auto v0tracks = v0data.sliceBy(percolv0, collision.globalIndex());
585-
for (auto& v0track : v0tracks) {
586-
auto v0pTrack = v0track.template posTrack_as<soa::Join<aod::Tracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFPr>>();
587-
auto v0nTrack = v0track.template negTrack_as<soa::Join<aod::Tracks, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFPr>>();
588-
if (v0track.v0radius() > v0radiusCut || v0track.dcapostopv() > dcapostopvCut || v0track.dcanegtopv() > dcanegtopvCut || v0track.v0cosPA() < v0cospaCut) {
586+
histos.fill(HIST("hzvtxcent"), collision.posZ(), collision.centFT0C());
587+
for (auto& v0track : v0data) {
588+
auto v0pTrack = v0track.template posTrack_as<v0trackcandidates>();
589+
auto v0nTrack = v0track.template negTrack_as<v0trackcandidates>();
590+
if (std::abs(v0track.dcapostopv()) < dcapostopvCut || std::abs(v0track.dcanegtopv()) < dcanegtopvCut || v0track.v0radius() < v0radiusCut || v0track.v0cosPA() < v0cospaCut || std::abs(v0track.dcaV0daughters()) > dcav0daughtercut) {
589591
continue;
590592
}
591593
if (std::abs(v0pTrack.eta()) > 0.9 || std::abs(v0nTrack.eta()) > 0.9) {

0 commit comments

Comments
 (0)