Skip to content

Commit 148b2ec

Browse files
authored
[PWGHF] Fix Xic0 reconstruction online bug, add KF selection, new Xic0 task, and candidateCreator cleanup (#11860)
1 parent d7970b8 commit 148b2ec

File tree

9 files changed

+674
-318
lines changed

9 files changed

+674
-318
lines changed

PWGHF/Core/SelectorCuts.h

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,63 @@ static const std::vector<std::string> labelsPt = {
736736
static const std::vector<std::string> labelsCutVar = {"pT Ka from Omegac"};
737737
} // namespace hf_cuts_omegacxic_to_omega_ka
738738

739+
namespace hf_cuts_xic_to_xi_pi
740+
{
741+
static constexpr int NBinsPt = 11;
742+
static constexpr int NCutVars = 28;
743+
// default values for the pT bin edges (can be used to configure histogram axis)
744+
// offset by 1 from the bin numbers in cuts array
745+
constexpr double BinsPt[NBinsPt + 1] = {
746+
0.0,
747+
1.0,
748+
2.0,
749+
3.0,
750+
4.0,
751+
5.0,
752+
6.0,
753+
8.0,
754+
10.0,
755+
12.0,
756+
16.0,
757+
24.0};
758+
759+
auto vecBinsPt = std::vector<double>{BinsPt, BinsPt + NBinsPt + 1};
760+
761+
// default values for the cuts
762+
constexpr double Cuts[NBinsPt][NCutVars] = {{0.2, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 0 < pt < 1 */
763+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 1 < pt < 2 */
764+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 2 < pt < 3 */
765+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 3 < pt < 4 */
766+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 4 < pt < 5 */
767+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 5 < pt < 6 */
768+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 6 < pt < 8 */
769+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 8 < pt < 10 */
770+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 10 < pt < 12 */
771+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}, /* 12 < pt < 16 */
772+
{0.5, 0.99, 0.97, 0.99, 0.99, 0.1, 0.2, 1.0, 0.04, 0.06, 0.06, 0.05, 0.3, 70, 60, 100, 120, 250, 250, 0.4, 100, 300, 0., 0., 1.5, 0., 0., 0.4}}; /* 16 < pt < 24 */
773+
774+
// row labels
775+
static const std::vector<std::string> labelsPt = {
776+
"pT bin 0",
777+
"pT bin 1",
778+
"pT bin 2",
779+
"pT bin 3",
780+
"pT bin 4",
781+
"pT bin 5",
782+
"pT bin 6",
783+
"pT bin 7",
784+
"pT bin 8",
785+
"pT bin 9",
786+
"pT bin 10"};
787+
788+
// column labels
789+
static const std::vector<std::string> labelsCutVar = {"ptPiFromCharmBaryon", "cosPACasc", "cosPAV0", "cosPaCascToXic", "cosPaV0ToCasc",
790+
"dcaCharmBaryonDau", "dcaCascDau", "dcaV0Dau", "dcaXYToPvCascDau", "dcaXYToPvV0Dau0", "dcaXYToPvV0Dau1", "kfDcaXYPiFromXic", "kfDcaXYCascToPv",
791+
"chi2GeoXic", "chi2GeoCasc", "chi2GeoV0",
792+
"chi2TopoXicToPv", "chi2TopoPiFromXicToPv", "chi2TopoCascToPv", "chi2TopoV0ToPv", "chi2TopoV0ToCasc", "chi2TopoCascToXic",
793+
"cascldl", "v0ldl", "decayLenXYXic", "decayLenXYCasc", "decayLenXYLambda", "cTauXic"};
794+
} // namespace hf_cuts_xic_to_xi_pi
795+
739796
namespace hf_cuts_xic_to_p_k_pi
740797
{
741798
static constexpr int NBinsPt = 10;

PWGHF/D2H/Tasks/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,8 @@ o2physics_add_dpl_workflow(task-xicc
138138
SOURCES taskXicc.cxx
139139
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
140140
COMPONENT_NAME Analysis)
141+
142+
o2physics_add_dpl_workflow(task-xic0-to-xi-pi
143+
SOURCES taskXic0ToXiPi.cxx
144+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
145+
COMPONENT_NAME Analysis)

PWGHF/D2H/Tasks/taskFlowCharmHadrons.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ struct HfTaskFlowCharmHadrons {
659659
float phiCand = 0.;
660660

661661
if constexpr (std::is_same_v<T1, CandXic0Data> || std::is_same_v<T1, CandXic0DataWMl>) {
662-
ptCand = candidate.kfptXic();
662+
ptCand = RecoDecay::sqrtSumOfSquares(candidate.pxCharmBaryon(), candidate.pyCharmBaryon());
663663
phiCand = std::atan2(candidate.pxCharmBaryon(), candidate.pyCharmBaryon());
664664
} else {
665665
ptCand = candidate.pt();

0 commit comments

Comments
 (0)