From b5095dcafaaea04f985b2ec47be0c42c0e50bd70 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 21 Apr 2021 22:03:11 +0200 Subject: [PATCH 01/16] Add workflow for event tagging --- .../AnalysisDataModel/HFSecondaryVertex.h | 8 +++++ .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 33 +++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h index 9dc72eaea38f6..4c6dfa9c87d0e 100644 --- a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h +++ b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h @@ -27,6 +27,14 @@ using namespace o2::analysis; namespace o2::aod { +namespace hf_selcollision +{ +DECLARE_SOA_COLUMN(WhyRejectColl, whyRejectColl, int); //! +} // namespace hf_selcollisions + +DECLARE_SOA_TABLE(HFSelCollision, "AOD", "HFSELCOLLISION", //! + hf_selcollision::WhyRejectColl); + namespace hf_seltrack { DECLARE_SOA_COLUMN(IsSelProng, isSelProng, int); //! diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index a2684c9e08cf3..ebe36b989507b 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -58,6 +58,30 @@ using MyTracks = soa::Join rowSelectedCollision; + + Configurable s_trigger_class{"trigger_class", "kINT7", "trigger class"}; + int trigger_class = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, s_trigger_class.value.data())); + + // event selection + void process(soa::Join::iterator const& collision) + { + int status_collision = 0; + + if (!collision.alias()[trigger_class]) { + status_collision |= BIT(0); + } + + //TODO: add more event selection criteria + + // fill table row + rowSelectedCollision(status_collision); + }; +}; + /// Track selection struct SelectTracks { @@ -308,7 +332,11 @@ struct HFTrackIndexSkimsCreator { {"hmassDsToPiKK", "D_{s} candidates;inv. mass (K K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{500, 0., 5.}}}}, {"hmassXicToPKPi", "#Xi_{c} candidates;inv. mass (p K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{500, 0., 5.}}}}}}; + Filter filterSelectTracks = (aod::hf_seltrack::isSelProng > 0 && aod::hf_seltrack::isSelProng < 4); + Filter filterSelectTracks = (aod::hf_seltrack::isSelProng > 0); + + using SelectedCollisions = soa::Filtered>; using SelectedTracks = soa::Filtered>; // FIXME @@ -323,7 +351,7 @@ struct HFTrackIndexSkimsCreator { // int nColls{0}; //can be added to run over limited collisions per file - for tesing purposes void process( //soa::Join::iterator const& collision, //FIXME add centrality when option for variations to the process function appears - aod::Collision const& collision, + SelectedCollisions::iterator const& collision, aod::BCs const& bcs, SelectedTracks const& tracks) { @@ -1264,7 +1292,8 @@ struct HFTrackIndexSkimsCreatorCascades { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { - WorkflowSpec workflow{ + return WorkflowSpec{ + adaptAnalysisTask(cfgc, TaskName{"hf-produce-sel-collision"}), adaptAnalysisTask(cfgc, TaskName{"hf-produce-sel-track"}), adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; From 4be6dd35d7e607d0bdd8fa1c946a5fc08779429b Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 21 Apr 2021 22:04:26 +0200 Subject: [PATCH 02/16] Remove placeholder for event selection --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index ebe36b989507b..3bbe8378e266b 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -297,8 +297,6 @@ struct HFTrackIndexSkimsCreator { //Configurable nCollsMax{"nCollsMax", -1, "Max collisions per file"}; //can be added to run over limited collisions per file - for tesing purposes Configurable dovalplots{"dovalplots", true, "fill histograms"}; Configurable do3prong{"do3prong", 0, "do 3 prong"}; - // event selection - Configurable triggerindex{"triggerindex", -1, "trigger index"}; // vertexing parameters Configurable bz{"bz", 5., "magnetic field kG"}; Configurable propdca{"propdca", true, "create tracks version propagated to PCA"}; @@ -369,15 +367,6 @@ struct HFTrackIndexSkimsCreator { //auto centrality = collision.centV0M(); //FIXME add centrality when option for variations to the process function appears - int trigindex = int{triggerindex}; - if (trigindex != -1) { - uint64_t triggerMask = collision.bc().triggerMask(); - bool isTriggerClassFired = triggerMask & 1ul << (trigindex - 1); - if (!isTriggerClassFired) { - return; - } - } - //FIXME move above process function const int n2ProngDecays = hf_cand_prong2::DecayType::N2ProngDecays; // number of 2-prong hadron types const int n3ProngDecays = hf_cand_prong3::DecayType::N3ProngDecays; // number of 3-prong hadron types From bd87b2a8e999feb3996b10f917e7dd2d576f3793 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Thu, 22 Apr 2021 11:16:28 +0200 Subject: [PATCH 03/16] Add missing header --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 3bbe8378e266b..691965c948d36 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -18,6 +18,7 @@ #include "Framework/AnalysisTask.h" #include "Framework/HistogramRegistry.h" #include "DetectorsVertexing/DCAFitterN.h" +#include "AnalysisDataModel/EventSelection.h" #include "AnalysisDataModel/HFSecondaryVertex.h" #include "AnalysisCore/trackUtilities.h" #include "AnalysisCore/HFConfigurables.h" From 29c6cf029fd74db46acc320902467528dda73b48 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 27 Apr 2021 18:33:26 +0200 Subject: [PATCH 04/16] Add histo to monitor selected/rejected events --- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 691965c948d36..b978a25f6a82d 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -64,9 +64,20 @@ struct SelectCollisions { Produces rowSelectedCollision; + Configurable b_dovalplots{"b_dovalplots", true, "fill histograms"}; Configurable s_trigger_class{"trigger_class", "kINT7", "trigger class"}; int trigger_class = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, s_trigger_class.value.data())); + HistogramRegistry registry{ + "registry", + {{"h_events", "Events;;entries", {HistType::kTH1F, {{2, 0.5, 2.5}}}}}}; + + void init(InitContext const&) + { + registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(1, "selected events"); + registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(2, "rej. trigger class"); + } + // event selection void process(soa::Join::iterator const& collision) { @@ -74,10 +85,16 @@ struct SelectCollisions { if (!collision.alias()[trigger_class]) { status_collision |= BIT(0); + registry.get(HIST("h_events"))->Fill(2); } //TODO: add more event selection criteria + // selected events + if(b_dovalplots) { + registry.get(HIST("h_events"))->Fill(1); + } + // fill table row rowSelectedCollision(status_collision); }; From b6d4802fe88806eeb08430796a685dd82e6a6010 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 27 Apr 2021 18:37:55 +0200 Subject: [PATCH 05/16] Fix format --- .../include/AnalysisDataModel/HFSecondaryVertex.h | 2 +- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h index 4c6dfa9c87d0e..08675d4906dc0 100644 --- a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h +++ b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h @@ -30,7 +30,7 @@ namespace o2::aod namespace hf_selcollision { DECLARE_SOA_COLUMN(WhyRejectColl, whyRejectColl, int); //! -} // namespace hf_selcollisions +} // namespace hf_selcollision DECLARE_SOA_TABLE(HFSelCollision, "AOD", "HFSELCOLLISION", //! hf_selcollision::WhyRejectColl); diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index b978a25f6a82d..339c0a1cdc5df 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -59,7 +59,7 @@ using MyTracks = soa::Join rowSelectedCollision; @@ -91,8 +91,8 @@ struct SelectCollisions { //TODO: add more event selection criteria // selected events - if(b_dovalplots) { - registry.get(HIST("h_events"))->Fill(1); + if (b_dovalplots) { + registry.get(HIST("h_events"))->Fill(1); } // fill table row @@ -350,7 +350,7 @@ struct HFTrackIndexSkimsCreator { Filter filterSelectTracks = (aod::hf_seltrack::isSelProng > 0 && aod::hf_seltrack::isSelProng < 4); - Filter filterSelectTracks = (aod::hf_seltrack::isSelProng > 0); + Filter filterSelectCollisions = (aod::hf_selcollision::whyRejectColl == 0); using SelectedCollisions = soa::Filtered>; using SelectedTracks = soa::Filtered>; From bb7818390b49ba412a3910fa5817296d2294d0e5 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 28 Apr 2021 11:11:29 +0200 Subject: [PATCH 06/16] Fix fill of event histo and change struct name --- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 339c0a1cdc5df..a01fa039c0152 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -60,7 +60,7 @@ using MyTracks = soa::Join rowSelectedCollision; @@ -70,12 +70,14 @@ struct SelectCollisions { HistogramRegistry registry{ "registry", - {{"h_events", "Events;;entries", {HistType::kTH1F, {{2, 0.5, 2.5}}}}}}; + {{"h_events", "Events;;entries", {HistType::kTH1F, {{3, 0.5, 3.5}}}}}}; void init(InitContext const&) { - registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(1, "selected events"); - registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(2, "rej. trigger class"); + std::string labels[3] = {"processed collisions", "selected collisions", "rej. trigger class"}; + for(int iBin=0; iBin<3; iBin++) { + registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(iBin+1, labels[iBin].data()); + } } // event selection @@ -83,16 +85,20 @@ struct SelectCollisions { { int status_collision = 0; + if (b_dovalplots) { + registry.get(HIST("h_events"))->Fill(1); + } + if (!collision.alias()[trigger_class]) { status_collision |= BIT(0); - registry.get(HIST("h_events"))->Fill(2); + registry.get(HIST("h_events"))->Fill(3); } //TODO: add more event selection criteria // selected events - if (b_dovalplots) { - registry.get(HIST("h_events"))->Fill(1); + if (b_dovalplots && status_collision == 0) { + registry.get(HIST("h_events"))->Fill(2); } // fill table row @@ -1300,7 +1306,7 @@ struct HFTrackIndexSkimsCreatorCascades { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{ - adaptAnalysisTask(cfgc, TaskName{"hf-produce-sel-collision"}), + adaptAnalysisTask(cfgc), adaptAnalysisTask(cfgc, TaskName{"hf-produce-sel-track"}), adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; From 054b2a3efc9ed16b0454722a581f2920065088e2 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 28 Apr 2021 11:16:46 +0200 Subject: [PATCH 07/16] Add missing if --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index a01fa039c0152..b596bd19f86c3 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -75,8 +75,8 @@ struct HfProduceSelCollisions { void init(InitContext const&) { std::string labels[3] = {"processed collisions", "selected collisions", "rej. trigger class"}; - for(int iBin=0; iBin<3; iBin++) { - registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(iBin+1, labels[iBin].data()); + for (int iBin = 0; iBin < 3; iBin++) { + registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); } } @@ -91,7 +91,9 @@ struct HfProduceSelCollisions { if (!collision.alias()[trigger_class]) { status_collision |= BIT(0); - registry.get(HIST("h_events"))->Fill(3); + if (b_dovalplots) { + registry.get(HIST("h_events"))->Fill(3); + } } //TODO: add more event selection criteria From fb35976eb52b1b35174ec39358e1c7fc01b461ed Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 28 Apr 2021 11:39:04 +0200 Subject: [PATCH 08/16] Change struct names to avoit TaskName argument --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index b596bd19f86c3..7b0440ba7f52e 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -109,7 +109,7 @@ struct HfProduceSelCollisions { }; /// Track selection -struct SelectTracks { +struct HfProduceSelTrack { // enum for candidate type enum CandidateType { @@ -314,7 +314,7 @@ struct SelectTracks { //____________________________________________________________________________________________________________________________________________ /// Pre-selection of 2-prong and 3-prong secondary vertices -struct HFTrackIndexSkimsCreator { +struct HfTrackIndexSkimsCreator { Produces rowTrackIndexProng2; Produces rowProng2CutStatus; Produces rowTrackIndexProng3; @@ -1307,14 +1307,14 @@ struct HFTrackIndexSkimsCreatorCascades { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { - return WorkflowSpec{ - adaptAnalysisTask(cfgc), - adaptAnalysisTask(cfgc, TaskName{"hf-produce-sel-track"}), + WorkflowSpec workflow{ + adaptAnalysisTask(cfgc), + adaptAnalysisTask(cfgc); adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; const bool doLcK0Sp = cfgc.options().get("do-LcK0Sp"); if (doLcK0Sp) { - workflow.push_back(adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-cascades-creator"})); + workflow.push_back(adaptAnalysisTask(cfgc)); } return workflow; From d9528bc04c4317fc57bf096093b3f46664a7a055 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 5 May 2021 16:50:33 +0200 Subject: [PATCH 09/16] Use camelCase --- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 7b0440ba7f52e..b084a17682f08 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -64,47 +64,47 @@ struct HfProduceSelCollisions { Produces rowSelectedCollision; - Configurable b_dovalplots{"b_dovalplots", true, "fill histograms"}; - Configurable s_trigger_class{"trigger_class", "kINT7", "trigger class"}; - int trigger_class = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, s_trigger_class.value.data())); + Configurable bDoValPlots{"b_dovalplots", true, "fill histograms"}; + Configurable sTriggerClass{"trigger_class", "kINT7", "trigger class"}; + int triggerClass = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, sTriggerClass.value.data())); HistogramRegistry registry{ "registry", - {{"h_events", "Events;;entries", {HistType::kTH1F, {{3, 0.5, 3.5}}}}}}; + {{"hEvents", "Events;;entries", {HistType::kTH1F, {{3, 0.5, 3.5}}}}}}; void init(InitContext const&) { std::string labels[3] = {"processed collisions", "selected collisions", "rej. trigger class"}; for (int iBin = 0; iBin < 3; iBin++) { - registry.get(HIST("h_events"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); + registry.get(HIST("hEvents"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); } } // event selection void process(soa::Join::iterator const& collision) { - int status_collision = 0; + int statusCollision = 0; - if (b_dovalplots) { - registry.get(HIST("h_events"))->Fill(1); + if (bDoValPlots) { + registry.get(HIST("hEvents"))->Fill(1); } - if (!collision.alias()[trigger_class]) { - status_collision |= BIT(0); - if (b_dovalplots) { - registry.get(HIST("h_events"))->Fill(3); + if (!collision.alias()[triggerClass]) { + statusCollision |= BIT(0); + if (bDoValPlots) { + registry.get(HIST("hEvents"))->Fill(3); } } //TODO: add more event selection criteria // selected events - if (b_dovalplots && status_collision == 0) { - registry.get(HIST("h_events"))->Fill(2); + if (bDoValPlots && statusCollision == 0) { + registry.get(HIST("hEvents"))->Fill(2); } // fill table row - rowSelectedCollision(status_collision); + rowSelectedCollision(statusCollision); }; }; From 4cf51036980748f54f85d8a9be710da5b3a6a53e Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Fri, 7 May 2021 09:08:58 +0200 Subject: [PATCH 10/16] Use camelCase --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index b084a17682f08..c72aaf6eb0ef9 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -64,9 +64,9 @@ struct HfProduceSelCollisions { Produces rowSelectedCollision; - Configurable bDoValPlots{"b_dovalplots", true, "fill histograms"}; - Configurable sTriggerClass{"trigger_class", "kINT7", "trigger class"}; - int triggerClass = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, sTriggerClass.value.data())); + Configurable doValPlots{"doValPlots", true, "fill histograms"}; + Configurable triggerClassName{"triggerClassName", "kINT7", "trigger class"}; + int triggerClass = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, triggerClassName.value.data())); HistogramRegistry registry{ "registry", @@ -85,13 +85,13 @@ struct HfProduceSelCollisions { { int statusCollision = 0; - if (bDoValPlots) { + if (doValPlots) { registry.get(HIST("hEvents"))->Fill(1); } if (!collision.alias()[triggerClass]) { statusCollision |= BIT(0); - if (bDoValPlots) { + if (doValPlots) { registry.get(HIST("hEvents"))->Fill(3); } } @@ -99,7 +99,7 @@ struct HfProduceSelCollisions { //TODO: add more event selection criteria // selected events - if (bDoValPlots && statusCollision == 0) { + if (doValPlots && statusCollision == 0) { registry.get(HIST("hEvents"))->Fill(2); } From 9f2a357a62df66c4667118b86b41a1d79f1417ea Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 11 May 2021 21:16:21 +0200 Subject: [PATCH 11/16] Update name of structs --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index c72aaf6eb0ef9..a7f26fbf35796 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -60,7 +60,7 @@ using MyTracks = soa::Join rowSelectedCollision; @@ -109,7 +109,7 @@ struct HfProduceSelCollisions { }; /// Track selection -struct HfProduceSelTrack { +struct HfTagSelTrack { // enum for candidate type enum CandidateType { From 3753ea45ddf765acb1a6655047b37d1dbb9202bb Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 11 May 2021 21:18:02 +0200 Subject: [PATCH 12/16] Remove output histogram --- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index a7f26fbf35796..edfbbbb846ccc 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -64,45 +64,20 @@ struct HfTagSelCollisions { Produces rowSelectedCollision; - Configurable doValPlots{"doValPlots", true, "fill histograms"}; Configurable triggerClassName{"triggerClassName", "kINT7", "trigger class"}; int triggerClass = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, triggerClassName.value.data())); - HistogramRegistry registry{ - "registry", - {{"hEvents", "Events;;entries", {HistType::kTH1F, {{3, 0.5, 3.5}}}}}}; - - void init(InitContext const&) - { - std::string labels[3] = {"processed collisions", "selected collisions", "rej. trigger class"}; - for (int iBin = 0; iBin < 3; iBin++) { - registry.get(HIST("hEvents"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); - } - } - // event selection void process(soa::Join::iterator const& collision) { int statusCollision = 0; - if (doValPlots) { - registry.get(HIST("hEvents"))->Fill(1); - } - if (!collision.alias()[triggerClass]) { statusCollision |= BIT(0); - if (doValPlots) { - registry.get(HIST("hEvents"))->Fill(3); - } } //TODO: add more event selection criteria - // selected events - if (doValPlots && statusCollision == 0) { - registry.get(HIST("hEvents"))->Fill(2); - } - // fill table row rowSelectedCollision(statusCollision); }; From cf7968c15059e7af2e904fb2d97739fc662ae385 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 11 May 2021 21:30:57 +0200 Subject: [PATCH 13/16] Update workflows with new struct names --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index edfbbbb846ccc..6e34cbbf756a0 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -1284,8 +1284,8 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { WorkflowSpec workflow{ adaptAnalysisTask(cfgc), - adaptAnalysisTask(cfgc); - adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; + adaptAnalysisTask(cfgc); + adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; const bool doLcK0Sp = cfgc.options().get("do-LcK0Sp"); if (doLcK0Sp) { From 799c34b725b1f7a4d64b4512c7572867923026ec Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 11 May 2021 21:46:03 +0200 Subject: [PATCH 14/16] Revert removal of histogram --- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 6e34cbbf756a0..57365cb0b8cec 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -64,20 +64,45 @@ struct HfTagSelCollisions { Produces rowSelectedCollision; + Configurable doValPlots{"doValPlots", true, "fill histograms"}; Configurable triggerClassName{"triggerClassName", "kINT7", "trigger class"}; int triggerClass = std::distance(aliasLabels, std::find(aliasLabels, aliasLabels + kNaliases, triggerClassName.value.data())); + HistogramRegistry registry{ + "registry", + {{"hEvents", "Events;;entries", {HistType::kTH1F, {{3, 0.5, 3.5}}}}}}; + + void init(InitContext const&) + { + std::string labels[3] = {"processed collisions", "selected collisions", "rej. trigger class"}; + for (int iBin = 0; iBin < 3; iBin++) { + registry.get(HIST("hEvents"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data()); + } + } + // event selection void process(soa::Join::iterator const& collision) { int statusCollision = 0; + if (doValPlots) { + registry.get(HIST("hEvents"))->Fill(1); + } + if (!collision.alias()[triggerClass]) { statusCollision |= BIT(0); + if (doValPlots) { + registry.get(HIST("hEvents"))->Fill(3); + } } //TODO: add more event selection criteria + // selected events + if (doValPlots && statusCollision == 0) { + registry.get(HIST("hEvents"))->Fill(2); + } + // fill table row rowSelectedCollision(statusCollision); }; From 8625d9a99bb89c073273a7521b89ef3be80a7ee2 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 19 May 2021 10:44:38 +0200 Subject: [PATCH 15/16] Fix conflicts --- Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 57365cb0b8cec..1543a8ff48aba 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -1046,7 +1046,7 @@ struct HfTrackIndexSkimsCreator { /// to run: o2-analysis-weak-decay-indices --aod-file AO2D.root -b | o2-analysis-lambdakzerobuilder -b | /// o2-analysis-trackextension -b | o2-analysis-hf-track-index-skims-creator -b -struct HFTrackIndexSkimsCreatorCascades { +struct HfTrackIndexSkimsCreatorCascades { Produces rowTrackIndexCasc; // Produces rowTrackIndexCasc; @@ -1115,9 +1115,12 @@ struct HFTrackIndexSkimsCreatorCascades { double massLc = RecoDecay::getMassPDG(pdg::Code::kLambdaCPlus); double mass2K0sP{0.}; // WHY HERE? + Filter filterSelectCollisions = (aod::hf_selcollision::whyRejectColl == 0); + using FullTracksExt = soa::Join; + using SelectedCollisions = soa::Filtered>; - void process(aod::Collision const& collision, + void process(SelectedCollisions::iterator const& collision, aod::BCs const& bcs, //soa::Filtered const& V0s, aod::V0Datas const& V0s, @@ -1308,13 +1311,13 @@ struct HFTrackIndexSkimsCreatorCascades { WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { WorkflowSpec workflow{ - adaptAnalysisTask(cfgc), - adaptAnalysisTask(cfgc); - adaptAnalysisTask(cfgc, TaskName{"hf-track-index-skims-creator"})}; + adaptAnalysisTask(cfgc), + adaptAnalysisTask(cfgc), + adaptAnalysisTask(cfgc)}; const bool doLcK0Sp = cfgc.options().get("do-LcK0Sp"); if (doLcK0Sp) { - workflow.push_back(adaptAnalysisTask(cfgc)); + workflow.push_back(adaptAnalysisTask(cfgc)); } return workflow; From 2c1a8e3247055fd2d4b9e64a5232e66f7e4fb24a Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Wed, 19 May 2021 10:52:36 +0200 Subject: [PATCH 16/16] Fix format --- .../AnalysisDataModel/HFSecondaryVertex.h | 16 ++++++++-------- .../Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h index 08675d4906dc0..9ccce72eb0835 100644 --- a/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h +++ b/Analysis/DataModel/include/AnalysisDataModel/HFSecondaryVertex.h @@ -57,12 +57,12 @@ using BigTracksPID = soa::Join, v0data::MK0Short); /*, - v0data::MLambda, - v0data::MAntiLambda, - v0data::MK0Short); + v0data::MLambda, + v0data::MAntiLambda, + v0data::MK0Short); */ // extended table with expression columns that can be used as arguments of dynamic columns DECLARE_SOA_EXTENDED_TABLE_USER(HfCandCascExt, HfCandCascBase, "HFCANDCASCEXT", //! diff --git a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx index 1543a8ff48aba..51d016bf5ee3a 100644 --- a/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx +++ b/Analysis/Tasks/PWGHF/HFTrackIndexSkimsCreator.cxx @@ -356,7 +356,6 @@ struct HfTrackIndexSkimsCreator { {"hmassDsToPiKK", "D_{s} candidates;inv. mass (K K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{500, 0., 5.}}}}, {"hmassXicToPKPi", "#Xi_{c} candidates;inv. mass (p K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{500, 0., 5.}}}}}}; - Filter filterSelectTracks = (aod::hf_seltrack::isSelProng > 0 && aod::hf_seltrack::isSelProng < 4); Filter filterSelectCollisions = (aod::hf_selcollision::whyRejectColl == 0);