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
207 changes: 29 additions & 178 deletions PWGJE/Tasks/jetHadronRecoil.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
std::vector<double> dRBinning = {0.0, 1.0e-9, 0.003, 0.006, 0.009, 0.012, 0.015, 0.018, 0.021, 0.024,
0.027, 0.03, 0.033, 0.036, 0.039, 0.042, 0.045, 0.048, 0.051, 0.054,
0.057, 0.06, 0.063, 0.066, 0.069, 0.072, 0.075, 0.078, 0.081, 0.084,
0.087, 0.09, 0.093, 0.096, 0.099, 0.102, 0.105, 0.108, 0.111, 0.114,

Check failure on line 105 in PWGJE/Tasks/jetHadronRecoil.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-mass]

Avoid hard-coded particle masses. Use o2::constants::physics::Mass... instead.
0.117, 0.12, 0.123, 0.126, 0.129, 0.132, 0.135, 0.138, 0.141, 0.144,
0.147, 0.15, 0.153, 0.156, 0.159, 0.162, 0.165, 0.168, 0.171, 0.174,
0.177, 0.18, 0.183, 0.186, 0.189, 0.192, 0.195, 0.198, 0.201, 0.204,
Expand Down Expand Up @@ -143,7 +143,7 @@

registry.add("hZvtxSelected", "Z vertex position;Z_{vtx};entries", {HistType::kTH1F, {{80, -20, 20}}}, doSumw);

