Skip to content
Merged
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
17 changes: 14 additions & 3 deletions PWGJE/Core/JetFindingUtilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
template <typename T, typename U>
void analyseTracks(std::vector<fastjet::PseudoJet>& inputParticles, T const& tracks, int trackSelection, const U* candidate = nullptr)
{
for (auto& track : tracks) {

Check failure on line 120 in PWGJE/Core/JetFindingUtilities.h

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 (isTrackSelected(track, trackSelection, candidate)) {
fastjetutilities::fillTracks(track, inputParticles, track.globalIndex());
}
Expand All @@ -136,15 +136,20 @@
template <typename T, typename U>
void analyseTracksMultipleCandidates(std::vector<fastjet::PseudoJet>& inputParticles, T const& tracks, int trackSelection, U const& candidates)
{
for (auto& track : tracks) {

Check failure on line 139 in PWGJE/Core/JetFindingUtilities.h

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.
bool isSelected = true;
if (!jetderiveddatautilities::selectTrack(track, trackSelection)) {
continue;
}
for (auto& candidate : candidates) {

Check failure on line 144 in PWGJE/Core/JetFindingUtilities.h

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 (jetcandidateutilities::isDaughterTrack(track, candidate)) {
continue;
isSelected = false;
break;
}
}
if (!isSelected) {
continue;
}
fastjetutilities::fillTracks(track, inputParticles, track.globalIndex());
}
}
Expand Down Expand Up @@ -284,7 +289,7 @@
auto jetRValues = static_cast<std::vector<double>>(std::move(jetRadius));
jetFinder.jetPtMin = jetPtMin;
jetFinder.jetPtMax = jetPtMax;
for (auto R : jetRValues) {

Check failure on line 292 in PWGJE/Core/JetFindingUtilities.h

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.
jetFinder.jetR = R;
std::vector<fastjet::PseudoJet> jets;
fastjet::ClusterSequenceArea clusterSeq(jetFinder.findJets(inputParticles, jets));
Expand Down Expand Up @@ -342,7 +347,7 @@
template <bool checkIsDaughter, typename T, typename U>
void analyseParticles(std::vector<fastjet::PseudoJet>& inputParticles, const std::string& particleSelection, int jetTypeParticleLevel, T const& particles, o2::framework::Service<o2::framework::O2DatabasePDG> pdgDatabase, const U* candidate = nullptr)
{
for (auto& particle : particles) {

Check failure on line 350 in PWGJE/Core/JetFindingUtilities.h

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 (particleSelection == "PhysicalPrimary" && !particle.isPhysicalPrimary()) { // CHECK : Does this exclude the HF hadron?
continue;
} else if (particleSelection == "HepMCStatus" && particle.getHepMCStatusCode() != 1) { // do we need isPhysicalPrimary as well? Note: Might give unforseen results if the generator isnt PYTHIA
Expand All @@ -357,7 +362,7 @@
}
auto pdgParticle = pdgDatabase->GetParticle(particle.pdgCode());
auto pdgCharge = pdgParticle ? std::abs(pdgParticle->Charge()) : -1.0;
if (jetTypeParticleLevel == static_cast<int>(JetType::charged) && pdgCharge < 3.0) {

Check failure on line 365 in PWGJE/Core/JetFindingUtilities.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.
continue;
}
if (jetTypeParticleLevel == static_cast<int>(JetType::neutral) && pdgCharge != 0.0) {
Expand All @@ -376,19 +381,25 @@
}
}
}
bool isSelected = true;
if constexpr (jetv0utilities::isV0McTable<U>()) { // note that for V0s the candidate table is given to this function, not a single candidate
if (candidate != nullptr) {
for (auto const& cand : (*candidate)) {
if (cand.mcParticleId() == particle.globalIndex()) {
continue;
isSelected = false;
break;
}
auto v0Particle = cand.template mcParticle_as<T>();
if (jetcandidateutilities::isDaughterParticle(v0Particle, particle.globalIndex())) {
continue;
isSelected = false;
break;
}
}
}
}
if (!isSelected) {
continue;
}
fastjetutilities::fillTracks(particle, inputParticles, particle.globalIndex(), JetConstituentStatus::track, pdgParticle->Mass());
}
}
Expand All @@ -396,7 +407,7 @@
template <typename T>
bool isInEtaAcceptance(T const& jet, float jetEtaMin, float jetEtaMax, float etaMin = -0.9, float etaMax = 0.9)
{
if (jetEtaMin < -98.0) {

Check failure on line 410 in PWGJE/Core/JetFindingUtilities.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 (jet.eta() >= etaMin + (jet.r() / 100.0) && jet.eta() <= etaMax - (jet.r() / 100.0));
} else {
return (jet.eta() >= jetEtaMin && jet.eta() <= jetEtaMax);
Expand Down
Loading