From 9a98a414e20c04b6e06344f77c1bd4ee3639bc59 Mon Sep 17 00:00:00 2001 From: kimb Date: Tue, 23 Jan 2024 11:33:04 +0900 Subject: [PATCH 1/5] Update functionality --- PWGMM/Mult/Tasks/dndeta-hi.cxx | 153 ++++++++++++++++++++++++--------- 1 file changed, 112 insertions(+), 41 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta-hi.cxx b/PWGMM/Mult/Tasks/dndeta-hi.cxx index aee7468ee12..ae579950449 100644 --- a/PWGMM/Mult/Tasks/dndeta-hi.cxx +++ b/PWGMM/Mult/Tasks/dndeta-hi.cxx @@ -56,8 +56,10 @@ using namespace o2::framework::expressions; using namespace o2::aod::track; using namespace o2::aod; -using namespace o2::aod::evsel; using namespace o2::analysis; +using namespace o2::aod::hf_cand_2prong; +using namespace o2::aod::hf_cand_bplus; +using namespace o2::analysis::hf_cuts_bplus_to_d0_pi; using BCsRun3 = soa::Join; using MyCollisions = soa::Join; @@ -145,7 +147,7 @@ static constexpr bool hasCent() } } // namespace -AxisSpec ZAxis = {{-30, -20, -15, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3, 5, 7, 10, 15, 20, 30}, "Z (cm)", "zaxis"}; +AxisSpec ZAxis = {{-30, -20, -15, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30}, "Z (cm)", "zaxis"}; AxisSpec DeltaZAxis = {61, -6.1, 6.1, "", "deltaz axis"}; AxisSpec DCAAxis = {601, -3.01, 3.01, "", "DCA axis"}; AxisSpec EtaAxis = {80, -4.0, 4.0, "#eta", "eta axis"}; @@ -156,7 +158,7 @@ AxisSpec EvtClassAxis = {kECend - 1, kECbegin + 0.5, kECend - 0.5, "", "event cl AxisSpec TrigClassAxis = {kTrigend - 1, kTrigbegin + 0.5, kTrigend - 0.5, "", "trigger class"}; AxisSpec ParticleTypeAxis = {kParTypeend - 1, kParTypebegin + 0.5, kParTypeend - 0.5, "", "Particle type"}; std::vector centBinningPbPb = {0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 60, 70, 80, 100}; -std::vector centBinning = {0., 0.01, 0.1, 1.0, 5.0, 10., 15., 20., 25., 30., 35., 40., 45., 50., 70., 100.0}; +std::vector centBinning = {0., 0.01, 0.1, 1.0, 5.0, 10., 15, 20., 25, 30., 35., 40., 45., 50., 70., 100.0}; AxisSpec CentAxis = {centBinning, "", "centrality"}; AxisSpec CentAxisPbPb = {centBinningPbPb, "", "centrality"}; AxisSpec SpeciesAxis = {kSpeciesend - 1, kSpeciesbegin + 0.5, kSpeciesend - 0.5, "", "species class"}; @@ -201,19 +203,25 @@ struct MultiplicityCounter { Configurable etadau{"etadau", 4, "Eta Daughters"}; Configurable rapidity{"v0rapidity", 0.5, "V0 rapidity"}; - Configurable mftanalysis{"mftanalysis", false, "mft analysis switch"}; + // Configurable mftanalysis{"mftanalysis", false, "mft analysis switch"}; Configurable zvtxcut{"zvtxcut", false, "z vtx cut < 10cm"}; HistogramRegistry registry{ "registry", - {{"Selection", ";status;events", {HistType::kTH1F, {{17, 0.5, 17.5}}}}}}; + {{"Selection", ";status;events", {HistType::kTH1F, {{17, 0.5, 17.5}}}} + + }}; std::vector usedTracksIds; void init(InitContext&) { registry.add({"hetaresponse", ";etaresponse", {HistType::kTH2D, {{80, -4, 4}, {80, -4, 4}}}}); - registry.add({"hft0multiplicity", ";multiplicity", {HistType::kTH1D, {{20000, 0, 200000}}}}); - registry.add({"hcentrality", IsPbPb ? " ; centrality_FT0C (%) " : "; centrality_FT0M", {HistType::kTH1F, {{1001, -0.05, 100.05}}}}); + registry.add({"hft0multiplicity", ";multiplicity", {HistType::kTH1D, {{10000, 0, 100000}}}}); + registry.add({"hcentrality", IsPbPb ? " ; centrality_FT0C (%) " : "; centrality_FT0M", {HistType::kTH1F, {{10000, 0, 100}}}}); + registry.add({"hcentralityvscentraldndeta", IsPbPb ? " ; centrality_FT0C (%) " : "; centrality_FT0M", {HistType::kTH2F, { + {100, 0, 100}, + {100, 0, 100}, + }}}); registry.add({"hrecdndeta", "evntclass; triggerclass; zvtex, eta", {HistType::kTHnSparseD, {EvtClassAxis, TrigClassAxis, ZAxis, EtaAxis, IsPbPb ? CentAxisPbPb : CentAxis, ParticleTypeAxis, phibin}}}); registry.add({"hreczvtx", "evntclass; triggerclass; zvtex", {HistType::kTHnSparseD, {EvtClassAxis, TrigClassAxis, ZAxis, IsPbPb ? CentAxisPbPb : CentAxis}}}); registry.add({"hphieta", "; #varphi; #eta; tracks", {HistType::kTHnSparseD, {EvtClassAxis, TrigClassAxis, PhiAxis, EtaAxis, IsPbPb ? CentAxisPbPb : CentAxis}}}); @@ -222,6 +230,15 @@ struct MultiplicityCounter { registry.add({"hgenzvtx", "evntclass; zvtex", {HistType::kTHnSparseD, {EvtClassAxis, ZAxis, IsPbPb ? CentAxisPbPb : CentAxis}}}); registry.add({"hv0mass", "etaaxis; invmass", {HistType::kTHnSparseD, {IsPbPb ? CentAxisPbPb : CentAxis, SpeciesAxis, V0EtaAxis, MassAxis}}}); + registry.add({"recetaINELg0Sel8recz10", ";etaresponse", {HistType::kTH2D, {EtaAxis, ZAxis}}}); + registry.add({"genetaINELg0Sel8recz10", ";etaresponse", {HistType::kTH2D, {EtaAxis, ZAxis}}}); + registry.add({"genetaINELg0Sel8genz10", ";etaresponse", {HistType::kTH2D, {EtaAxis, ZAxis}}}); + registry.add({"genetaINELg0genz10", ";etaresponse", {HistType::kTH2D, {EtaAxis, ZAxis}}}); + + registry.add({"reczINELg0Sel8", ";z", {HistType::kTH1D, {ZAxis}}}); + registry.add({"genzINELg0Sel8", ";z", {HistType::kTH1D, {ZAxis}}}); + registry.add({"genzINELg0", ";z", {HistType::kTH1D, {ZAxis}}}); + registry.add({"hcentmult", ";status;events", {HistType::kTH1D, {{100, 0, 100}}}}); const int nbins = 50; std::vector logbins(nbins + 1, 0); Double_t low = 0.01; @@ -235,6 +252,8 @@ struct MultiplicityCounter { registry.add({"hrecdndpt", " pt", {HistType::kTH1D, {ptbins2}}}); registry.add({"hdndptefficiency", " pt", {HistType::kTH1D, {ptbins2}}}); registry.add({"hgendndpt", " pt", {HistType::kTH1D, {{ptbins2}}}}); + registry.add({"hgendndpt2", " pt", {HistType::kTH1D, {{ptbins2}}}}); + registry.add({"hgendndpt05", " pt", {HistType::kTH1D, {{ptbins2}}}}); auto hstat = registry.get(HIST("Selection")); auto* x = hstat->GetXaxis(); @@ -257,7 +276,7 @@ struct MultiplicityCounter { x->SetBinLabel(17, "K0Sz10eta05"); } - expressions::Filter trackSelectionProper = ((aod::track::trackCutFlag & trackSelectionITS) == trackSelectionITS) && ifnode(ncheckbit(aod::track::detectorMap, (uint8_t)o2::aod::track::TPC), ncheckbit(aod::track::trackCutFlag, trackSelectionTPC), true) && ncheckbit(aod::track::trackCutFlag, trackSelectionDCA); + expressions::Filter trackSelectionProper = ((aod::track::trackCutFlag & trackSelectionITS) == trackSelectionITS) && ifnode(ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::TPC), ncheckbit(aod::track::trackCutFlag, trackSelectionTPC), true) && ncheckbit(aod::track::trackCutFlag, trackSelectionDCA); // static constexpr TrackSelectionFlags::flagtype trackSelectionITS = // TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF | @@ -276,8 +295,8 @@ struct MultiplicityCounter { // expressions::Filter trackSelectionProper = requireGlobalTrackWoPtEtaInFilter(); // expressions::Filter atrackFilter = (aod::track::bestCollisionId >= 0) && - // (nabs(aod::track::bestDCAZ) <= 2.f) && - // (nabs(aod::track::bestDCAXY) <= ((0.0105f + 0.0350f / npow(aod::track::pts, 1.1f)))); + // (nabs(aod::track::bestDCAZ) <= 2.f) && + // (nabs(aod::track::bestDCAXY) <= ((0.0105f + 0.0350f / npow(aod::track::pts, 1.1f)))); // expressions::Filter primaries = (aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary; expressions::Filter preFilterV0 = nabs(aod::v0data::dcapostopv) > dcapostopv&& nabs(aod::v0data::dcanegtopv) > dcanegtopv&& aod::v0data::dcaV0daughters < dcav0dau; @@ -293,15 +312,14 @@ struct MultiplicityCounter { // Preslice mcparticle_slice = o2::aod::mcparticle::mcCollisionId; // Preslice> tracks_slice = aod::track::collisionId; // Preslice mfttracks_slice = o2::aod::fwdtrack::collisionId; - void processEventStat( FullBCs const& bcs, soa::Join const& collisions) { std::vector::iterator> cols; for (auto& bc : bcs) { - if (!useEvSel || (bc.selection_bit(kIsBBT0A) & - bc.selection_bit(kIsBBT0C)) != 0) { + if (!useEvSel || (bc.selection_bit(o2::aod::evsel::kIsBBT0A) & + bc.selection_bit(o2::aod::evsel::kIsBBT0C)) != 0) { registry.fill(HIST("Selection"), 5.); cols.clear(); for (auto& collision : collisions) { @@ -361,8 +379,10 @@ struct MultiplicityCounter { if (btrigc[kSel8]) btrigc[kSel8g0] = true; } + if (btrigc[kSel8]) + registry.fill(HIST("reczINELg0Sel8"), z); - float cent = -1; + auto cent = -1.0; if (IsPbPb) { if constexpr (C::template contains()) cent = collision.centFT0C(); @@ -378,6 +398,8 @@ struct MultiplicityCounter { } else { if (std::abs(z) < 10 && btrigc[kSel8g0]) registry.fill(HIST("hcentrality"), cent); + if (std::abs(z) < 10 && btrigc[kSel8g0]) + registry.fill(HIST("hcentralityvscentraldndeta"), cent, Ntrk); } for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) { if (btrigc[itrigc]) @@ -385,8 +407,12 @@ struct MultiplicityCounter { } for (auto& track : pertracks) { + // if (track.tpcNClsFound()<100) continue; if (btrigc[kSel8] && std::abs(track.eta()) < 0.8 && std::abs(z) < 10) registry.fill(HIST("hrecdndpt"), track.pt()); + if (btrigc[kSel8]) + registry.fill(HIST("recetaINELg0Sel8recz10"), track.eta(), z); + for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) { if (btrigc[itrigc]) { // if (track.phi()>3.08 && track.phi()<3.14) { @@ -461,18 +487,26 @@ struct MultiplicityCounter { if (kp != nullptr) { if (std::abs(kp->Charge()) >= 3) { // if (bevtc[kINEL] == true && btrigc[kSel8] == true && std::abs(particle.eta())<0.8 && std::abs(mcz)<10 && particle.has_tracks()) registry.fill(HIST("hdndptefficiency"), particle.pt()); - if (bevtc[kINEL] && std::abs(particle.eta()) < 0.8 && std::abs(mcz) < 10) + if (bevtc[kINEL] && std::abs(particle.eta()) < 0.8 && std::abs(mcz) < 10) { registry.fill(HIST("hgendndpt"), particle.pt()); + if (particle.pt() < 0.1) { + registry.fill(HIST("hgendndpt2"), particle.pt(), -10.0 * particle.pt() + 2); + registry.fill(HIST("hgendndpt05"), particle.pt(), 5.0 * particle.pt() + 0.5); + } else { + registry.fill(HIST("hgendndpt2"), particle.pt()); + registry.fill(HIST("hgendndpt05"), particle.pt()); + } + } } } } auto collisionsample = collisions.sliceBy(perMcCol, mcCollision.globalIndex()); - auto cent = -1; + auto cent = -1.0; - if (collisionsample.size() != 1) { - cent = -1; - } else { + if (collisionsample.size() != 1) + cent = -1.0; + else { for (auto& collision : collisionsample) { if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) @@ -480,6 +514,14 @@ struct MultiplicityCounter { } else { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0M(); + + auto Ntrk_rec = 0; + auto trackspart = tracks.sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); + for (auto& track : trackspart) { + if (std::abs(track.eta()) < 1) { + Ntrk_rec++; + } + } } } } @@ -488,9 +530,10 @@ struct MultiplicityCounter { registry.fill(HIST("hgenzvtx"), Double_t(ievtc), genz, cent); } Int_t pid = 0; + std::vector particleetas; for (auto& particle : particles) { auto p = pdg->GetParticle(particle.pdgCode()); - if (std::abs(particle.pdgCode()) == 310 && std::abs(particle.eta()) < 0.5 && std::abs(genz) < 10) + if (std::abs(particle.pdgCode()) == 310 && fabs(particle.eta()) < 0.5 && fabs(genz) < 10) registry.fill(HIST("Selection"), 17.); if (!particle.isPhysicalPrimary()) { continue; @@ -526,6 +569,8 @@ struct MultiplicityCounter { } } } + if (pid >= kPion && pid <= kOPar) + particleetas.push_back(particle.eta()); } } } @@ -535,13 +580,20 @@ struct MultiplicityCounter { for (auto& collision : collisionsample) { // ncoll++; // if (!collision.has_mcCollision()) continue; - auto cent = -1; + auto cent = -1.0; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0C(); } else { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0M(); + auto Ntrk_rec = 0; + auto trackspart = tracks.sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); + for (auto& track : trackspart) { + if (std::abs(track.eta()) < 1) { + Ntrk_rec++; + } + } } Bool_1d btrigc(kTrigend, false); @@ -555,6 +607,20 @@ struct MultiplicityCounter { } if (bevtc[kINEL] && btrigc[kSel8] && fabs(z) < 10) registry.fill(HIST("hft0multiplicity"), collision.multFT0C()); + if (collisionsample.size() == 1 && bevtc[kINELg0] && btrigc[kSel8]) { + for (auto eta : particleetas) { + registry.fill(HIST("genetaINELg0Sel8recz10"), eta, z); + registry.fill(HIST("genetaINELg0Sel8genz10"), eta, mcz); + } + registry.fill(HIST("reczINELg0Sel8"), z); + registry.fill(HIST("genzINELg0Sel8"), genz); + } + if (collisionsample.size() == 1 && bevtc[kINELg0]) { + for (auto eta : particleetas) { + registry.fill(HIST("genetaINELg0genz10"), eta, mcz); + } + registry.fill(HIST("genzINELg0"), genz); + } auto Ntrk_rec = 0; // auto trackspart = lsample->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); @@ -564,6 +630,7 @@ struct MultiplicityCounter { // trackspart.bindExternalIndices(&mcParticles); // cout<trackpers->"> for (auto& track : trackspart) { + // if (track.tpcNClsFound()<100) continue; if (std::abs(track.eta()) < 1) { Ntrk_rec++; } @@ -603,8 +670,7 @@ struct MultiplicityCounter { if (track.has_mcParticle()) { Int_t pid = kBkg; auto particle = track.template mcParticle_as(); - if (bevtc[kINEL] && btrigc[kSel8] && std::abs(track.eta()) < 0.8 && std::abs(z) < 10) - registry.fill(HIST("hdndptefficiency"), particle.pt()); + // if (track.tpcNClsFound()<100) continue; if (particle.isPhysicalPrimary()) { switch (std::abs(particle.pdgCode())) { @@ -636,6 +702,11 @@ struct MultiplicityCounter { pid = kBkg; mclabels.push_back(track.mcParticleId()); registry.fill(HIST("hetaresponse"), particle.eta(), track.eta(), cent); + if (bevtc[kINEL] && btrigc[kSel8] && std::abs(track.eta()) < 0.8 && std::abs(z) < 10 && pid != kBkg && pid != kNotPrimary) + registry.fill(HIST("hdndptefficiency"), particle.pt()); + // if (bevtc[kINEL] && std::abs(particle.eta())<0.8 && std::abs(mcz)<10 ) registry.fill(HIST("hgendndpt"), particle.pt()); + if (btrigc[kSel8] && bevtc[kINELg0]) + registry.fill(HIST("recetaINELg0Sel8recz10"), track.eta(), z); for (auto ievtc = 1u; ievtc < kECend; ievtc++) { for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) { if (bevtc[ievtc] && btrigc[itrigc]) { @@ -662,15 +733,15 @@ struct MultiplicityCounter { // registrfill(HIST("Tracks/ProcessMCCounting/hProcessCode"), Double_t(kINEL), Double_t(kAll), track.template mcParticle_as().getProcess()); // } // else{ - // for (auto ievtc = 1u; ievtc < kECend; ievtc++) - // { - // for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) - // { - // if (bevtc[ievtc] == true && btrigc[itrigc] == true){ - // registry.fill(HIST("hrecdndeta"), Double_t(ievtc), Double_t(itrigc), z, track.eta(),cent, Double_t(kBkg), track.pt()); - // } - // } - // } + // for (auto ievtc = 1u; ievtc < kECend; ievtc++) + // { + // for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) + // { + // if (bevtc[ievtc] == true && btrigc[itrigc] == true){ + // registry.fill(HIST("hrecdndeta"), Double_t(ievtc), Double_t(itrigc), z, track.eta(),cent, Double_t(kBkg), track.pt()); + // } + // } + // } //} } @@ -811,7 +882,7 @@ struct MultiplicityCounter { void processV0Counting( MyCollisionsCent const& collisions, - soa::Filtered const& fullV0s, + aod::V0Datas const& fullV0s, FiTracks const& tracks) { for (auto& collision : collisions) { @@ -819,7 +890,7 @@ struct MultiplicityCounter { continue; auto z = collision.posZ(); - auto cent = -1; + auto cent = -1.0; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0C(); @@ -830,14 +901,14 @@ struct MultiplicityCounter { for (auto& v0 : fullV0s) { - auto pTrack = v0.template posTrack_as(); - auto nTrack = v0.template negTrack_as(); - - if (v0.v0radius() > v0radius && - v0.v0cosPA() > v0cospa && - abs(pTrack.eta()) < etadau && - abs(nTrack.eta()) < etadau && fabs(z) < 10 && fabs(v0.eta()) < 0.5) { + // auto pTrack = v0.template posTrack_as(); + // auto nTrack = v0.template negTrack_as(); + // if (v0.v0radius() > v0radius && + // v0.v0cosPA(collision.posX(), collision.posY(), collision.posZ()) > v0cospa && + // abs(pTrack.eta()) < etadau && + // abs(nTrack.eta()) < etadau && fabs(z)<10 && fabs(v0.eta())<0.5) { + if (fabs(z) < 10) { registry.fill(HIST("hv0mass"), cent, Double_t(kK0short), v0.eta(), Double_t(v0.mK0Short())); registry.fill(HIST("hv0mass"), cent, Double_t(kLambda), v0.eta(), Double_t(v0.mLambda())); registry.fill(HIST("hv0mass"), cent, Double_t(kAntilambda), v0.eta(), Double_t(v0.mAntiLambda())); From 02a8e18891d14cc988eb376ad693ed60fb7b729f Mon Sep 17 00:00:00 2001 From: kimb Date: Tue, 23 Jan 2024 11:42:40 +0900 Subject: [PATCH 2/5] white space corrected --- PWGMM/Mult/Tasks/dndeta-hi.cxx | 135 +-------------------------------- 1 file changed, 2 insertions(+), 133 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta-hi.cxx b/PWGMM/Mult/Tasks/dndeta-hi.cxx index ae579950449..9ca8bd335fd 100644 --- a/PWGMM/Mult/Tasks/dndeta-hi.cxx +++ b/PWGMM/Mult/Tasks/dndeta-hi.cxx @@ -277,41 +277,11 @@ struct MultiplicityCounter { } expressions::Filter trackSelectionProper = ((aod::track::trackCutFlag & trackSelectionITS) == trackSelectionITS) && ifnode(ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::TPC), ncheckbit(aod::track::trackCutFlag, trackSelectionTPC), true) && ncheckbit(aod::track::trackCutFlag, trackSelectionDCA); - - // static constexpr TrackSelectionFlags::flagtype trackSelectionITS = - // TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF | - // TrackSelectionFlags::kITSHits; - - // static constexpr TrackSelectionFlags::flagtype trackSelectionTPC = - // TrackSelectionFlags::kTPCNCls | - // TrackSelectionFlags::kTPCCrossedRowsOverNCls | - // TrackSelectionFlags::kTPCChi2NDF; - - // static constexpr TrackSelectionFlags::flagtype trackSelectionDCA = - // TrackSelectionFlags::kDCAz | TrackSelectionFlags::kDCAxy; - - // expressions::Filter trackSelectionProper = (aod::track::trackCutFlag & TrackSelectionFlags::kQualityTracks) == TrackSelectionFlags::kQualityTracks ; - // Filter trackSelectionProper = ncheckbit(aod::track::trackCutFlag, trackSelectionDCA); - - // expressions::Filter trackSelectionProper = requireGlobalTrackWoPtEtaInFilter(); - // expressions::Filter atrackFilter = (aod::track::bestCollisionId >= 0) && - // (nabs(aod::track::bestDCAZ) <= 2.f) && - // (nabs(aod::track::bestDCAXY) <= ((0.0105f + 0.0350f / npow(aod::track::pts, 1.1f)))); - // expressions::Filter primaries = (aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary; expressions::Filter preFilterV0 = nabs(aod::v0data::dcapostopv) > dcapostopv&& nabs(aod::v0data::dcanegtopv) > dcanegtopv&& aod::v0data::dcaV0daughters < dcav0dau; Partition mcSample = nabs(aod::mcparticle::eta) < estimatorEta; Partition tSample = nabs(aod::track::eta) < estimatorEta; - // Partition tSample2 = (aod::fwdtrack::eta < -2.f) && (aod::fwdtrack::eta > -4.f); Partition tSample3 = nabs(aod::track::eta) < estimatorEta; - // Partition> lsample = nabs(aod::track::eta) < estimatorEta; - - // Preslice perCol = aod::track::collisionId; - // Preslice> mcmfttracks_slice = o2::aod::fwdtrack::collisionId; - // Preslice> mctracks_slice = aod::track::collisionId; - // Preslice mcparticle_slice = o2::aod::mcparticle::mcCollisionId; - // Preslice> tracks_slice = aod::track::collisionId; - // Preslice mfttracks_slice = o2::aod::fwdtrack::collisionId; void processEventStat( FullBCs const& bcs, soa::Join const& collisions) @@ -355,7 +325,6 @@ struct MultiplicityCounter { Bool_1d btrigc(kTrigend, false); registry.fill(HIST("Selection"), 1.); auto z = collision.posZ(); - // auto permfttracks = tSample2->sliceByCached(aod::fwdtrack::collisionId, collision.globalIndex(), cache); auto pertracks = tSample3->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); auto Ntrk = 0; @@ -407,7 +376,6 @@ struct MultiplicityCounter { } for (auto& track : pertracks) { - // if (track.tpcNClsFound()<100) continue; if (btrigc[kSel8] && std::abs(track.eta()) < 0.8 && std::abs(z) < 10) registry.fill(HIST("hrecdndpt"), track.pt()); if (btrigc[kSel8]) @@ -415,9 +383,6 @@ struct MultiplicityCounter { for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) { if (btrigc[itrigc]) { - // if (track.phi()>3.08 && track.phi()<3.14) { - // continue; - // } registry.fill(HIST("hphieta"), Double_t(kDATA), Double_t(itrigc), track.phi(), track.eta(), cent); registry.fill(HIST("hrecdndeta"), Double_t(kDATA), Double_t(itrigc), z, track.eta(), cent, Double_t(kParDATA), track.phi()); } @@ -426,34 +391,20 @@ struct MultiplicityCounter { } } - // template - // PresliceUnsorted perMcCol = aod::mccollisionlabel::mcCollisionId; - // PresliceUnsorted> perMcCol = o2::aod::mccollisionlabel::mcCollisionId; PresliceUnsorted> perMcCol = o2::aod::mccollisionlabel::mcCollisionId; Preslice perMCColparticles = aod::mcparticle::mcCollisionId; void processMCCounting( - aod::McCollisions const& mcCollisions, soa::Join const& collisions, Particles const& mcParticles - //, soa::Filtered const& mcParticles - , - FiLTracks const& tracks - //, FiTracks const& tracks - //, DaughterTracks const& - // soa::SmallGroups const& atracks, - // soa::Join const& mfttracks - ) + aod::McCollisions const& mcCollisions, soa::Join const& collisions, Particles const& mcParticles, + FiLTracks const& tracks) { - //[[maybe_unused]] constexpr bool hasCentrality = C::template contains() || C::template contains() || hasCent(); for (auto& mcCollision : mcCollisions) { Bool_1d bevtc(kECend, false); bevtc[kINEL] = true; registry.fill(HIST("Selection"), 1.); - // auto z = collision.posZ(); auto mcz = mcCollision.posZ(); auto genz = mcz; - // auto cent = -1; - auto Ntrk_gen = 0; auto particles = mcParticles.sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex(), cache); for (auto& particle : particles) { @@ -486,7 +437,6 @@ struct MultiplicityCounter { auto kp = pdg->GetParticle(particle.pdgCode()); if (kp != nullptr) { if (std::abs(kp->Charge()) >= 3) { - // if (bevtc[kINEL] == true && btrigc[kSel8] == true && std::abs(particle.eta())<0.8 && std::abs(mcz)<10 && particle.has_tracks()) registry.fill(HIST("hdndptefficiency"), particle.pt()); if (bevtc[kINEL] && std::abs(particle.eta()) < 0.8 && std::abs(mcz) < 10) { registry.fill(HIST("hgendndpt"), particle.pt()); if (particle.pt() < 0.1) { @@ -557,7 +507,6 @@ struct MultiplicityCounter { if (std::abs(p->Charge()) >= 3) { for (auto ievtc = 1u; ievtc < kECend; ievtc++) { if (bevtc[ievtc]) { - // if (particle.phi()>3.08 && particle.phi()<3.14) continue; registry.fill(HIST("hgendndeta"), Double_t(ievtc), genz, particle.eta(), cent, Double_t(pid), kNoPtVar, particle.phi()); if (particle.pt() < 0.1) { registry.fill(HIST("hgendndeta"), Double_t(ievtc), genz, particle.eta(), cent, Double_t(pid), kPtUp, particle.phi(), -10.0 * particle.pt() + 2); @@ -575,11 +524,7 @@ struct MultiplicityCounter { } } - // if (collisionsample.size()>=2) continue; - for (auto& collision : collisionsample) { - // ncoll++; - // if (!collision.has_mcCollision()) continue; auto cent = -1.0; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) @@ -623,21 +568,14 @@ struct MultiplicityCounter { } auto Ntrk_rec = 0; - // auto trackspart = lsample->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); - // auto trackspart = mctracks_slice->sliceByCached(aod::track::collisionId, collision.globalIndex(),cache); - // auto trackspart = lsample->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); auto trackspart = tracks.sliceByCached(aod::track::collisionId, collision.globalIndex(), cache); - // trackspart.bindExternalIndices(&mcParticles); - // cout<trackpers->"> for (auto& track : trackspart) { - // if (track.tpcNClsFound()<100) continue; if (std::abs(track.eta()) < 1) { Ntrk_rec++; } } if (Ntrk_rec > 0) { - // registry.fill(HIST("Selection"), 3.); if (btrigc[kSel8]) btrigc[kSel8g0] = true; } @@ -670,8 +608,6 @@ struct MultiplicityCounter { if (track.has_mcParticle()) { Int_t pid = kBkg; auto particle = track.template mcParticle_as(); - // if (track.tpcNClsFound()<100) continue; - if (particle.isPhysicalPrimary()) { switch (std::abs(particle.pdgCode())) { case 211: @@ -695,7 +631,6 @@ struct MultiplicityCounter { auto pdg_mother = mother.pdgCode(); if (pdg_mother == 310 || std::abs(pdg_mother) == 3122) { pid = kMotherStrange; - // cout<< "MotherIDS : "<3.08 && track.phi()<3.14) continue; registry.fill(HIST("hrecdndeta"), Double_t(ievtc), Double_t(itrigc), z, particle.eta(), cent, Double_t(pid), particle.phi()); registry.fill(HIST("hphieta"), Double_t(ievtc), Double_t(itrigc), track.phi(), track.eta(), cent); } @@ -721,29 +654,11 @@ struct MultiplicityCounter { for (auto ievtc = 1u; ievtc < kECend; ievtc++) { for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) { if (bevtc[ievtc] && btrigc[itrigc]) { - // if (track.phi()>3.08 && track.phi()<3.14) continue; registry.fill(HIST("hrecdndeta"), Double_t(ievtc), Double_t(itrigc), z, track.eta(), cent, Double_t(kBkg), track.phi()); } } } } - - // registry.fill(HIST("Tracks/ProcessMCCounting/hStatusCode"), Double_t(kINEL), Double_t(kAll), track.template mcParticle_as().getGenStatusCode()); - // registry.fill(HIST("Tracks/ProcessMCCounting/hMCStatusCode"), Double_t(kINEL), Double_t(kAll), track.template mcParticle_as().getHepMCStatusCode()); - // registrfill(HIST("Tracks/ProcessMCCounting/hProcessCode"), Double_t(kINEL), Double_t(kAll), track.template mcParticle_as().getProcess()); - // } - // else{ - // for (auto ievtc = 1u; ievtc < kECend; ievtc++) - // { - // for (auto itrigc = 1u; itrigc < kTrigend; itrigc++) - // { - // if (bevtc[ievtc] == true && btrigc[itrigc] == true){ - // registry.fill(HIST("hrecdndeta"), Double_t(ievtc), Double_t(itrigc), z, track.eta(),cent, Double_t(kBkg), track.pt()); - // } - // } - // } - - //} } } } @@ -774,44 +689,10 @@ struct MultiplicityCounter { MyCollisionsCent const& collisions, FiTracks const& tracks) { - // runCounting(collisions, tracks, fullV0s, mfttracks); runCounting(collisions, tracks); } PROCESS_SWITCH(MultiplicityCounter, processCounting, "Count tracks with Centrality", false); - /*void processMCCounting( - //aod::McCollisions::iterator const& mccollision - //, soa::Join const& collisions - //, Particles const& mcParticles - //, soa::Filtered const& Fitrks - //, DaughterTracks const& Dautrks - //soa::SmallGroups const& atracks, - //soa::Join const& mfttracks - //) - aod::McCollisions::iterator const& mcCollision - , o2::soa::SmallGroups> const& collisions - , Particles const& particles - //, soa::Filtered const& Fitrks - , FiTracks const& Fitrks - ) - { - // runMCCounting(collisions, MCCollisions, fullV0s, mcParticles, Fitrks, Dautrks, atracks, mfttracks); - //runMCCounting(collisions - runMCCounting(mcCollision - , collisions - , particles - , Fitrks - //, Dautrks - //, atracks - //, mfttracks - ); - - }*/ - - // void processGen( - // aod::McCollisions::iterator const& mcCollision, - // o2::soa::SmallGroups> const& collisions, - // Particles const& mcParticles, FiTracks const& tracks) void processGen( aod::McCollisions::iterator const& mcCollision, Particles const& mcParticles) { @@ -830,7 +711,6 @@ struct MultiplicityCounter { } } } - // cout<<"INEL? "<0? "<Charge()) >= 3) { for (auto ievtc = 1u; ievtc < kECend; ievtc++) { if (bevtc[ievtc]) { - // if (particle.phi()>3.08 && particle.phi()<3.14) continue; registry.fill(HIST("hgendndeta"), Double_t(ievtc), genz, particle.eta(), -1.0, Double_t(pid), kNoPtVar, particle.phi()); if (particle.pt() < 0.1) { registry.fill(HIST("hgendndeta"), Double_t(ievtc), genz, particle.eta(), -1.0, Double_t(pid), kPtUp, particle.phi(), 2.0); @@ -900,14 +779,6 @@ struct MultiplicityCounter { } for (auto& v0 : fullV0s) { - - // auto pTrack = v0.template posTrack_as(); - // auto nTrack = v0.template negTrack_as(); - - // if (v0.v0radius() > v0radius && - // v0.v0cosPA(collision.posX(), collision.posY(), collision.posZ()) > v0cospa && - // abs(pTrack.eta()) < etadau && - // abs(nTrack.eta()) < etadau && fabs(z)<10 && fabs(v0.eta())<0.5) { if (fabs(z) < 10) { registry.fill(HIST("hv0mass"), cent, Double_t(kK0short), v0.eta(), Double_t(v0.mK0Short())); registry.fill(HIST("hv0mass"), cent, Double_t(kLambda), v0.eta(), Double_t(v0.mLambda())); @@ -937,8 +808,6 @@ struct MultiplicityCounter { cent = collision.centFT0M(); } - // auto mcCollision = collision.mcCollision(); - if (useEvSel && !collision.sel8()) // event selection cut continue; if (!collision.has_mcCollision()) // check mc particle From ec4f8ecae9fcee92dcddfa0ee1f98d7c968a4e72 Mon Sep 17 00:00:00 2001 From: kimb Date: Tue, 23 Jan 2024 11:52:23 +0900 Subject: [PATCH 3/5] bug fixed --- PWGMM/Mult/Tasks/dndeta-hi.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PWGMM/Mult/Tasks/dndeta-hi.cxx b/PWGMM/Mult/Tasks/dndeta-hi.cxx index 9ca8bd335fd..f59f576f02a 100644 --- a/PWGMM/Mult/Tasks/dndeta-hi.cxx +++ b/PWGMM/Mult/Tasks/dndeta-hi.cxx @@ -454,8 +454,9 @@ struct MultiplicityCounter { auto collisionsample = collisions.sliceBy(perMcCol, mcCollision.globalIndex()); auto cent = -1.0; - if (collisionsample.size() != 1) + if (collisionsample.size() != 1){ cent = -1.0; + } else { for (auto& collision : collisionsample) { if (IsPbPb) { From d368b526ef5fe9bdd9c98f430bce13bb32751c5f Mon Sep 17 00:00:00 2001 From: kimb Date: Tue, 23 Jan 2024 11:56:02 +0900 Subject: [PATCH 4/5] white space fixed --- PWGMM/Mult/Tasks/dndeta-hi.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta-hi.cxx b/PWGMM/Mult/Tasks/dndeta-hi.cxx index f59f576f02a..0d84889b661 100644 --- a/PWGMM/Mult/Tasks/dndeta-hi.cxx +++ b/PWGMM/Mult/Tasks/dndeta-hi.cxx @@ -454,10 +454,9 @@ struct MultiplicityCounter { auto collisionsample = collisions.sliceBy(perMcCol, mcCollision.globalIndex()); auto cent = -1.0; - if (collisionsample.size() != 1){ + if (collisionsample.size() != 1) { cent = -1.0; - } - else { + } else { for (auto& collision : collisionsample) { if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) From 0d2ee8c4d189cc1872cd7d4fb7e9eab3f344edc9 Mon Sep 17 00:00:00 2001 From: kimb Date: Tue, 23 Jan 2024 16:34:19 +0900 Subject: [PATCH 5/5] suggestion reflected --- PWGMM/Mult/Tasks/dndeta-hi.cxx | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta-hi.cxx b/PWGMM/Mult/Tasks/dndeta-hi.cxx index 0d84889b661..75b7fe9a587 100644 --- a/PWGMM/Mult/Tasks/dndeta-hi.cxx +++ b/PWGMM/Mult/Tasks/dndeta-hi.cxx @@ -57,9 +57,6 @@ using namespace o2::aod::track; using namespace o2::aod; using namespace o2::analysis; -using namespace o2::aod::hf_cand_2prong; -using namespace o2::aod::hf_cand_bplus; -using namespace o2::analysis::hf_cuts_bplus_to_d0_pi; using BCsRun3 = soa::Join; using MyCollisions = soa::Join; @@ -335,7 +332,7 @@ struct MultiplicityCounter { registry.fill(HIST("Selection"), 3.); } } - if (btrigc[kSel8] && fabs(z) < 10) + if (btrigc[kSel8] && std::abs(z) < 10) registry.fill(HIST("hft0multiplicity"), collision.multFT0C()); for (auto& track : pertracks) { @@ -351,7 +348,7 @@ struct MultiplicityCounter { if (btrigc[kSel8]) registry.fill(HIST("reczINELg0Sel8"), z); - auto cent = -1.0; + auto cent = -1.f; if (IsPbPb) { if constexpr (C::template contains()) cent = collision.centFT0C(); @@ -425,11 +422,11 @@ struct MultiplicityCounter { } if (bevtc[kINEL]) registry.fill(HIST("Selection"), 9); - if (bevtc[kINEL] && fabs(mcz) < 10) + if (bevtc[kINEL] && std::abs(mcz) < 10) registry.fill(HIST("Selection"), 11); if (bevtc[kINELg0]) registry.fill(HIST("Selection"), 10); - if (bevtc[kINELg0] && fabs(mcz) < 10) + if (bevtc[kINELg0] && std::abs(mcz) < 10) registry.fill(HIST("Selection"), 12); for (auto& particle : particles) { if (!particle.isPhysicalPrimary()) @@ -452,7 +449,7 @@ struct MultiplicityCounter { } auto collisionsample = collisions.sliceBy(perMcCol, mcCollision.globalIndex()); - auto cent = -1.0; + auto cent = -1.f; if (collisionsample.size() != 1) { cent = -1.0; @@ -483,7 +480,7 @@ struct MultiplicityCounter { std::vector particleetas; for (auto& particle : particles) { auto p = pdg->GetParticle(particle.pdgCode()); - if (std::abs(particle.pdgCode()) == 310 && fabs(particle.eta()) < 0.5 && fabs(genz) < 10) + if (std::abs(particle.pdgCode()) == 310 && std::abs(particle.eta()) < 0.5 && std::abs(genz) < 10) registry.fill(HIST("Selection"), 17.); if (!particle.isPhysicalPrimary()) { continue; @@ -525,7 +522,7 @@ struct MultiplicityCounter { } for (auto& collision : collisionsample) { - auto cent = -1.0; + auto cent = -1.f; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0C(); @@ -550,7 +547,7 @@ struct MultiplicityCounter { registry.fill(HIST("Selection"), 3.); } } - if (bevtc[kINEL] && btrigc[kSel8] && fabs(z) < 10) + if (bevtc[kINEL] && btrigc[kSel8] && std::abs(z) < 10) registry.fill(HIST("hft0multiplicity"), collision.multFT0C()); if (collisionsample.size() == 1 && bevtc[kINELg0] && btrigc[kSel8]) { for (auto eta : particleetas) { @@ -589,11 +586,11 @@ struct MultiplicityCounter { if (bevtc[kINEL] && btrigc[kSel8]) registry.fill(HIST("Selection"), 13); - if (bevtc[kINEL] && btrigc[kSel8] && fabs(z) < 10) + if (bevtc[kINEL] && btrigc[kSel8] && std::abs(z) < 10) registry.fill(HIST("Selection"), 15); if (bevtc[kINELg0] && btrigc[kSel8g0]) registry.fill(HIST("Selection"), 14); - if (bevtc[kINELg0] && btrigc[kSel8g0] && fabs(z) < 10) + if (bevtc[kINELg0] && btrigc[kSel8g0] && std::abs(z) < 10) registry.fill(HIST("Selection"), 16); for (auto ievtc = 1u; ievtc < kECend; ievtc++) { @@ -718,7 +715,7 @@ struct MultiplicityCounter { Int_t pid = 0; for (auto& particle : mcParticles) { auto p = pdg->GetParticle(particle.pdgCode()); - if (std::abs(particle.pdgCode()) == 310 && fabs(particle.eta()) < 0.5 && fabs(genz) < 10) + if (std::abs(particle.pdgCode()) == 310 && std::abs(particle.eta()) < 0.5 && std::abs(genz) < 10) registry.fill(HIST("Selection"), 17.); if (!particle.isPhysicalPrimary()) { continue; @@ -769,7 +766,7 @@ struct MultiplicityCounter { continue; auto z = collision.posZ(); - auto cent = -1.0; + auto cent = -1.f; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains()) cent = collision.centFT0C(); @@ -779,7 +776,7 @@ struct MultiplicityCounter { } for (auto& v0 : fullV0s) { - if (fabs(z) < 10) { + if (std::abs(z) < 10) { registry.fill(HIST("hv0mass"), cent, Double_t(kK0short), v0.eta(), Double_t(v0.mK0Short())); registry.fill(HIST("hv0mass"), cent, Double_t(kLambda), v0.eta(), Double_t(v0.mLambda())); registry.fill(HIST("hv0mass"), cent, Double_t(kAntilambda), v0.eta(), Double_t(v0.mAntiLambda())); @@ -798,7 +795,7 @@ struct MultiplicityCounter { DaughterTracks const& Dautrks) { for (auto& collision : collisions) { - auto cent = -1.0; + auto cent = -1.f; if (IsPbPb) { if constexpr (MyCollisionsCent::template contains())