if (doprocessData || doprocessDataWithRhoSubtraction || doprocessMCD || doprocessMCDWithRhoSubtraction || doprocessMCDWeighted || doprocessMCDWeightedWithRhoSubtraction || doprocessMCP || doprocessMCPWeighted || doprocessMCPWeightedWithMatchedTracks) {
if (doprocessData || doprocessDataWithRhoSubtraction || doprocessMCD || doprocessMCDWithRhoSubtraction || doprocessMCDWeighted || doprocessMCDWeightedWithRhoSubtraction || doprocessMCP || doprocessMCPWeighted) {
registry.add("hNtrig", "number of triggers;trigger type;entries", {HistType::kTH1F, {{2, 0, 2}}}, doSumw);
registry.add("hSignalTriggersPtHard", "Signal triggers vs PtHard", {HistType::kTH1F, {pThatAxis}}, doSumw);
registry.add("hReferenceTriggersPtHard", "Reference triggers vs PtHard", {HistType::kTH1F, {pThatAxis}}, doSumw);
Expand Down Expand Up @@ -186,7 +186,7 @@
registry.add("hPtTrackMatchedToCollisions", "Track p_{T};p_{T};entries", {HistType::kTH1F, {{200, 0, 200}}}, doSumw);
}

if (doprocessMCP || doprocessMCPWeighted || doprocessMCPWeightedWithMatchedTracks) {
if (doprocessMCP || doprocessMCPWeighted) {
registry.add("hPartvsJets", "comparing leading particles and jets;p_{T,part};p_{T,jet};#hat{p}", {HistType::kTH3F, {{200, 0, 200}, {500, -100, 400}, {195, 5, 200}}}, doSumw);
registry.add("hPtPart", "Particle p_{T};p_{T};entries", {HistType::kTH1F, {{200, 0, 200}}}, doSumw);
registry.add("hEtaPart", "Particle #eta;#eta;entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}, doSumw);
Expand All @@ -204,6 +204,7 @@
if (doprocessJetsMCPMCDMatched || doprocessJetsMCPMCDMatchedWithRhoSubtraction || doprocessJetsMCPMCDMatchedWeighted || doprocessJetsMCPMCDMatchedWeightedWithRhoSubtraction || doprocessRecoilJetsMCPMCDMatched || doprocessRecoilJetsMCPMCDMatchedWeighted || doprocessRecoilJetsMCPMCDMatchedWeightedWithRhoSubtraction) {
registry.add("hPtMatched", "p_{T} matching;p_{T,det};p_{T,part}", {HistType::kTH2F, {{500, -100, 400}, {400, 0, 400}}}, doSumw);
registry.add("hPhiMatched", "#phi matching;#phi_{det};#phi_{part}", {HistType::kTH2F, {{100, 0.0, o2::constants::math::TwoPI}, {100, 0.0, o2::constants::math::TwoPI}}}, doSumw);
registry.add("hPhiMatched2d", "#phi matching 2d;#phi;p_{T}", {HistType::kTH2F, {{100, 0.0, o2::constants::math::TwoPI}, {400, 0, 400}}}, doSumw);
registry.add("hDeltaRMatched", "#DeltaR matching;#DeltaR_{det};#DeltaR_{part}", {HistType::kTH2F, {dRAxisDet, dRAxisPart}}, doSumw);
registry.add("hPtMatched1d", "p_{T} matching 1d;p_{T,part}", {HistType::kTH1F, {{400, 0, 400}}}, doSumw);
registry.add("hDeltaRMatched1d", "#DeltaR matching 1d;#DeltaR_{part}", {HistType::kTH1F, {dRAxisPart}}, doSumw);
Expand Down Expand Up @@ -281,7 +282,7 @@
registry.fill(HIST("hNtrig"), 0.5, weight);
registry.fill(HIST("hRefEventTriggers"), nTT, weight);
registry.fill(HIST("hRhoReference"), rhoReference, weight);
for (double shift = 0.0; shift <= 2.0; shift += 0.1) {

Check failure on line 285 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hRhoReferenceShift"), rho + shift, shift, weight);
}
registry.fill(HIST("hReferenceTriggersPtHard"), ptTT / pTHat, weight);
Expand Down Expand Up @@ -316,31 +317,31 @@
float dphi = RecoDecay::constrainAngle(jet.phi() - phiTT);
double dR = getWTAaxisDifference(jet, tracks);
if (isSigCol) {
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {

Check failure on line 320 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hDeltaRpTSignal"), jet.pt() - (rho * jet.area()), dR, weight);
registry.fill(HIST("hDeltaRSignal"), dR, weight);
}
registry.fill(HIST("hDeltaRpTDPhiSignal"), jet.pt() - (rho * jet.area()), dphi, dR, weight);
registry.fill(HIST("hSignalPtDPhi"), dphi, jet.pt() - (rho * jet.area()), weight);
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {

Check failure on line 326 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hSignalPt"), jet.pt() - (rho * jet.area()), weight);
registry.fill(HIST("hSignalPtHard"), jet.pt() - (rho * jet.area()), ptTT / pTHat, weight);
}
}
if (!isSigCol) {
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {

Check failure on line 332 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hDeltaRpTReference"), jet.pt() - (rhoReference * jet.area()), dR, weight);
registry.fill(HIST("hDeltaRReference"), dR, weight);
}
registry.fill(HIST("hDeltaRpTDPhiReference"), jet.pt() - (rhoReference * jet.area()), dphi, dR, weight);
for (double shift = 0.0; shift <= 2.0; shift += 0.1) {

Check failure on line 337 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hDeltaRpTDPhiReferenceShifts"), jet.pt() - ((rho + shift) * jet.area()), dphi, dR, shift, weight);
}
registry.fill(HIST("hReferencePtDPhi"), dphi, jet.pt() - (rhoReference * jet.area()), weight);
for (double shift = 0.0; shift <= 2.0; shift += 0.1) {

Check failure on line 341 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hReferencePtDPhiShifts"), dphi, jet.pt() - ((rho + shift) * jet.area()), shift, weight);
}
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {

Check failure on line 344 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hReferencePt"), jet.pt() - (rhoReference * jet.area()), weight);
registry.fill(HIST("hReferencePtHard"), jet.pt() - (rhoReference * jet.area()), ptTT / pTHat, weight);
}
Expand All @@ -350,8 +351,8 @@
registry.fill(HIST("hTracksvsJets"), leadingTrackPt, leadingJetPt, pTHat, weight);
}

template <typename T, typename U, typename P>
void fillHistogramsMCD(T const& jets, U const& tracks, P const&, float weight = 1.0, float rho = 0.0, float pTHat = 999.0)
template <typename T, typename U>
void fillHistogramsMCD(T const& jets, U const& tracks, float weight = 1.0, float rho = 0.0, float pTHat = 999.0, auto collisionID = 0)
{
bool isSigCol;
std::vector<double> phiTTAr;
Expand Down Expand Up @@ -404,8 +405,8 @@
registry.fill(HIST("hPtTrackPtHard"), track.pt() / pTHat, track.pt(), weight);
if (track.has_mcParticle()) {
registry.fill(HIST("hPtTrackMatched"), track.pt(), weight);
auto particle = track.template mcParticle_as<P>();
if (track.collisionId() == particle.mcCollisionId()) {
auto mcParticle = track.mcParticle();
if (mcParticle.mcCollisionId() == collisionID) {
registry.fill(HIST("hPtTrackMatchedToCollisions"), track.pt(), weight);
}
}
Expand All @@ -424,7 +425,7 @@
registry.fill(HIST("hNtrig"), 0.5, weight);
registry.fill(HIST("hRefEventTriggers"), nTT, weight);
registry.fill(HIST("hRhoReference"), rhoReference, weight);
for (double shift = 0.0; shift <= 2.0; shift += 0.1) {

Check failure on line 428 in PWGJE/Tasks/jetHadronRecoil.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.
registry.fill(HIST("hRhoReferenceShift"), rho + shift, shift, weight);
}
registry.fill(HIST("hReferenceTriggersPtHard"), ptTT / pTHat, weight);
Expand Down Expand Up @@ -615,132 +616,6 @@
registry.fill(HIST("hPartvsJets"), leadingPartPt, leadingJetPt, pTHat, weight);
}

template <typename T, typename U, typename V>
void fillMCPHistogramsWithMatchedTracks(T const& jets, U const& particles, V const& tracks, float weight = 1.0, float pTHat = 999.0)
{
bool isSigCol;
std::vector<double> phiTTAr;
std::vector<double> ptTTAr;
double phiTT = 0;
double ptTT = 0;
int trigNumber = 0;
int nTT = 0;
double leadingPartPt = 0;
double leadingJetPt = 0;
float dice = rand->Rndm();
if (dice < fracSig)
isSigCol = true;
else
isSigCol = false;

for (const auto& track : tracks) {
if (!track.has_mcParticle()) {
continue;
}
auto particle = track.template mcParticle_as<U>();
if (particle.pt() > leadingPartPt) {
leadingPartPt = particle.pt();
}
if (particle.pt() > pTHatTrackMaxMCD * pTHat) {
if (outlierRejectEvent) {
return;
} else {
continue;
}
}
auto pdgParticle = pdg->GetParticle(particle.pdgCode());
if (!pdgParticle) {
continue;
}
if ((pdgParticle->Charge() == 0.0) || (!particle.isPhysicalPrimary())) {
continue;
}
if (isSigCol && particle.pt() < ptTTsigMax && particle.pt() > ptTTsigMin && track.pt() < ptTTsigMax && track.pt() > ptTTsigMin) {
phiTTAr.push_back(particle.phi());
ptTTAr.push_back(particle.pt());
nTT++;
registry.fill(HIST("hSignalTriggers"), particle.pt(), weight);
}
if (!isSigCol && particle.pt() < ptTTrefMax && particle.pt() > ptTTrefMin && track.pt() < ptTTrefMax && track.pt() > ptTTrefMin) {
phiTTAr.push_back(particle.phi());
ptTTAr.push_back(particle.pt());
nTT++;
registry.fill(HIST("hReferenceTriggers"), particle.pt(), weight);
}
registry.fill(HIST("hPtPart"), particle.pt(), weight);
registry.fill(HIST("hEtaPart"), particle.eta(), weight);
registry.fill(HIST("hPhiPart"), particle.phi(), weight);
registry.fill(HIST("hPart3D"), particle.pt(), particle.eta(), particle.phi(), weight);
registry.fill(HIST("hPtPartPtHard"), particle.pt(), particle.pt() / pTHat, weight);
}

if (nTT > 0) {
trigNumber = rand->Integer(nTT);
phiTT = phiTTAr[trigNumber];
ptTT = ptTTAr[trigNumber];
if (isSigCol) {
registry.fill(HIST("hNtrig"), 1.5, weight);
registry.fill(HIST("hSigEventTriggers"), nTT, weight);
registry.fill(HIST("hSignalTriggersPtHard"), ptTT / pTHat, weight);
}
if (!isSigCol) {
registry.fill(HIST("hNtrig"), 0.5, weight);
registry.fill(HIST("hRefEventTriggers"), nTT, weight);
registry.fill(HIST("hReferenceTriggersPtHard"), ptTT / pTHat, weight);
}
}

for (const auto& jet : jets) {
if (jet.pt() > leadingJetPt) {
leadingJetPt = jet.pt();
}
if (jet.pt() > pTHatMaxMCP * pTHat) {
if (outlierRejectEvent) {
return;
} else {
continue;
}
}
for (const auto& constituent : jet.template tracks_as<U>()) {
registry.fill(HIST("hConstituents3D"), constituent.pt(), constituent.eta(), constituent.phi());
}
registry.fill(HIST("hJetPt"), jet.pt(), weight);
registry.fill(HIST("hJetEta"), jet.eta(), weight);
registry.fill(HIST("hJetPhi"), jet.phi(), weight);
registry.fill(HIST("hJet3D"), jet.pt(), jet.eta(), jet.phi(), weight);

if (nTT > 0) {
float dphi = RecoDecay::constrainAngle(jet.phi() - phiTT);
double dR = getWTAaxisDifference(jet, particles);
if (isSigCol) {
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {
registry.fill(HIST("hDeltaRpTSignalPart"), jet.pt(), dR, weight);
registry.fill(HIST("hDeltaRSignalPart"), dR, weight);
}
registry.fill(HIST("hDeltaRpTDPhiSignalPart"), jet.pt(), dphi, dR, weight);
registry.fill(HIST("hSignalPtDPhi"), dphi, jet.pt(), weight);
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {
registry.fill(HIST("hSignalPt"), jet.pt(), weight);
registry.fill(HIST("hSignalPtHard"), jet.pt(), ptTT / pTHat, weight);
}
}
if (!isSigCol) {
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {
registry.fill(HIST("hDeltaRpTPartReference"), jet.pt(), dR, weight);
registry.fill(HIST("hDeltaRPartReference"), dR, weight);
}
registry.fill(HIST("hDeltaRpTDPhiReferencePart"), jet.pt(), dphi, dR, weight);
registry.fill(HIST("hReferencePtDPhi"), dphi, jet.pt(), weight);
if (std::abs(dphi - o2::constants::math::PI) < 0.6) {
registry.fill(HIST("hReferencePt"), jet.pt(), weight);
registry.fill(HIST("hReferencePtHard"), jet.pt(), ptTT / pTHat, weight);
}
}
}
}
registry.fill(HIST("hPartvsJets"), leadingPartPt, leadingJetPt, pTHat, weight);
}

template <typename T, typename U, typename X, typename Y>
void fillMatchedHistograms(T const& jetsBase, U const&, X const& tracks, Y const& particles, float weight = 1.0, float rho = 0.0, float pTHat = 999.0)
{
Expand Down Expand Up @@ -808,20 +683,18 @@
continue;
}
}
if (track.pt() < ptTTsigMax && track.pt() > ptTTsigMin) {
auto particle = track.template mcParticle_as<Y>();
auto pdgParticle = pdg->GetParticle(particle.pdgCode());
if (!pdgParticle) {
continue;
}
if ((pdgParticle->Charge() == 0.0) || (!particle.isPhysicalPrimary())) {
continue;
}
if (particle.pt() < ptTTsigMax && particle.pt() > ptTTsigMin) {
nTT++;
phiTTAr.push_back(track.phi());
phiTTArPart.push_back(particle.phi());
}
auto particle = track.template mcParticle_as<Y>();
auto pdgParticle = pdg->GetParticle(particle.pdgCode());
if (!pdgParticle) {
continue;
}
if ((pdgParticle->Charge() == 0.0) || (!particle.isPhysicalPrimary())) {
continue;
}
if (particle.pt() < ptTTsigMax && particle.pt() > ptTTsigMin) {
nTT++;
phiTTAr.push_back(track.phi());
phiTTArPart.push_back(particle.phi());
}
}

Expand Down Expand Up @@ -861,9 +734,10 @@
float dphip = RecoDecay::constrainAngle(jetTag.phi() - phiTTPart);
dRp = getWTAaxisDifference(jetTag, particles);
registry.fill(HIST("hPhiMatched"), dphi, dphip, weight);
registry.fill(HIST("hPhiMatched2d"), jetTag.phi(), jetTag.pt(), weight);
registry.fill(HIST("hPhiResolution"), jetTag.pt(), dphip - dphi, weight);
registry.fill(HIST("hFullMatching"), jetBase.pt() - (rho * jetBase.area()), jetTag.pt(), dphi, dphip, dR, dRp, weight);
if ((std::abs(dphi - o2::constants::math::PI) < 0.6) || (std::abs(dphip - o2::constants::math::PI) < 0.6)) {
if ((std::abs(dphip - o2::constants::math::PI) < 0.6)) {
registry.fill(HIST("hPtMatched1d"), jetTag.pt(), weight);
registry.fill(HIST("hDeltaRMatched1d"), dRp, weight);
registry.fill(HIST("hPtMatched"), jetBase.pt() - (rho * jetBase.area()), jetTag.pt(), weight);
Expand Down Expand Up @@ -909,8 +783,7 @@
void processMCD(soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>::iterator const& collision,
aod::JMcCollisions const&,
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const& jets,
soa::Filtered<aod::JetTracksMCD> const& tracks,
soa::Filtered<aod::JetParticles> const& particles)
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const& tracks)
{
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
return;
Expand All @@ -928,15 +801,14 @@
return;
}
registry.fill(HIST("hZvtxSelected"), collision.posZ());
fillHistogramsMCD(jets, tracks, particles, 1.0, 0.0, collision.mcCollision().ptHard());
fillHistogramsMCD(jets, tracks, 1.0, 0.0, collision.mcCollision().ptHard(), collision.mcCollisionId());
}
PROCESS_SWITCH(JetHadronRecoil, processMCD, "process MC detector level", false);

void processMCDWithRhoSubtraction(soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos, aod::JMcCollisionLbs>>::iterator const& collision,
aod::JMcCollisions const&,
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const& jets,
soa::Filtered<aod::JetTracksMCD> const& tracks,
soa::Filtered<aod::JetParticles> const& particles)
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const& tracks)
{
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
return;
Expand All @@ -954,15 +826,14 @@
return;
}
registry.fill(HIST("hZvtxSelected"), collision.posZ());
fillHistogramsMCD(jets, tracks, particles, 1.0, collision.rho(), collision.mcCollision().ptHard());
fillHistogramsMCD(jets, tracks, 1.0, collision.rho(), collision.mcCollision().ptHard(), collision.mcCollisionId());
}
PROCESS_SWITCH(JetHadronRecoil, processMCDWithRhoSubtraction, "process MC detector level with rho subtraction", false);

void processMCDWeighted(soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>::iterator const& collision,
aod::JMcCollisions const&,
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const& jets,
soa::Filtered<aod::JetTracksMCD> const& tracks,
soa::Filtered<aod::JetParticles> const& particles)
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const& tracks)
{
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
return;
Expand All @@ -980,15 +851,14 @@
return;
}
registry.fill(HIST("hZvtxSelected"), collision.posZ(), collision.mcCollision().weight());
fillHistogramsMCD(jets, tracks, particles, collision.mcCollision().weight(), 0.0, collision.mcCollision().ptHard());
fillHistogramsMCD(jets, tracks, collision.mcCollision().weight(), 0.0, collision.mcCollision().ptHard(), collision.mcCollisionId());
}
PROCESS_SWITCH(JetHadronRecoil, processMCDWeighted, "process MC detector level with event weights", false);

void processMCDWeightedWithRhoSubtraction(soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod::BkgChargedRhos>>::iterator const& collision,
aod::JMcCollisions const&,
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>> const& jets,
soa::Filtered<aod::JetTracksMCD> const& tracks,
soa::Filtered<aod::JetParticles> const& particles)
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JMcTrackLbs>> const& tracks)
{
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
return;
Expand All @@ -1006,7 +876,7 @@
return;
}
registry.fill(HIST("hZvtxSelected"), collision.posZ(), collision.mcCollision().weight());
fillHistogramsMCD(jets, tracks, particles, collision.mcCollision().weight(), collision.rho(), collision.mcCollision().ptHard());
fillHistogramsMCD(jets, tracks, collision.mcCollision().weight(), collision.rho(), collision.mcCollision().ptHard(), collision.mcCollisionId());
}
PROCESS_SWITCH(JetHadronRecoil, processMCDWeightedWithRhoSubtraction, "process MC detector level with event weights and rho subtraction", false);

