diff --git a/PWGLF/Tasks/Nuspex/AngularCorrelationsInJets.cxx b/PWGLF/Tasks/Nuspex/AngularCorrelationsInJets.cxx index d1232ff5b31..397769b4293 100644 --- a/PWGLF/Tasks/Nuspex/AngularCorrelationsInJets.cxx +++ b/PWGLF/Tasks/Nuspex/AngularCorrelationsInJets.cxx @@ -58,7 +58,7 @@ struct AxisSpecs { }; struct AngularCorrelationsInJets { - // Switches + // Switches Configurable useRejectionCut{"useRejectionCut", true, "use nsigmaRejection for correlations"}; Configurable deuteronAnalysis{"deuteronAnalysis", true, "true [false]: analyse (anti)deuterons [(anti)helium-3]"}; Configurable measureYields{"measureYields", false, "measure yields"}; @@ -80,7 +80,7 @@ struct AngularCorrelationsInJets { Configurable maxChi2TPC{"maxChi2TPC", 4.0, "max chi2 per cluster TPC"}; Configurable maxDCAxy{"maxDCAxy", 0.05, "max DCA to vertex xy"}; Configurable maxDCAz{"maxDCAz", 0.05, "max DCA to vertex z"}; - Configurable maxEta{"maxEta", 0.8, "max pseudorapidity"}; // consider jet cone + Configurable maxEta{"maxEta", 0.8, "max pseudorapidity"}; // consider jet cone Configurable deltaEtaEdge{"deltaEtaEdge", 0.05, "min eta distance of jet from acceptance edge"}; // consider jet cone Configurable minTrackPt{"minTrackPt", 0.3, "minimum track pT"}; Configurable requirePVContributor{"requirePVContributor", false, "require track to be PV contributor"}; @@ -142,7 +142,6 @@ struct AngularCorrelationsInJets { Configurable kaonTPCnsigmaHighPt{"kaonTPCnsigmaHighPt", 3.0, "[kaon] max TPC nsigma with high pT"}; Configurable kaonTOFnsigma{"kaonTOFnsigma", 3.0, "[kaon] max TOF nsigma"}; - Configurable nsigmaRejection{"nsigmaRejection", 1.0, "reject tracks with nsigma < nsigmaRejection for >1 species"}; Configurable trackBufferSize{"trackBufferSize", 200, "Number of mixed-event tracks being stored"}; @@ -177,7 +176,7 @@ struct AngularCorrelationsInJets { nabs(aod::track::eta) < 0.8f && aod::track::pt > 0.1f); // add more preliminary cuts to filter if possible Filter collisionFilter = (nabs(aod::jcollision::posZ) < zVtx); - Filter jetTrackCuts = (nabs(aod::jtrack::eta) > maxEta/* && aod::jtrack::pt > minJetParticlePt */); + Filter jetTrackCuts = (nabs(aod::jtrack::eta) > maxEta /* && aod::jtrack::pt > minJetParticlePt */); Filter jetFilter = (aod::jet::pt >= minJetPt && nabs(aod::jet::eta) < nabs(maxEta - aod::jet::r / 100.f)); Preslice perCollisionFullTracksRun2 = o2::aod::track::collisionId; @@ -723,7 +722,7 @@ struct AngularCorrelationsInJets { } double phiToAxis = RecoDecay::constrainAngle(track.phi() - jetAxis.Phi(), 0); - double etaToAxis = track.eta() - jetAxis.Eta(); + double etaToAxis = track.eta() - jetAxis.Eta(); double deltaPhi = RecoDecay::constrainAngle(phiToAxis - buffer.at(i).first, -constants::math::PIHalf); double deltaEta = etaToAxis - buffer.at(i).second; @@ -1070,7 +1069,7 @@ struct AngularCorrelationsInJets { registryData.fill(HIST("ptJetAntiproton"), jetParticle.pt()); registryQC.fill(HIST("ptJetAntiprotonVsTotalJet"), jetParticle.pt(), subtractedJetPerp.pt()); registryData.fill(HIST("trackProtocol"), 6); // # antiprotons - } else if (isNucleus(jetParticle)) { // collect nuclei in jet + } else if (isNucleus(jetParticle)) { // collect nuclei in jet registryData.fill(HIST("ptJetNuclei"), jetParticle.pt()); registryQC.fill(HIST("ptJetNucleiVsTotalJet"), jetParticle.pt(), subtractedJetPerp.pt()); registryData.fill(HIST("trackProtocol"), 8); // # nuclei @@ -1087,7 +1086,8 @@ struct AngularCorrelationsInJets { registryData.fill(HIST("trackProtocol"), 5); // # high purity protons jetProtons.emplace_back(jetParticle); registryData.fill(HIST("dcaZJetProton"), jetParticle.pt(), jetParticle.dcaZ()); - } if (isAntiproton(jetParticle, true)) { + } + if (isAntiproton(jetParticle, true)) { registryData.fill(HIST("trackProtocol"), 7); // # high purity antiprotons jetAntiprotons.emplace_back(jetParticle); registryData.fill(HIST("dcaZJetAntiproton"), jetParticle.pt(), jetParticle.dcaZ()); @@ -1308,7 +1308,7 @@ struct AngularCorrelationsInJets { subtractedJetPerp = bkgSub.doRhoAreaSub(jet, rhoPerp, rhoMPerp); fastjet::PseudoJet subtractedJetArea(0., 0., 0., 0.); subtractedJetArea = bkgSub.doRhoAreaSub(jet, rho, rhoM); - + if (subtractedJetPerp.pt() < minJetPt) // cut on jet w/o bkg continue; registryData.fill(HIST("ptTotalSubJetPerp"), subtractedJetPerp.pt()); @@ -1319,17 +1319,17 @@ struct AngularCorrelationsInJets { registryQC.fill(HIST("rhoMEstimatePerp"), jet.pt(), rhoMPerp); double jetBkgDeltaPt = jet.pt() - subtractedJetPerp.pt(); registryQC.fill(HIST("jetBkgDeltaPt"), jetBkgDeltaPt); - + registryData.fill(HIST("eventProtocol"), 4); std::vector constituents = jet.constituents(); - + registryData.fill(HIST("eventProtocol"), 5); registryData.fill(HIST("numberOfJets"), 0); registryData.fill(HIST("ptTotalJet"), jet.pt()); registryData.fill(HIST("jetRapidity"), jet.rap()); registryData.fill(HIST("numPartInJet"), jet.constituents().size()); registryQC.fill(HIST("jetPtVsNumPart"), jet.pt(), jet.constituents().size()); - + double maxRadius = 0; for (const auto& constituent : constituents) { registryData.fill(HIST("ptJetParticle"), constituent.pt()); @@ -1337,7 +1337,7 @@ struct AngularCorrelationsInJets { registryQC.fill(HIST("phiPtJet"), constituent.pt(), constituent.phi()); registryQC.fill(HIST("etaJet"), constituent.eta()); registryQC.fill(HIST("etaPtJet"), constituent.pt(), constituent.eta()); - + if (std::isnan(constituent.phi()) || std::isnan(jet.phi())) // geometric jet cone continue; double deltaPhi = RecoDecay::constrainAngle(constituent.phi() - jet.phi(), -constants::math::PIHalf); @@ -1348,7 +1348,7 @@ struct AngularCorrelationsInJets { maxRadius = delta; } registryQC.fill(HIST("maxRadiusVsPt"), jet.pt(), maxRadius); - + // QA for comparison with nuclei_in_jets TVector3 pJet(0., 0., 0.); pJet.SetXYZ(jet.px(), jet.py(), jet.pz()); @@ -1356,14 +1356,14 @@ struct AngularCorrelationsInJets { TVector3 UEAxis2(0.0, 0.0, 0.0); getPerpendicularAxis(pJet, UEAxis1, +1.0); getPerpendicularAxis(pJet, UEAxis2, -1.0); - + double NchJetPlusUE(0); double NchJet(0); double NchUE(0); double ptJetPlusUE(0); double ptJet(0); double ptUE(0); - + for (const auto& [index, track] : particles) { TVector3 particleDir(track.px(), track.py(), track.pz()); double deltaEtaJet = particleDir.Eta() - pJet.Eta(); @@ -1375,7 +1375,7 @@ struct AngularCorrelationsInJets { double deltaEtaUE2 = particleDir.Eta() - UEAxis2.Eta(); double deltaPhiUE2 = getDeltaPhi(particleDir.Phi(), UEAxis2.Phi()); double deltaRUE2 = std::abs(deltaEtaUE2 * deltaEtaUE2 + deltaPhiUE2 * deltaPhiUE2); - + if (deltaRJet < Rmax) { if (deltaPhiJet != -999) registryQC.fill(HIST("deltaEtadeltaPhiJet"), deltaEtaJet, deltaPhiJet); @@ -1395,7 +1395,7 @@ struct AngularCorrelationsInJets { ptUE = ptUE + track.pt(); } } // for (const auto& [index, track] : particles) - + NchJet = NchJetPlusUE - 0.5 * NchUE; ptJet = ptJetPlusUE - 0.5 * ptUE; registryQC.fill(HIST("multiplicityJetPlusUE"), NchJetPlusUE); @@ -1405,19 +1405,19 @@ struct AngularCorrelationsInJets { registryQC.fill(HIST("ptJet"), ptJet); registryQC.fill(HIST("ptUE"), 0.5 * ptUE); registryQC.fill(HIST("deltaJetPt"), jet.pt() - ptJetPlusUE); - + int nPartClusteredJet = static_cast(constituents.size()); - + // Fill QA Histograms if (ptJetPlusUE < minJetPt) { // swap for sub pt? - + registryQC.fill(HIST("nParticlesClusteredInJet"), nPartClusteredJet); - + for (const auto& track : constituents) { registryQC.fill(HIST("ptParticlesClusteredInJet"), track.pt()); } } - + for (int i = 0; i < static_cast(constituents.size()); i++) { // analyse jet constituents - this is where the magic happens registryData.fill(HIST("trackProtocol"), 3); fastjet::PseudoJet pseudoParticle = constituents.at(i); @@ -1425,7 +1425,7 @@ struct AngularCorrelationsInJets { const auto& jetParticle = particles.at(id); if (!selectTrack(jetParticle)) continue; - + registryData.fill(HIST("dcaXYFullJet"), jetParticle.pt() * jetParticle.sign(), jetParticle.dcaXY()); registryData.fill(HIST("dcaZFullJet"), jetParticle.pt() * jetParticle.sign(), jetParticle.dcaZ()); registryData.fill(HIST("tpcSignal"), jetParticle.pt() * jetParticle.sign(), jetParticle.tpcSignal()); @@ -1436,7 +1436,7 @@ struct AngularCorrelationsInJets { double ptDiff = pseudoParticle.pt() - jetParticle.pt(); registryQC.fill(HIST("ptDiff"), ptDiff); } - + // if (jetParticle.pt() < minJetParticlePt) // continue; if (!jetParticle.has_mcParticle()) @@ -1495,7 +1495,7 @@ struct AngularCorrelationsInJets { registryData.fill(HIST("ptJetAntinuclei"), jetParticle.pt()); registryQC.fill(HIST("ptJetAntinucleiVsTotalJet"), jetParticle.pt(), subtractedJetPerp.pt()); registryData.fill(HIST("trackProtocol"), 10); // # antinuclei - } + } break; case 1000020030: if (!deuteronAnalysis) { @@ -1560,8 +1560,9 @@ struct AngularCorrelationsInJets { void processRun3(soa::Filtered>::iterator const& collision, soa::Filtered> const& allJets, - soa::Filtered const&/* , - soa::Filtered const& */) + soa::Filtered const& /* , + soa::Filtered const& */ + ) { registryData.fill(HIST("eventProtocol"), 0); if (!jetderiveddatautilities::selectCollision(collision, eventSelection)) @@ -1604,7 +1605,7 @@ struct AngularCorrelationsInJets { registryQC.fill(HIST("jetPtVsNumPart"), jet.pt(), jet.tracksIds().size()); registryQC.fill(HIST("maxRadiusVsPt"), jet.pt(), jet.r()); - for (const auto& track/* jtrack */ : jet.template tracks_as()) { + for (const auto& track /* jtrack */ : jet.template tracks_as()) { // const auto& track = jtrack.track_as(); if (!selectTrack(track)) continue; @@ -1652,11 +1653,11 @@ struct AngularCorrelationsInJets { registryData.fill(HIST("ptJetProton"), track.pt()); registryQC.fill(HIST("ptJetProtonVsTotalJet"), track.pt(), jet.pt()); registryData.fill(HIST("trackProtocol"), 4); // # protons - } else if (isAntiproton(track, false)) { // collect antiprotons in jet + } else if (isAntiproton(track, false)) { // collect antiprotons in jet registryData.fill(HIST("ptJetAntiproton"), track.pt()); registryQC.fill(HIST("ptJetAntiprotonVsTotalJet"), track.pt(), jet.pt()); registryData.fill(HIST("trackProtocol"), 6); // # antiprotons - } else if (isNucleus(track)) { // collect nuclei in jet + } else if (isNucleus(track)) { // collect nuclei in jet registryData.fill(HIST("ptJetNuclei"), track.pt()); registryQC.fill(HIST("ptJetNucleiVsTotalJet"), track.pt(), jet.pt()); registryData.fill(HIST("trackProtocol"), 8); // # nuclei