Skip to content
Open
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
45 changes: 23 additions & 22 deletions DPG/Tasks/AOTTrack/qaEfficiency.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@

using CollisionCandidates = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels, aod::CentFT0Cs>;
using CollisionCandidatesMC = o2::soa::Join<CollisionCandidates, o2::aod::McCollisionLabels>;
using CollisionsWithMcLabels = o2::soa::join<o2::aod::Collisions, o2::aod::McCollisionLabels>;
using TrackCandidates = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksExtra, o2::aod::TrackSelection, o2::aod::TrackSelectionExtension, o2::aod::TracksDCA>;
using TrackCandidatesMC = o2::soa::Join<TrackCandidates, o2::aod::McTrackLabels>;
using BCsInfo = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels>;
Expand Down Expand Up @@ -979,7 +980,7 @@
histos.get<TH1>(HIST("eventSelection"))->GetXaxis()->SetBinLabel(2, "Passed Ev. Sel. (no ev. sel)");
} else if (applyEvSel == 1) {
histos.get<TH1>(HIST("eventSelection"))->GetXaxis()->SetBinLabel(2, "Passed Ev. Sel. (sel7)");
} else if (applyEvSel == 2) {

Check failure on line 983 in DPG/Tasks/AOTTrack/qaEfficiency.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.
histos.get<TH1>(HIST("eventSelection"))->GetXaxis()->SetBinLabel(2, "Passed Ev. Sel. (sel8)");
} else {
LOG(fatal) << "Can't interpret event selection asked " << applyEvSel << " (0: no event selection, 1: sel7, 2: sel8)";
Expand All @@ -1003,7 +1004,7 @@
initMC(axisSel);

// Custom track cuts
if (globalTrackSelection.value == 6) {

Check failure on line 1007 in DPG/Tasks/AOTTrack/qaEfficiency.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.
customTrackCuts = getGlobalTrackSelectionRun3ITSMatch(cfgCustomTrackCuts.itsPattern);
LOG(info) << "Customizing track cuts:";
if (cfgCustomTrackCuts.tracksIU.value) {
Expand Down Expand Up @@ -1035,7 +1036,7 @@

bool isPhysicalPrimary(const o2::aod::McParticles::iterator& mcParticle)
{
if (maxProdRadius < 999.f) {

Check failure on line 1039 in DPG/Tasks/AOTTrack/qaEfficiency.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.
if ((mcParticle.vx() * mcParticle.vx() + mcParticle.vy() * mcParticle.vy()) > maxProdRadius * maxProdRadius) {
return false;
}
Expand All @@ -1044,17 +1045,17 @@
}
bool isFinal(const o2::aod::McParticles::iterator& mcParticle)
{
if (!mcParticle.has_daughters() && !mcParticle.isPhysicalPrimary() && mcParticle.getProcess() == 4) {

Check failure on line 1048 in DPG/Tasks/AOTTrack/qaEfficiency.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.
auto mothers = mcParticle.mothers_as<o2::aod::McParticles>();
for (const auto& mother : mothers) {
if (!mother.isPhysicalPrimary() && mother.getProcess() == 4) {

Check failure on line 1051 in DPG/Tasks/AOTTrack/qaEfficiency.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 true;
}
}
}
return false; // Otherwise, not considered a tertiary particle
}
template <int pdgSign, o2::track::PID::ID id>
template <int pdgSign, o2::track::PID::ID id, typename Colls>
void fillMCTrackHistograms(const TrackCandidatesMC::iterator& track, const bool doMakeHistograms)
{
static_assert(pdgSign == 0 || pdgSign == 1);
Expand All @@ -1073,8 +1074,8 @@
}
constexpr int histogramIndex = id + pdgSign * nSpecies;
LOG(debug) << "fillMCTrackHistograms for pdgSign '" << pdgSign << "' and id '" << static_cast<int>(id) << "' " << particleName(pdgSign, id) << " with index " << histogramIndex;
const o2::aod::McParticles::iterator& mcParticle = track.mcParticle();
const CollisionCandidatesMC::iterator& collision = track.collision_as<CollisionCandidatesMC>();
auto const& mcParticle = track.mcParticle();
auto const& collision = track.collision_as<Colls>();
float radius = std::sqrt(mcParticle.vx() * mcParticle.vx() + mcParticle.vy() * mcParticle.vy());
if (numSameCollision) {
if (!collision.has_mcCollision()) {
Expand Down Expand Up @@ -1167,7 +1168,7 @@
}
}
}
} else if (mcParticle.getProcess() == 4) { // Particle decay

Check failure on line 1171 in DPG/Tasks/AOTTrack/qaEfficiency.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.
// Checking mothers
bool motherIsAccepted = true;
if (checkForMothers.value && mothersPDGs.value.size() > 0 && mcParticle.has_mothers()) {
Expand Down Expand Up @@ -1271,7 +1272,7 @@
hPtRadiusGeneratedPrm[histogramIndex]->Fill(mcParticle.pt(), radius);
}
} else {
if (mcParticle.getProcess() == 4) { // Particle decay

Check failure on line 1275 in DPG/Tasks/AOTTrack/qaEfficiency.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.
bool motherIsAccepted = true;
// Check for mothers if needed
if (checkForMothers.value && mothersPDGs.value.size() > 0 && mcParticle.has_mothers()) {
Expand Down Expand Up @@ -1452,7 +1453,7 @@
}
if (applyEvSel == 1 && !collision.sel7()) {
return false;
} else if (applyEvSel == 2 && !collision.sel8()) {

Check failure on line 1456 in DPG/Tasks/AOTTrack/qaEfficiency.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 false;
}
if constexpr (doFillHistograms) {
Expand Down Expand Up @@ -1550,7 +1551,7 @@

if (noFakesHits) { // Selecting tracks with no fake hits
bool hasFakeHit = false;
for (int i = 0; i < 10; i++) { // From ITS to TPC

Check failure on line 1554 in DPG/Tasks/AOTTrack/qaEfficiency.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.
if (track.mcMask() & 1 << i) {
hasFakeHit = true;
break;
Expand Down Expand Up @@ -1872,15 +1873,15 @@
// Filling variable histograms
histos.fill(HIST("MC/trackLength"), track.length());
static_for<0, 1>([&](auto pdgSign) {
fillMCTrackHistograms<pdgSign, o2::track::PID::Electron>(track, doEl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Muon>(track, doMu);
fillMCTrackHistograms<pdgSign, o2::track::PID::Pion>(track, doPi);
fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon>(track, doKa);
fillMCTrackHistograms<pdgSign, o2::track::PID::Proton>(track, doPr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron>(track, doDe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Triton>(track, doTr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3>(track, doHe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha>(track, doAl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Electron, CollisionCandidatesMC>(track, doEl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Muon, CollisionCandidatesMC>(track, doMu);
fillMCTrackHistograms<pdgSign, o2::track::PID::Pion, CollisionCandidatesMC>(track, doPi);
fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon, CollisionCandidatesMC>(track, doKa);
fillMCTrackHistograms<pdgSign, o2::track::PID::Proton, CollisionCandidatesMC>(track, doPr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron, CollisionCandidatesMC>(track, doDe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Triton, CollisionCandidatesMC>(track, doTr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3, CollisionCandidatesMC>(track, doHe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha, CollisionCandidatesMC>(track, doAl);
});
}

Expand Down Expand Up @@ -1963,7 +1964,7 @@
// Loop on particles to fill the denominator
float dNdEta = 0; // Multiplicity
for (const auto& mcParticle : groupedMcParticles) {
if (TMath::Abs(mcParticle.eta()) <= 2.f && !mcParticle.has_daughters()) {

Check failure on line 1967 in DPG/Tasks/AOTTrack/qaEfficiency.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.
dNdEta += 1.f;
}
if (!isInAcceptance(mcParticle, HIST("MC/particleSelection"))) {
Expand Down Expand Up @@ -2011,7 +2012,7 @@
// - considering also tracks not associated to any collision
// - ignoring the track-to-collision association
void processMCWithoutCollisions(TrackCandidatesMC const& tracks,
o2::aod::Collisions const&,
CollisionsWithMcLabels const&,
o2::aod::McParticles const& mcParticles,
o2::aod::McCollisions const&,
BCsInfo const&)
Expand Down Expand Up @@ -2041,15 +2042,15 @@
// Filling variable histograms
histos.fill(HIST("MC/trackLength"), track.length());
static_for<0, 1>([&](auto pdgSign) {
fillMCTrackHistograms<pdgSign, o2::track::PID::Electron>(track, doEl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Muon>(track, doMu);
fillMCTrackHistograms<pdgSign, o2::track::PID::Pion>(track, doPi);
fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon>(track, doKa);
fillMCTrackHistograms<pdgSign, o2::track::PID::Proton>(track, doPr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron>(track, doDe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Triton>(track, doTr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3>(track, doHe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha>(track, doAl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Electron, CollisionsWithMcLabels>(track, doEl);
fillMCTrackHistograms<pdgSign, o2::track::PID::Muon, CollisionsWithMcLabels>(track, doMu);
fillMCTrackHistograms<pdgSign, o2::track::PID::Pion, CollisionsWithMcLabels>(track, doPi);
fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon, CollisionsWithMcLabels>(track, doKa);
fillMCTrackHistograms<pdgSign, o2::track::PID::Proton, CollisionsWithMcLabels>(track, doPr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron, CollisionsWithMcLabels>(track, doDe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Triton, CollisionsWithMcLabels>(track, doTr);
fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3, CollisionsWithMcLabels>(track, doHe);
fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha, CollisionsWithMcLabels>(track, doAl);
});
}

Expand Down
Loading