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
38 changes: 4 additions & 34 deletions PWGLF/TableProducer/Strangeness/cascqaanalysis.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
#include <TString.h>

#include <algorithm>
#include <array>
#include <cmath>
#include <cstdint>
#include <cstdlib>
Expand Down Expand Up @@ -85,12 +84,6 @@ struct Cascqaanalysis {
kNEventTypeBins
};

static constexpr std::array<std::pair<EventTypeBin, const char*>, kNEventTypeBins> EventTypeBinLabels{{
{kINEL, "INEL"},
{kINELgt0, "INEL>0"},
{kINELgt1, "INEL>1"},
}};

// Axes
ConfigurableAxis ptAxis{"ptAxis", {200, 0.0f, 10.0f}, "#it{p}_{T} (GeV/#it{c})"};
ConfigurableAxis rapidityAxis{"rapidityAxis", {200, -2.0f, 2.0f}, "y"};
Expand All @@ -112,6 +105,7 @@ struct Cascqaanalysis {

// Event selection criteria
Configurable<float> cutzvertex{"cutzvertex", 10.0f, "Accepted z-vertex range (cm)"};
Configurable<float> cutzvertexGen{"cutzvertexGen", -1.0f, "Accepted generated z-vertex range (cm); negative disables the cut"};
Configurable<bool> isVertexITSTPC{"isVertexITSTPC", 0, "Select collisions with at least one ITS-TPC track"};
Configurable<bool> isNoSameBunchPileup{"isNoSameBunchPileup", 0, "Same found-by-T0 bunch crossing rejection"};
Configurable<bool> isGoodZvtxFT0vsPV{"isGoodZvtxFT0vsPV", 0, "z of PV by tracks and z of PV from FT0 A-C time difference cut"};
Expand Down Expand Up @@ -213,14 +207,6 @@ struct Cascqaanalysis {
o2::constants::physics::MassOmegaMinus * decayLength * invMomentum};
}

template <typename TAxisType>
static void setEventTypeAxisLabels(TAxisType* axis)
{
for (const auto& [bin, label] : EventTypeBinLabels) {
axis->SetBinLabel(static_cast<int>(bin) + 1, label);
}
}

