From 2daa11489d6128b1cc40fd99b9bebcc05956a68d Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Wed, 20 Jul 2022 11:20:53 +0200 Subject: [PATCH 1/4] event chi2 and timeRes --- PWGMM/Mult/Tasks/dndeta.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/PWGMM/Mult/Tasks/dndeta.cxx b/PWGMM/Mult/Tasks/dndeta.cxx index 626afb48aac..aaa2e273556 100644 --- a/PWGMM/Mult/Tasks/dndeta.cxx +++ b/PWGMM/Mult/Tasks/dndeta.cxx @@ -62,7 +62,9 @@ struct MultiplicityCounter { {"Tracks/Control/PtEta", " ; p_{T} (GeV/c); #eta", {HistType::kTH2F, {PtAxis, EtaAxis}}}, // {"Tracks/Control/DCAXYPt", " ; p_{T} (GeV/c) ; DCA_{XY} (cm)", {HistType::kTH2F, {PtAxis, DCAAxis}}}, // {"Tracks/Control/DCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAAxis}}}, // - {"Events/Selection", ";status;events", {HistType::kTH1F, {{7, 0.5, 7.5}}}} // + {"Events/Selection", ";status;events", {HistType::kTH1F, {{7, 0.5, 7.5}}}}, // + {"Events/Control/Chi2", " ; #chi^2", {HistType::kTH1F, {{101, -0.1, 10.1}}}}, // + {"Events/Control/TimeResolution", " ; t (ms)", {HistType::kTH1F, {{1001, -0.1, 100.1}}}} // } // }; @@ -151,6 +153,10 @@ struct MultiplicityCounter { registry.fill(HIST("Events/Selection"), 7.); } } + for (auto& col : cols) { + registry.fill(HIST("Events/Control/Chi2"), col.chi2()); + registry.fill(HIST("Events/Control/TimeResolution"), col.collisionTimeRes()); + } } } } From 6cc88374d886ac4714d6d25135c66e41ceae62a0 Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Mon, 25 Jul 2022 09:23:17 +0200 Subject: [PATCH 2/4] remove zdiff cut --- PWGMM/Mult/Tasks/dndeta.cxx | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta.cxx b/PWGMM/Mult/Tasks/dndeta.cxx index aaa2e273556..35900aad428 100644 --- a/PWGMM/Mult/Tasks/dndeta.cxx +++ b/PWGMM/Mult/Tasks/dndeta.cxx @@ -48,8 +48,6 @@ struct MultiplicityCounter { Configurable useEvSel{"useEvSel", true, "use event selection"}; Configurable maxDCAZ{"maxDCAZ", 0.3f, "max track DCAZ"}; Configurable useDCAZcut{"useDCAZcut", true, "apply track DCAZ cut"}; - Configurable useZDfiffCut{"useZDiffCut", true, "use Z difference cut"}; - Configurable maxZDiff{"maxZDiff", 1.0f, "max allowed Z difference for reconstruced collisions (cm)"}; Configurable fillResponse{"fillResponse", false, "Fill response matrix"}; HistogramRegistry registry{ @@ -92,11 +90,9 @@ struct MultiplicityCounter { registry.add({"Tracks/PhiEtaGen", "; #varphi; #eta; tracks", {HistType::kTH2F, {PhiAxis, EtaAxis}}}); registry.add({"Tracks/Control/PhiEtaGenDuplicates", "; #varphi; #eta; tracks", {HistType::kTH2F, {PhiAxis, EtaAxis}}}); registry.add({"Tracks/Control/PhiEtaDuplicates", "; #varphi; #eta; tracks", {HistType::kTH2F, {PhiAxis, EtaAxis}}}); - registry.add({"Events/Efficiency", "; status; events", {HistType::kTH1F, {{7, 0.5, 7.5}}}}); + registry.add({"Events/Efficiency", "; status; events", {HistType::kTH1F, {{5, 0.5, 5.5}}}}); registry.add({"Events/NotFoundEventZvtx", " ; Z_{vtx} (cm)", {HistType::kTH1F, {ZAxis}}}); - registry.add({"Events/ZposDiff", " ; Z_{rec} - Z_{gen} (cm)", {HistType::kTH1F, {DeltaZAxis}}}); - if (fillResponse) { registry.add({"Events/Response", " ; N_{rec}; N_{gen}; Z_{vtx} (cm)", {HistType::kTH3F, {MultAxis, MultAxis, ZAxis}}}); registry.add({"Events/EfficiencyMult", " ; N_{gen}; Z_{vtx} (cm)", {HistType::kTH2F, {MultAxis, ZAxis}}}); @@ -110,8 +106,6 @@ struct MultiplicityCounter { x->SetBinLabel(3, "Reconstructed"); x->SetBinLabel(4, "Selected"); x->SetBinLabel(5, "Selected INEL>0"); - x->SetBinLabel(6, "Selected (Zdiff)"); - x->SetBinLabel(7, "Selected INEL>0 (ZDiff)"); } if (doprocessTrackEfficiency) { @@ -221,11 +215,6 @@ struct MultiplicityCounter { continue; } auto mcCollision = collision.mcCollision(); - if (useZDfiffCut) { - if (std::abs(collision.posZ() - mcCollision.posZ()) > maxZDiff) { - continue; - } - } auto particlesI = primariesI->sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex()); particlesI.bindExternalIndices(&tracks); @@ -315,11 +304,6 @@ struct MultiplicityCounter { continue; } auto mcCollision = collision.mcCollision(); - if (useZDfiffCut) { - if (std::abs(collision.posZ() - mcCollision.posZ()) > maxZDiff) { - continue; - } - } auto particles = mcSample->sliceByCached(aod::mcparticle::mcCollisionId, mcCollision.globalIndex()); auto tracks = lsample->sliceByCached(aod::track::collisionId, collision.globalIndex()); tracks.bindExternalIndices(&mcParticles); @@ -388,12 +372,6 @@ struct MultiplicityCounter { registry.fill(HIST("Events/Efficiency"), 5.); } - registry.fill(HIST("Events/ZposDiff"), collision.posZ() - mcCollision.posZ()); - if (useZDfiffCut) { - if (std::abs(collision.posZ() - mcCollision.posZ()) > maxZDiff) { - continue; - } - } registry.fill(HIST("Events/Efficiency"), 6.); ++moreThanOne; atLeastOne = true; From cef4943e4c98b74d0521428ddcd2eef51580575e Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Mon, 25 Jul 2022 10:31:21 +0200 Subject: [PATCH 3/4] use central track selection --- PWGMM/Mult/Tasks/dndeta.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/PWGMM/Mult/Tasks/dndeta.cxx b/PWGMM/Mult/Tasks/dndeta.cxx index 35900aad428..2db8f67140f 100644 --- a/PWGMM/Mult/Tasks/dndeta.cxx +++ b/PWGMM/Mult/Tasks/dndeta.cxx @@ -30,6 +30,7 @@ using namespace o2; using namespace o2::framework; using namespace o2::framework::expressions; +using namespace o2::aod::track; AxisSpec ZAxis = {301, -30.1, 30.1}; AxisSpec DeltaZAxis = {61, -6.1, 6.1}; @@ -39,6 +40,16 @@ AxisSpec MultAxis = {301, -0.5, 300.5}; AxisSpec PhiAxis = {629, 0, 2 * M_PI}; AxisSpec PtAxis = {2401, -0.005, 24.005}; +static constexpr TrackSelectionFlags::flagtype trackSelectionPattern = TrackSelectionFlags::kTrackType | + TrackSelectionFlags::kTPCNCls | + TrackSelectionFlags::kTPCCrossedRowsOverNCls | + TrackSelectionFlags::kTPCChi2NDF | + TrackSelectionFlags::kITSChi2NDF | + TrackSelectionFlags::kITSHits | + TrackSelectionFlags::kGoldenChi2 | + TrackSelectionFlags::kDCAz | + TrackSelectionFlags::kDCAxy; + using LabeledTracks = soa::Join; struct MultiplicityCounter { @@ -157,10 +168,9 @@ struct MultiplicityCounter { PROCESS_SWITCH(MultiplicityCounter, processEventStat, "Collect event sample stats", false); - expressions::Filter ITStracks = (aod::track::detectorMap & (uint8_t)o2::aod::track::ITS) != (uint8_t)0; - expressions::Filter tracksDCAcut = ifnode(useDCAZcut.node() == false, true, nabs(aod::track::dcaZ) <= maxDCAZ); + expressions::Filter trackSelectionFilter = (aod::track::trackCutFlag & trackSelectionPattern) == trackSelectionPattern; - using ExTracks = soa::Join; + using ExTracks = soa::Join; using FiTracks = soa::Filtered; Partition sample = nabs(aod::track::eta) < estimatorEta; From f20b41e28aec68d67375677c3eaca52190c22366 Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Mon, 25 Jul 2022 11:12:37 +0200 Subject: [PATCH 4/4] fix --- PWGMM/Mult/Tasks/dndeta.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGMM/Mult/Tasks/dndeta.cxx b/PWGMM/Mult/Tasks/dndeta.cxx index 2db8f67140f..0d968964272 100644 --- a/PWGMM/Mult/Tasks/dndeta.cxx +++ b/PWGMM/Mult/Tasks/dndeta.cxx @@ -204,7 +204,7 @@ struct MultiplicityCounter { PROCESS_SWITCH(MultiplicityCounter, processCounting, "Count tracks", false); using Particles = soa::Filtered; - using LabeledTracksEx = soa::Join; + using LabeledTracksEx = soa::Join; using Particle = Particles::iterator; using ParticlesI = soa::Join; expressions::Filter primaries = (aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary;