Skip to content

Commit 755993f

Browse files
authored
[PWGHF] Implementation of Xic⁰ reconstruction using the Kalman Filter method (AliceO2Group#9001)
1 parent 5de34a6 commit 755993f

File tree

6 files changed

+1405
-37
lines changed

6 files changed

+1405
-37
lines changed

PWGHF/DataModel/CandidateReconstructionTables.h

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,43 +1258,58 @@ DECLARE_SOA_COLUMN(ErrorDecayLengthXYCharmBaryon, errorDecayLengthXYCharmBaryon,
12581258

12591259
// KFParticle results
12601260
DECLARE_SOA_COLUMN(KfDcaXYPiFromOmegac, kfDcaXYPiFromOmegac, float);
1261+
DECLARE_SOA_COLUMN(KfDcaXYPiFromXic, kfDcaXYPiFromXic, float);
12611262
DECLARE_SOA_COLUMN(KfDcaXYCascToPv, kfDcaXYCascToPv, float);
12621263
DECLARE_SOA_COLUMN(Chi2GeoV0, chi2GeoV0, float);
12631264
DECLARE_SOA_COLUMN(Chi2GeoCasc, chi2GeoCasc, float);
12641265
DECLARE_SOA_COLUMN(Chi2GeoOmegac, chi2GeoOmegac, float);
1266+
DECLARE_SOA_COLUMN(Chi2GeoXic, chi2GeoXic, float);
12651267
DECLARE_SOA_COLUMN(Chi2MassV0, chi2MassV0, float);
12661268
DECLARE_SOA_COLUMN(Chi2MassCasc, chi2MassCasc, float);
12671269
DECLARE_SOA_COLUMN(V0ldl, v0ldl, float);
12681270
DECLARE_SOA_COLUMN(Cascldl, cascldl, float);
12691271
DECLARE_SOA_COLUMN(Omegacldl, omegacldl, float);
1272+
DECLARE_SOA_COLUMN(Xicldl, xicldl, float);
12701273
DECLARE_SOA_COLUMN(Chi2TopoV0ToPv, chi2TopoV0ToPv, float);
12711274
DECLARE_SOA_COLUMN(Chi2TopoCascToPv, chi2TopoCascToPv, float);
12721275
DECLARE_SOA_COLUMN(Chi2TopoPiFromOmegacToPv, chi2TopoPiFromOmegacToPv, float);
1276+
DECLARE_SOA_COLUMN(Chi2TopoPiFromXicToPv, chi2TopoPiFromXicToPv, float);
12731277
DECLARE_SOA_COLUMN(Chi2TopoOmegacToPv, chi2TopoOmegacToPv, float);
1278+
DECLARE_SOA_COLUMN(Chi2TopoXicToPv, chi2TopoXicToPv, float);
12741279
DECLARE_SOA_COLUMN(Chi2TopoV0ToCasc, chi2TopoV0ToCasc, float);
12751280
DECLARE_SOA_COLUMN(Chi2TopoCascToOmegac, chi2TopoCascToOmegac, float);
1281+
DECLARE_SOA_COLUMN(Chi2TopoCascToXic, chi2TopoCascToXic, float);
12761282
DECLARE_SOA_COLUMN(DecayLenXYLambda, decayLenXYLambda, float);
12771283
DECLARE_SOA_COLUMN(DecayLenXYCasc, decayLenXYCasc, float);
12781284
DECLARE_SOA_COLUMN(DecayLenXYOmegac, decayLenXYOmegac, float);
1285+
DECLARE_SOA_COLUMN(DecayLenXYXic, decayLenXYXic, float);
12791286
DECLARE_SOA_COLUMN(CosPaV0ToCasc, cosPaV0ToCasc, float);
12801287
DECLARE_SOA_COLUMN(CosPaCascToOmegac, cosPaCascToOmegac, float);
1288+
DECLARE_SOA_COLUMN(CosPaCascToXic, cosPaCascToXic, float);
12811289
DECLARE_SOA_COLUMN(CosPaXYV0ToCasc, cosPaXYV0ToCasc, float);
12821290
DECLARE_SOA_COLUMN(CosPaXYCascToOmegac, cosPaXYCascToOmegac, float);
1291+
DECLARE_SOA_COLUMN(CosPaXYCascToXic, cosPaXYCascToXic, float);
12831292
DECLARE_SOA_COLUMN(KfMassV0, kfMassV0, float);
12841293
DECLARE_SOA_COLUMN(KfMassCasc, kfMassCasc, float);
12851294
DECLARE_SOA_COLUMN(KfMassOmegac, kfMassOmegac, float);
12861295
DECLARE_SOA_COLUMN(KfRapOmegac, kfRapOmegac, float);
1296+
DECLARE_SOA_COLUMN(KfRapXic, kfRapXic, float);
12871297
DECLARE_SOA_COLUMN(KfptPiFromOmegac, kfptPiFromOmegac, float);
1298+
DECLARE_SOA_COLUMN(KfptPiFromXic, kfptPiFromXic, float);
12881299
DECLARE_SOA_COLUMN(KfptOmegac, kfptOmegac, float);
1300+
DECLARE_SOA_COLUMN(KfptXic, kfptXic, float);
12891301
DECLARE_SOA_COLUMN(CosThetaStarPiFromOmegac, cosThetaStarPiFromOmegac, float);
1302+
DECLARE_SOA_COLUMN(CosThetaStarPiFromXic, cosThetaStarPiFromXic, float);
12901303
DECLARE_SOA_COLUMN(V0Ndf, v0Ndf, float);
12911304
DECLARE_SOA_COLUMN(CascNdf, cascNdf, float);
12921305
DECLARE_SOA_COLUMN(OmegacNdf, omegacNdf, float);
1306+
DECLARE_SOA_COLUMN(XicNdf, xicNdf, float);
12931307
DECLARE_SOA_COLUMN(MassV0Ndf, massV0Ndf, float);
12941308
DECLARE_SOA_COLUMN(MassCascNdf, massCascNdf, float);
12951309
DECLARE_SOA_COLUMN(V0Chi2OverNdf, v0Chi2OverNdf, float);
12961310
DECLARE_SOA_COLUMN(CascChi2OverNdf, cascChi2OverNdf, float);
12971311
DECLARE_SOA_COLUMN(OmegacChi2OverNdf, omegacChi2OverNdf, float);
1312+
DECLARE_SOA_COLUMN(XicChi2OverNdf, xicChi2OverNdf, float);
12981313
DECLARE_SOA_COLUMN(MassV0Chi2OverNdf, massV0Chi2OverNdf, float);
12991314
DECLARE_SOA_COLUMN(MassCascChi2OverNdf, massCascChi2OverNdf, float);
13001315

@@ -1443,6 +1458,49 @@ DECLARE_SOA_TABLE(HfOmegacKf, "AOD", "HFOMEGACKF", //!
14431458
hf_cand_xic0_omegac0::V0Chi2OverNdf, hf_cand_xic0_omegac0::CascChi2OverNdf, hf_cand_xic0_omegac0::OmegacChi2OverNdf,
14441459
hf_cand_xic0_omegac0::MassV0Chi2OverNdf, hf_cand_xic0_omegac0::MassCascChi2OverNdf);
14451460

1461+
DECLARE_SOA_TABLE(HfCandToXiPiKf, "AOD", "HFCANDTOXIPIKF", //!
1462+
o2::soa::Index<>,
1463+
hf_cand_xic0_omegac0::CollisionId, hf_cand_xic0_omegac0::XPv, hf_cand_xic0_omegac0::YPv, hf_cand_xic0_omegac0::ZPv,
1464+
hf_cand_xic0_omegac0::XDecayVtxCharmBaryon, hf_cand_xic0_omegac0::YDecayVtxCharmBaryon, hf_cand_xic0_omegac0::ZDecayVtxCharmBaryon,
1465+
hf_cand_xic0_omegac0::XDecayVtxCascade, hf_cand_xic0_omegac0::YDecayVtxCascade, hf_cand_xic0_omegac0::ZDecayVtxCascade,
1466+
hf_cand_xic0_omegac0::XDecayVtxV0, hf_cand_xic0_omegac0::YDecayVtxV0, hf_cand_xic0_omegac0::ZDecayVtxV0,
1467+
hf_cand_xic0_omegac0::SignDecay,
1468+
hf_cand_xic0_omegac0::CovVtxCharmBaryon0, hf_cand_xic0_omegac0::CovVtxCharmBaryon1, hf_cand_xic0_omegac0::CovVtxCharmBaryon2, hf_cand_xic0_omegac0::CovVtxCharmBaryon3, hf_cand_xic0_omegac0::CovVtxCharmBaryon4, hf_cand_xic0_omegac0::CovVtxCharmBaryon5,
1469+
hf_cand_xic0_omegac0::PxCharmBaryon, hf_cand_xic0_omegac0::PyCharmBaryon, hf_cand_xic0_omegac0::PzCharmBaryon,
1470+
hf_cand_xic0_omegac0::PxCasc, hf_cand_xic0_omegac0::PyCasc, hf_cand_xic0_omegac0::PzCasc,
1471+
hf_cand_xic0_omegac0::PxBachFromCharmBaryon, hf_cand_xic0_omegac0::PyBachFromCharmBaryon, hf_cand_xic0_omegac0::PzBachFromCharmBaryon,
1472+
hf_cand_xic0_omegac0::PxLambda, hf_cand_xic0_omegac0::PyLambda, hf_cand_xic0_omegac0::PzLambda,
1473+
hf_cand_xic0_omegac0::PxBachFromCasc, hf_cand_xic0_omegac0::PyBachFromCasc, hf_cand_xic0_omegac0::PzBachFromCasc,
1474+
hf_cand_xic0_omegac0::PxPosV0Dau, hf_cand_xic0_omegac0::PyPosV0Dau, hf_cand_xic0_omegac0::PzPosV0Dau,
1475+
hf_cand_xic0_omegac0::PxNegV0Dau, hf_cand_xic0_omegac0::PyNegV0Dau, hf_cand_xic0_omegac0::PzNegV0Dau,
1476+
hf_cand_xic0_omegac0::ImpactParCascXY, hf_cand_xic0_omegac0::ImpactParBachFromCharmBaryonXY, hf_cand_xic0_omegac0::ImpactParCascZ, hf_cand_xic0_omegac0::ImpactParBachFromCharmBaryonZ,
1477+
hf_cand_xic0_omegac0::ErrImpactParCascXY, hf_cand_xic0_omegac0::ErrImpactParBachFromCharmBaryonXY,
1478+
hf_cand_xic0_omegac0::V0Id, v0data::PosTrackId, v0data::NegTrackId, hf_cand_xic0_omegac0::CascadeId, hf_cand_xic0_omegac0::BachelorFromCharmBaryonId, cascdata::BachelorId,
1479+
hf_cand_xic0_omegac0::InvMassLambda, hf_cand_xic0_omegac0::InvMassCascade, hf_cand_xic0_omegac0::InvMassCharmBaryon,
1480+
hf_cand_xic0_omegac0::CosPAV0, hf_cand_xic0_omegac0::CosPACharmBaryon, hf_cand_xic0_omegac0::CosPACasc, hf_cand_xic0_omegac0::CosPAXYV0, hf_cand_xic0_omegac0::CosPAXYCharmBaryon, hf_cand_xic0_omegac0::CosPAXYCasc,
1481+
hf_cand_xic0_omegac0::CTauOmegac, hf_cand_xic0_omegac0::CTauCascade, hf_cand_xic0_omegac0::CTauV0, hf_cand_xic0_omegac0::CTauXic,
1482+
hf_cand_xic0_omegac0::EtaV0PosDau, hf_cand_xic0_omegac0::EtaV0NegDau, hf_cand_xic0_omegac0::EtaBachFromCasc, hf_cand_xic0_omegac0::EtaBachFromCharmBaryon,
1483+
hf_cand_xic0_omegac0::EtaCharmBaryon, hf_cand_xic0_omegac0::EtaCascade, hf_cand_xic0_omegac0::EtaV0,
1484+
hf_cand_xic0_omegac0::DcaXYToPvV0Dau0, hf_cand_xic0_omegac0::DcaXYToPvV0Dau1, hf_cand_xic0_omegac0::DcaXYToPvCascDau,
1485+
hf_cand_xic0_omegac0::DcaZToPvV0Dau0, hf_cand_xic0_omegac0::DcaZToPvV0Dau1, hf_cand_xic0_omegac0::DcaZToPvCascDau,
1486+
hf_cand_xic0_omegac0::DcaCascDau, hf_cand_xic0_omegac0::DcaV0Dau, hf_cand_xic0_omegac0::DcaCharmBaryonDau,
1487+
hf_cand_xic0_omegac0::DecLenCharmBaryon, hf_cand_xic0_omegac0::DecLenCascade, hf_cand_xic0_omegac0::DecLenV0, hf_cand_xic0_omegac0::ErrorDecayLengthCharmBaryon, hf_cand_xic0_omegac0::ErrorDecayLengthXYCharmBaryon,
1488+
hf_cand_xic0_omegac0::KfDcaXYPiFromXic, hf_cand_xic0_omegac0::KfDcaXYCascToPv,
1489+
hf_cand_xic0_omegac0::Chi2GeoV0, hf_cand_xic0_omegac0::Chi2GeoCasc, hf_cand_xic0_omegac0::Chi2GeoXic,
1490+
hf_cand_xic0_omegac0::Chi2MassV0, hf_cand_xic0_omegac0::Chi2MassCasc,
1491+
hf_cand_xic0_omegac0::V0ldl, hf_cand_xic0_omegac0::Cascldl, hf_cand_xic0_omegac0::Xicldl,
1492+
hf_cand_xic0_omegac0::Chi2TopoV0ToPv, hf_cand_xic0_omegac0::Chi2TopoCascToPv, hf_cand_xic0_omegac0::Chi2TopoPiFromXicToPv, hf_cand_xic0_omegac0::Chi2TopoXicToPv,
1493+
hf_cand_xic0_omegac0::Chi2TopoV0ToCasc, hf_cand_xic0_omegac0::Chi2TopoCascToXic,
1494+
hf_cand_xic0_omegac0::DecayLenXYLambda, hf_cand_xic0_omegac0::DecayLenXYCasc, hf_cand_xic0_omegac0::DecayLenXYXic,
1495+
hf_cand_xic0_omegac0::CosPaV0ToCasc, hf_cand_xic0_omegac0::CosPaCascToXic, hf_cand_xic0_omegac0::CosPaXYV0ToCasc, hf_cand_xic0_omegac0::CosPaXYCascToXic,
1496+
hf_cand_xic0_omegac0::KfRapXic,
1497+
hf_cand_xic0_omegac0::KfptPiFromXic, hf_cand_xic0_omegac0::KfptXic,
1498+
hf_cand_xic0_omegac0::CosThetaStarPiFromXic,
1499+
hf_cand_xic0_omegac0::V0Ndf, hf_cand_xic0_omegac0::CascNdf, hf_cand_xic0_omegac0::XicNdf,
1500+
hf_cand_xic0_omegac0::MassV0Ndf, hf_cand_xic0_omegac0::MassCascNdf,
1501+
hf_cand_xic0_omegac0::V0Chi2OverNdf, hf_cand_xic0_omegac0::CascChi2OverNdf, hf_cand_xic0_omegac0::XicChi2OverNdf,
1502+
hf_cand_xic0_omegac0::MassV0Chi2OverNdf, hf_cand_xic0_omegac0::MassCascChi2OverNdf);
1503+
14461504
// table with results of reconstruction level MC matching
14471505
DECLARE_SOA_TABLE(HfXicToXiPiMCRec, "AOD", "HFXICXIPIMCREC", //!
14481506
hf_cand_xic0_omegac0::FlagMcMatchRec,

PWGHF/DataModel/CandidateSelectionTables.h

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ DECLARE_SOA_TABLE(HfMlDsToKKPi, "AOD", "HFMLDS", //!
136136

137137
namespace hf_sel_candidate_dstar
138138
{
139-
DECLARE_SOA_COLUMN(IsSelDstarToD0Pi, isSelDstarToD0Pi, bool); //! checking if all four of following check pass
140-
DECLARE_SOA_COLUMN(IsRecoD0Flag, isRecoD0Flag, bool); //! checking DecayType::D0ToPiK of D0prong
141-
DECLARE_SOA_COLUMN(IsRecoTopol, isRecoTopol, bool); //! checking conjugate independent Topological selection on Dstar
142-
DECLARE_SOA_COLUMN(IsRecoCand, isRecoCand, bool); //! checking conjugate dependent Topological selecton on Dstar
143-
DECLARE_SOA_COLUMN(IsRecoPid, isRecoPid, bool); //! checking PID selection on daughters of D0Prong
139+
DECLARE_SOA_COLUMN(IsSelDstarToD0Pi, isSelDstarToD0Pi, bool); //! checking if all four of following check pass
140+
DECLARE_SOA_COLUMN(IsRecoD0Flag, isRecoD0Flag, bool); //! checking DecayType::D0ToPiK of D0prong
141+
DECLARE_SOA_COLUMN(IsRecoTopol, isRecoTopol, bool); //! checking conjugate independent Topological selection on Dstar
142+
DECLARE_SOA_COLUMN(IsRecoCand, isRecoCand, bool); //! checking conjugate dependent Topological selecton on Dstar
143+
DECLARE_SOA_COLUMN(IsRecoPid, isRecoPid, bool); //! checking PID selection on daughters of D0Prong
144144
DECLARE_SOA_COLUMN(MlProbDstarToD0Pi, mlProbDstarToD0Pi, std::vector<float>); //! ML probability for Dstar to D0Pi
145145
} // namespace hf_sel_candidate_dstar
146146

@@ -307,7 +307,7 @@ DECLARE_SOA_COLUMN(IsSelXicToPiKP, isSelXicToPiKP, int); //!
307307
DECLARE_SOA_COLUMN(MlProbXicToPKPi, mlProbXicToPKPi, std::vector<float>); //!
308308
DECLARE_SOA_COLUMN(MlProbXicToPiKP, mlProbXicToPiKP, std::vector<float>); //!
309309
// XicPlus to Xi Pi Pi
310-
DECLARE_SOA_COLUMN(IsSelXicToXiPiPi, isSelXicToXiPiPi, int); //!
310+
DECLARE_SOA_COLUMN(IsSelXicToXiPiPi, isSelXicToXiPiPi, int); //!
311311
DECLARE_SOA_COLUMN(MlProbXicToXiPiPi, mlProbXicToXiPiPi, std::vector<float>); //!
312312
} // namespace hf_sel_candidate_xic
313313

@@ -357,6 +357,13 @@ DECLARE_SOA_TABLE(HfSelToXiPi, "AOD", "HFSELTOXIPI",
357357
hf_sel_toxipi::TpcNSigmaPiFromCharmBaryon, hf_sel_toxipi::TpcNSigmaPiFromCasc, hf_sel_toxipi::TpcNSigmaPiFromLambda, hf_sel_toxipi::TpcNSigmaPrFromLambda,
358358
hf_sel_toxipi::TofNSigmaPiFromCharmBaryon, hf_sel_toxipi::TofNSigmaPiFromCasc, hf_sel_toxipi::TofNSigmaPiFromLambda, hf_sel_toxipi::TofNSigmaPrFromLambda);
359359

360+
DECLARE_SOA_TABLE(HfSelToXiPiKf, "AOD", "HFSELTOXIPIKF",
361+
hf_sel_toxipi::StatusPidCharmBaryon, hf_sel_toxipi::StatusPidCascade, hf_sel_toxipi::StatusPidLambda,
362+
hf_sel_toxipi::StatusInvMassCharmBaryon, hf_sel_toxipi::StatusInvMassCascade, hf_sel_toxipi::StatusInvMassLambda,
363+
hf_sel_toxipi::ResultSelections, hf_sel_toxipi::PidTpcInfoStored, hf_sel_toxipi::PidTofInfoStored,
364+
hf_sel_toxipi::TpcNSigmaPiFromCharmBaryon, hf_sel_toxipi::TpcNSigmaPiFromCasc, hf_sel_toxipi::TpcNSigmaPiFromLambda, hf_sel_toxipi::TpcNSigmaPrFromLambda,
365+
hf_sel_toxipi::TofNSigmaPiFromCharmBaryon, hf_sel_toxipi::TofNSigmaPiFromCasc, hf_sel_toxipi::TofNSigmaPiFromLambda, hf_sel_toxipi::TofNSigmaPrFromLambda);
366+
360367
namespace hf_sel_toomegapi
361368
{
362369
DECLARE_SOA_COLUMN(StatusPidLambda, statusPidLambda, bool);

PWGHF/TableProducer/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ o2physics_add_dpl_workflow(candidate-selector-omegac0-to-omega-pi
167167
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
168168
COMPONENT_NAME Analysis)
169169

170+
o2physics_add_dpl_workflow(candidate-selector-xic0-to-xi-pi-kf
171+
SOURCES candidateSelectorXic0ToXiPiKf.cxx
172+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
173+
COMPONENT_NAME Analysis)
174+
170175
o2physics_add_dpl_workflow(candidate-selector-to-xi-pi
171176
SOURCES candidateSelectorToXiPi.cxx
172177
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
@@ -254,6 +259,11 @@ o2physics_add_dpl_workflow(tree-creator-to-xi-pi
254259
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
255260
COMPONENT_NAME Analysis)
256261

262+
o2physics_add_dpl_workflow(tree-creator-xic0-to-xi-pi-kf
263+
SOURCES treeCreatorXic0ToXiPiKf.cxx
264+
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
265+
COMPONENT_NAME Analysis)
266+
257267
o2physics_add_dpl_workflow(tree-creator-xic-to-p-k-pi
258268
SOURCES treeCreatorXicToPKPi.cxx
259269
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore

0 commit comments

Comments
 (0)