Expand Down Expand Up @@ -1046,25 +916,6 @@
}
PROCESS_SWITCH(JetHadronRecoil, processMCPWeighted, "process MC particle level with event weights", false);

void processMCPWeightedWithMatchedTracks(aod::JetMcCollision const& collision,
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>> const& jets,
soa::Filtered<aod::JetParticles> const& particles,
soa::Filtered<aod::JetTracksMCD> const& tracks)
{
if (std::abs(collision.posZ()) > vertexZCut) {
return;
}
if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
return;
}
if (collision.ptHard() < pTHatMinEvent) {
return;
}
registry.fill(HIST("hZvtxSelected"), collision.posZ(), collision.weight());
fillMCPHistogramsWithMatchedTracks(jets, particles, tracks, collision.weight(), collision.ptHard());
}
PROCESS_SWITCH(JetHadronRecoil, processMCPWeightedWithMatchedTracks, "process MC particle level with event weights - only triggers matched with detector level tracks", false);

void processJetsMCPMCDMatched(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::JMcCollisionLbs>>::iterator const& collision,
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const& mcdjets,
aod::JetTracks const& tracks,
Expand Down Expand Up @@ -1240,7 +1091,7 @@
double deltaY = -1;
double dR = -1;
jetConstituents.clear();
for (auto& jetConstituent : jet.template tracks_as<X>()) {

Check failure on line 1094 in PWGJE/Tasks/jetHadronRecoil.cxx

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.
fastjetutilities::fillTracks(jetConstituent, jetConstituents, jetConstituent.globalIndex());
}
jetReclustered.clear();
Expand Down
Loading