void init(InitContext const&)
{
TString hCandidateCounterLabels[4] = {"All candidates", "passed topo cuts", "has associated MC particle", "associated with Xi(Omega)"};
Expand Down Expand Up @@ -255,17 +241,9 @@ struct Cascqaanalysis {
registry.add("hNchFT0MGenEvType", "hNchFT0MGenEvType", {HistType::kTH2D, {nChargedFT0MGenAxis, eventTypeAxis}});
registry.add("hNchFV0AGenEvType", "hNchFV0AGenEvType", {HistType::kTH2D, {nChargedFV0AGenAxis, eventTypeAxis}});
registry.add("hCentFT0M_genMC", "hCentFT0M_genMC", {HistType::kTH2D, {centFT0MAxis, eventTypeAxis}});
setEventTypeAxisLabels(registry.get<TH2>(HIST("hEventTypeRecVsGen"))->GetXaxis());
setEventTypeAxisLabels(registry.get<TH2>(HIST("hEventTypeRecVsGen"))->GetYaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hNchFT0MNAssocMCCollisions"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hNchFT0MNAssocMCCollisionsSameType"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH2>(HIST("hNchFT0MGenEvType"))->GetYaxis());
setEventTypeAxisLabels(registry.get<TH2>(HIST("hNchFV0AGenEvType"))->GetYaxis());
setEventTypeAxisLabels(registry.get<TH2>(HIST("hCentFT0M_genMC"))->GetYaxis());
}

registry.add("hCentFT0M_rec", "hCentFT0M_rec", {HistType::kTH2D, {centFT0MAxis, eventTypeAxis}});
setEventTypeAxisLabels(registry.get<TH2>(HIST("hCentFT0M_rec"))->GetYaxis());

if (candidateQA) {
registry.add("hNcandidates", "hNcandidates", {HistType::kTH3D, {nCandidates, centFT0MAxis, {2, -0.5f, 1.5f}}});
Expand All @@ -279,21 +257,13 @@ struct Cascqaanalysis {
registry.add("hNchFT0Mglobal", "hNchFT0Mglobal", {HistType::kTH3D, {nChargedFT0MGenAxis, multNTracksAxis, eventTypeAxis}});
registry.add("hNchFT0MPVContr", "hNchFT0MPVContr", {HistType::kTH3D, {nChargedFT0MGenAxis, multNTracksAxis, eventTypeAxis}});
registry.add("hNchFV0APVContr", "hNchFV0APVContr", {HistType::kTH3D, {nChargedFV0AGenAxis, multNTracksAxis, eventTypeAxis}});
setEventTypeAxisLabels(registry.get<TH3>(HIST("hNchFT0Mglobal"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hNchFT0MPVContr"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hNchFV0APVContr"))->GetZaxis());
}
registry.add("hFT0MpvContr", "hFT0MpvContr", {HistType::kTH3D, {centFT0MAxis, multNTracksAxis, eventTypeAxis}});
registry.add("hFV0ApvContr", "hFV0ApvContr", {HistType::kTH3D, {centFV0AAxis, multNTracksAxis, eventTypeAxis}});
registry.add("hFT0Mglobal", "hFT0Mglobal", {HistType::kTH3D, {centFT0MAxis, multNTracksAxis, eventTypeAxis}});
registry.add("hFV0AFT0M", "hFV0AFT0M", {HistType::kTH3D, {centFV0AAxis, centFT0MAxis, eventTypeAxis}});
registry.add("hFT0MFV0Asignal", "hFT0MFV0Asignal", {HistType::kTH2D, {signalFT0MAxis, signalFV0AAxis}});
registry.add("hFT0MsignalPVContr", "hFT0MsignalPVContr", {HistType::kTH3D, {signalFT0MAxis, multNTracksAxis, eventTypeAxis}});
setEventTypeAxisLabels(registry.get<TH3>(HIST("hFT0MpvContr"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hFV0ApvContr"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hFT0Mglobal"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hFV0AFT0M"))->GetZaxis());
setEventTypeAxisLabels(registry.get<TH3>(HIST("hFT0MsignalPVContr"))->GetZaxis());
}

rctChecker.init(cfgEvtRCTFlagCheckerLabel, cfgEvtRCTFlagCheckerZDCCheck, cfgEvtRCTFlagCheckerLimitAcceptAsBad, requireRCTFlagChecker || applyRCTOnGen);
Expand Down Expand Up @@ -464,7 +434,7 @@ struct Cascqaanalysis {
registry.fill(HIST("hNEvents"), 8.5);
}

// Z vertex selection
// z-vertex selection
if (std::fabs(collision.posZ()) > cutzvertex) {
return false;
}
Expand Down Expand Up @@ -711,8 +681,8 @@ struct Cascqaanalysis {
// All generated collisions
registry.fill(HIST("hNEventsMC"), 0.5);

// Generated with accepted z vertex
if (std::fabs(mcCollision.posZ()) > cutzvertex) {
// Generated z-vertex selection
if (cutzvertexGen >= 0.f && std::fabs(mcCollision.posZ()) > cutzvertexGen) {
return;
}
registry.fill(HIST("hNEventsMC"), 1.5);
Expand Down
75 changes: 60 additions & 15 deletions PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "PWGLF/Utils/inelGt.h"

#include "Common/CCDB/EventSelectionParams.h"
#include "Common/CCDB/RCTSelectionFlags.h"
#include "Common/DataModel/Centrality.h"
#include "Common/DataModel/EventSelection.h"
#include "Common/DataModel/Multiplicity.h"
Expand All @@ -43,12 +44,14 @@

#include <TH1.h>

#include <string>
#include <utility>
#include <vector>

using namespace o2;
using namespace o2::framework;
using namespace o2::framework::expressions;
using namespace o2::aod::rctsel;

void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
{
Expand All @@ -61,6 +64,7 @@
using DauTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFPr>;
using DauTracksMC = soa::Join<DauTracks, aod::McTrackLabels>;
using V0Collisions = soa::Join<aod::Collisions, aod::EvSels, aod::PVMults, aod::CentFT0Ms, aod::CentNGlobals>;
using BCsWithBcSels = soa::Join<aod::BCsWithTimestamps, aod::BcSels>;

struct LfV0qaanalysis {

Expand Down Expand Up @@ -106,10 +110,12 @@
registry.add("hCentFT0M_GenRecoColl_MC_INELgt0", "hCentFT0M_GenRecoColl_MC_INELgt0", {HistType::kTH1F, {{1000, 0.f, 100.f}}});
registry.add("hCentFT0M_GenColl_MC", "hCentFT0M_GenColl_MC", {HistType::kTH1F, {{1000, 0.f, 100.f}}});
registry.add("hCentFT0M_GenColl_MC_INELgt0", "hCentFT0M_GenColl_MC_INELgt0", {HistType::kTH1F, {{1000, 0.f, 100.f}}});
registry.add("hNEventsMCGen", "hNEventsMCGen", {HistType::kTH1D, {{4, 0.f, 4.f}}});
registry.add("hNEventsMCGen", "hNEventsMCGen", {HistType::kTH1D, {{5, 0.f, 5.f}}});
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(1, "all");
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(2, "zvertex_true");
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(3, "INELgt0_true");
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(3, "BC TF/ITS ROF border");
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(4, "RCTFlagsChecker");
registry.get<TH1>(HIST("hNEventsMCGen"))->GetXaxis()->SetBinLabel(5, "INELgt0_true");
registry.add("hNEventsMCGenReco", "hNEventsMCGenReco", {HistType::kTH1D, {{2, 0.f, 2.f}}});
registry.get<TH1>(HIST("hNEventsMCGenReco"))->GetXaxis()->SetBinLabel(1, "INEL");
registry.get<TH1>(HIST("hNEventsMCGenReco"))->GetXaxis()->SetBinLabel(2, "INELgt0");
Expand Down Expand Up @@ -153,6 +159,7 @@
registry.add("Generated_MCGenColl_INELgt0_Lambda", "Generated_MCGenColl_INELgt0_Lambda", {HistType::kTH2F, {{250, 0.f, 25.f}, {1000, 0.f, 100.f}}});
registry.add("Generated_MCGenColl_INELgt0_AntiLambda", "Generated_MCGenColl_INELgt0_AntiLambda", {HistType::kTH2F, {{250, 0.f, 25.f}, {1000, 0.f, 100.f}}});
}
rctChecker.init(cfgEvtRCTFlagCheckerLabel, cfgEvtRCTFlagCheckerZDCCheck, cfgEvtRCTFlagCheckerLimitAcceptAsBad, applyRCTOnGen);
registry.print();
}

Expand All @@ -164,11 +171,18 @@
Configurable<bool> isTriggerTVX{"isTriggerTVX", 1, "Is Trigger TVX"};
Configurable<bool> isNoTimeFrameBorder{"isNoTimeFrameBorder", 1, "Is No Time Frame Border"};
Configurable<bool> isNoITSROFrameBorder{"isNoITSROFrameBorder", 1, "Is No ITS Readout Frame Border"};
Configurable<bool> applyBcBorderCutsOnGen{"applyBcBorderCutsOnGen", false, "Apply enabled BC-level TF and ITS ROF border cuts on generated-level MC collisions"};
Configurable<bool> applyRCTOnGen{"applyRCTOnGen", false, "Apply enabled BC-level RCT run-condition selection on generated-level MC collisions"};
Configurable<bool> isVertexTOFmatched{"isVertexTOFmatched", 0, "Is Vertex TOF matched"};
Configurable<bool> isNoSameBunchPileup{"isNoSameBunchPileup", 0, "isNoSameBunchPileup"};
Configurable<std::string> cfgEvtRCTFlagCheckerLabel{"cfgEvtRCTFlagCheckerLabel", "CBT_hadronPID", "Evt sel: RCT flag checker label"};
Configurable<bool> cfgEvtRCTFlagCheckerZDCCheck{"cfgEvtRCTFlagCheckerZDCCheck", false, "Evt sel: RCT flag checker ZDC check"};
Configurable<bool> cfgEvtRCTFlagCheckerLimitAcceptAsBad{"cfgEvtRCTFlagCheckerLimitAcceptAsBad", false, "Evt sel: RCT flag checker treat Limited Acceptance As Bad"};
Configurable<int> v0TypeSelection{"v0TypeSelection", 1, "select on a certain V0 type (leave negative if no selection desired)"};
Configurable<bool> NotITSAfterburner{"NotITSAfterburner", 0, "NotITSAfterburner"};

RCTFlagsChecker rctChecker;

// V0 selection criteria
Configurable<double> v0cospa{"v0cospa", 0.97, "V0 CosPA"};
Configurable<float> dcav0dau{"dcav0dau", 10, "DCA V0 Daughters"};
Expand Down Expand Up @@ -214,6 +228,27 @@
return true;
}

template <typename TBC>
bool acceptGeneratedEventBcBorderCuts(TBC const& bc)
{
if (!applyBcBorderCutsOnGen) {
return true;
}
if (isNoTimeFrameBorder && !bc.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
return false;
}
if (isNoITSROFrameBorder && !bc.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
return false;
}
return true;
}

template <typename TBC>
bool acceptGeneratedEventRCT(TBC const& bc)
{
return !applyRCTOnGen || rctChecker(bc);
}

Filter preFilterV0 = nabs(aod::v0data::dcapostopv) > dcapostopv&&
nabs(aod::v0data::dcanegtopv) > dcanegtopv&& aod::v0data::dcaV0daughters < dcav0dau;

Expand All @@ -230,7 +265,7 @@
registry.fill(HIST("hCentFT0M"), collision.centFT0M());
registry.fill(HIST("hCentNGlobals"), collision.centNGlobal());

for (auto& v0 : V0s) { // loop over V0s
for (const auto& v0 : V0s) { // loop over V0s

if (v0.v0Type() != v0TypeSelection) {
continue;
Expand Down Expand Up @@ -323,7 +358,7 @@
}

auto v0sThisCollision = V0s.sliceBy(perCol, collision.globalIndex());
for (auto& v0 : v0sThisCollision) { // loop over V0s
for (const auto& v0 : v0sThisCollision) { // loop over V0s

if (!v0.has_mcParticle()) {
continue;
Expand All @@ -344,19 +379,19 @@

// Highest numerator of efficiency
if (v0mcparticle.isPhysicalPrimary()) {
if (v0mcparticle.pdgCode() == 310) {

Check failure on line 382 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
registry.fill(HIST("Reconstructed_MCRecoColl_INEL_K0Short"), v0mcparticle.pt(), mcCollision.centFT0M()); // K0s
if (evFlag == 1) {
registry.fill(HIST("Reconstructed_MCRecoColl_INELgt0_K0Short"), v0mcparticle.pt(), mcCollision.centFT0M()); // K0s
}
}
if (v0mcparticle.pdgCode() == 3122) {

Check failure on line 388 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
registry.fill(HIST("Reconstructed_MCRecoColl_INEL_Lambda"), v0mcparticle.pt(), mcCollision.centFT0M()); // Lambda
if (evFlag == 1) {
registry.fill(HIST("Reconstructed_MCRecoColl_INELgt0_Lambda"), v0mcparticle.pt(), mcCollision.centFT0M()); // Lambda
}
}
if (v0mcparticle.pdgCode() == -3122) {

Check failure on line 394 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
registry.fill(HIST("Reconstructed_MCRecoColl_INEL_AntiLambda"), v0mcparticle.pt(), mcCollision.centFT0M()); // AntiLambda
if (evFlag == 1) {
registry.fill(HIST("Reconstructed_MCRecoColl_INELgt0_AntiLambda"), v0mcparticle.pt(), mcCollision.centFT0M()); // AntiLambda
Expand All @@ -367,19 +402,19 @@
int lPDG = 0;
bool isDauK0Short = false, isDauLambda = false, isDauAntiLambda = false;
bool isprimary = false;
if (std::abs(v0mcparticle.pdgCode()) == 310 || std::abs(v0mcparticle.pdgCode()) == 3122) {

Check failure on line 405 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
lPDG = v0mcparticle.pdgCode();
isprimary = v0mcparticle.isPhysicalPrimary();
}
for (auto& mcparticleDaughter0 : v0mcparticle.daughters_as<aod::McParticles>()) {
for (auto& mcparticleDaughter1 : v0mcparticle.daughters_as<aod::McParticles>()) {
for (const auto& mcparticleDaughter0 : v0mcparticle.daughters_as<aod::McParticles>()) {
for (const auto& mcparticleDaughter1 : v0mcparticle.daughters_as<aod::McParticles>()) {
if (mcparticleDaughter0.pdgCode() == 211 && mcparticleDaughter1.pdgCode() == -211) {

Check failure on line 411 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
isDauK0Short = true;
}
if (mcparticleDaughter0.pdgCode() == -211 && mcparticleDaughter1.pdgCode() == 2212) {

Check failure on line 414 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
isDauLambda = true;
}
if (mcparticleDaughter0.pdgCode() == 211 && mcparticleDaughter1.pdgCode() == -2212) {

Check failure on line 417 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
isDauAntiLambda = true;
}
}
Expand All @@ -388,9 +423,9 @@
float ptMotherMC = 0.;
float pdgMother = 0.;

if (std::abs(v0mcparticle.pdgCode()) == 3122 && v0mcparticle.has_mothers()) {

Check failure on line 426 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
for (auto& mcparticleMother0 : v0mcparticle.mothers_as<aod::McParticles>()) {
for (const auto& mcparticleMother0 : v0mcparticle.mothers_as<aod::McParticles>()) {
if (std::abs(mcparticleMother0.pdgCode()) == 3312 || std::abs(mcparticleMother0.pdgCode()) == 3322) {

Check failure on line 428 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
ptMotherMC = mcparticleMother0.pt();
pdgMother = mcparticleMother0.pdgCode();
}
Expand Down Expand Up @@ -435,7 +470,7 @@
// Generated particles
const auto particlesInCollision = mcParticles.sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex(), cache1);

for (auto& mcParticle : particlesInCollision) {
for (const auto& mcParticle : particlesInCollision) {
if (!mcParticle.isPhysicalPrimary()) {
continue;
}
Expand All @@ -444,7 +479,7 @@
continue;
}

if (mcParticle.pdgCode() == 310) {

Check failure on line 482 in PWGLF/TableProducer/Strangeness/v0qaanalysis.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-code]

Avoid hard-coded PDG codes. Use named values from PDG_t or o2::constants::physics::Pdg instead.
registry.fill(HIST("Generated_MCRecoCollCheck_INEL_K0Short"), mcParticle.pt(), mcCollision.centFT0M()); // K0s
if (evFlag == 1) {
registry.fill(HIST("Generated_MCRecoCollCheck_INELgt0_K0Short"), mcParticle.pt(), mcCollision.centFT0M()); // K0s
Expand All @@ -469,7 +504,8 @@

void processMCGen(soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const& mcCollision,
aod::McParticles const& mcParticles,
soa::SmallGroups<soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::PVMults>> const& collisions)
soa::SmallGroups<soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::PVMults>> const& collisions,
BCsWithBcSels const&)
{
//====================================
//===== Event Loss Denominator =======
Expand All @@ -481,21 +517,30 @@
return;
}
registry.fill(HIST("hNEventsMCGen"), 1.5);
const auto bc = mcCollision.bc_as<BCsWithBcSels>();
if (!acceptGeneratedEventBcBorderCuts(bc)) {
return;
}
registry.fill(HIST("hNEventsMCGen"), 2.5);
if (!acceptGeneratedEventRCT(bc)) {
return;
}
registry.fill(HIST("hNEventsMCGen"), 3.5);
registry.fill(HIST("hCentFT0M_GenColl_MC"), mcCollision.centFT0M());

bool isINELgt0true = false;

if (pwglf::isINELgtNmc(mcParticles, 0, pdgDB)) {
isINELgt0true = true;
registry.fill(HIST("hNEventsMCGen"), 2.5);
registry.fill(HIST("hNEventsMCGen"), 4.5);
registry.fill(HIST("hCentFT0M_GenColl_MC_INELgt0"), mcCollision.centFT0M());
}

//=====================================
//===== Signal Loss Denominator =======
//=====================================

for (auto& mcParticle : mcParticles) {
for (const auto& mcParticle : mcParticles) {

if (!mcParticle.isPhysicalPrimary()) {
continue;
Expand Down Expand Up @@ -526,7 +571,7 @@

int recoCollIndex_INEL = 0;
int recoCollIndex_INELgt0 = 0;
for (auto& collision : collisions) { // loop on reconstructed collisions
for (const auto& collision : collisions) { // loop on reconstructed collisions

//=====================================
//====== Event Split Numerator ========
Expand All @@ -553,7 +598,7 @@
//======== Sgn Split Numerator ========
//=====================================

for (auto& mcParticle : mcParticles) {
for (const auto& mcParticle : mcParticles) {

if (!mcParticle.isPhysicalPrimary()) {
continue;
Expand Down Expand Up @@ -605,7 +650,7 @@
//===== Signal Loss Numerator =========
//=====================================

for (auto& mcParticle : mcParticles) {
for (const auto& mcParticle : mcParticles) {

if (!mcParticle.isPhysicalPrimary()) {
continue;
Expand Down Expand Up @@ -682,7 +727,7 @@

void process(aod::MyV0Candidates const& myv0s)
{
for (auto& candidate : myv0s) {
for (const auto& candidate : myv0s) {

registry.fill(HIST("hMassLambda"), candidate.masslambda());
registry.fill(HIST("hPt"), candidate.v0pt());
Expand Down
Loading
Loading