Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ed4d50c
Implement other channels
ZFederica Apr 29, 2024
a9fccaf
Add note
ZFederica Apr 29, 2024
a0197c4
Continue implementation
ZFederica May 3, 2024
b66d4e3
Update
ZFederica May 6, 2024
4dfbbe3
Fix build errors
ZFederica May 6, 2024
34cd0d0
Please consider the following formatting changes
alibuild May 6, 2024
8bad0a6
Merge pull request #78 from alibuild/alibot-cleanup-5893
ZFederica May 6, 2024
ea82bd2
Fix check on enabled processes
ZFederica May 6, 2024
2b8eca0
Merge branch 'working' of https://github.com/ZFederica/O2Physics into…
ZFederica May 6, 2024
9b75bd1
Please consider the following formatting changes
alibuild May 6, 2024
0aedeaa
Merge pull request #79 from alibuild/alibot-cleanup-5893
ZFederica May 6, 2024
4c5e426
Fix megalinter error
ZFederica May 6, 2024
ab7b280
Update PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
ZFederica May 10, 2024
646decd
Update PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
ZFederica May 10, 2024
633c680
Update PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
ZFederica May 10, 2024
d553ac9
Update PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
ZFederica May 10, 2024
2bd92bf
Remove dupl var massPDG
ZFederica May 10, 2024
7c959a1
Switch double -> float
ZFederica May 10, 2024
5c412dd
Remove hfflags
ZFederica May 10, 2024
981fe28
Double->float also in treecreator
ZFederica May 10, 2024
4244d9c
Update
ZFederica May 10, 2024
a94c392
Update namespace as requested in other PR
ZFederica May 10, 2024
f372ab3
Update
ZFederica May 10, 2024
a885973
Update with master
ZFederica May 10, 2024
81f635d
Fix build error
ZFederica May 10, 2024
1b7ca81
Fix conflicts
ZFederica May 10, 2024
26da1ec
Fix conflicts
ZFederica May 10, 2024
975b7e5
Please consider the following formatting changes
alibuild May 10, 2024
51510a9
Merge pull request #83 from alibuild/alibot-cleanup-5893
ZFederica May 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 158 additions & 71 deletions PWGHF/DataModel/CandidateReconstructionTables.h

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions PWGHF/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ o2physics_add_dpl_workflow(candidate-creator-sigmac0plusplus
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(candidate-creator-to-xi-pi
SOURCES candidateCreatorToXiPi.cxx
o2physics_add_dpl_workflow(candidate-creator-xic0-omegac0
SOURCES candidateCreatorXic0Omegac0.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter
COMPONENT_NAME Analysis)

Expand Down
732 changes: 0 additions & 732 deletions PWGHF/TableProducer/candidateCreatorToXiPi.cxx

This file was deleted.

1,092 changes: 1,092 additions & 0 deletions PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions PWGHF/TableProducer/candidateSelectorToXiPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ struct HfCandidateSelectorToXiPi {
auto trackV0PosDau = candidate.posTrack_as<TracksSel>(); // positive V0 daughter
auto trackV0NegDau = candidate.negTrack_as<TracksSel>(); // negative V0 daughter
auto trackPiFromCasc = candidate.bachelor_as<TracksSel>(); // pion <- cascade
auto trackPiFromCharm = candidate.piFromCharmBaryon_as<TracksSel>(); // pion <- charm baryon
auto trackPiFromCharm = candidate.bachelorFromCharmBaryon_as<TracksSel>(); // pion <- charm baryon

auto trackPiFromLam = trackV0NegDau;
auto trackPrFromLam = trackV0PosDau;
Expand All @@ -207,8 +207,8 @@ struct HfCandidateSelectorToXiPi {
// eta selection
double etaV0PosDau = candidate.etaV0PosDau();
double etaV0NegDau = candidate.etaV0NegDau();
double etaPiFromCasc = candidate.etaPiFromCasc();
double etaPiFromCharmBaryon = candidate.etaPiFromCharmBaryon();
double etaPiFromCasc = candidate.etaBachFromCasc();
double etaPiFromCharmBaryon = candidate.etaBachFromCharmBaryon();
if (std::abs(etaV0PosDau) > etaTrackLFDauMax) {
resultSelections = false;
registry.fill(HIST("hSelEtaPosV0Dau"), 0);
Expand Down Expand Up @@ -302,13 +302,13 @@ struct HfCandidateSelectorToXiPi {
}

// cut on charm bachelor pion dcaXY and dcaZ
if ((std::abs(candidate.impactParPiFromCharmBaryonXY()) < impactParameterXYPiFromCharmBaryonMin) || (std::abs(candidate.impactParPiFromCharmBaryonXY()) > impactParameterXYPiFromCharmBaryonMax)) {
if ((std::abs(candidate.impactParBachFromCharmBaryonXY()) < impactParameterXYPiFromCharmBaryonMin) || (std::abs(candidate.impactParBachFromCharmBaryonXY()) > impactParameterXYPiFromCharmBaryonMax)) {
resultSelections = false;
registry.fill(HIST("hSelDCAXYPrimPi"), 0);
} else {
registry.fill(HIST("hSelDCAXYPrimPi"), 1);
}
if ((std::abs(candidate.impactParPiFromCharmBaryonZ()) < impactParameterZPiFromCharmBaryonMin) || (std::abs(candidate.impactParPiFromCharmBaryonZ()) > impactParameterZPiFromCharmBaryonMax)) {
if ((std::abs(candidate.impactParBachFromCharmBaryonZ()) < impactParameterZPiFromCharmBaryonMin) || (std::abs(candidate.impactParBachFromCharmBaryonZ()) > impactParameterZPiFromCharmBaryonMax)) {
resultSelections = false;
registry.fill(HIST("hSelDCAZPrimPi"), 0);
} else {
Expand All @@ -330,8 +330,8 @@ struct HfCandidateSelectorToXiPi {
}

// pT selections
double ptPiFromCasc = RecoDecay::sqrtSumOfSquares(candidate.pxPiFromCasc(), candidate.pyPiFromCasc());
double ptPiFromCharmBaryon = RecoDecay::sqrtSumOfSquares(candidate.pxPiFromCharmBaryon(), candidate.pyPiFromCharmBaryon());
double ptPiFromCasc = RecoDecay::sqrtSumOfSquares(candidate.pxBachFromCasc(), candidate.pyBachFromCasc());
double ptPiFromCharmBaryon = RecoDecay::sqrtSumOfSquares(candidate.pxBachFromCharmBaryon(), candidate.pyBachFromCharmBaryon());
if (std::abs(ptPiFromCasc) < ptPiFromCascMin) {
resultSelections = false;
registry.fill(HIST("hSelPtPiFromCasc"), 0);
Expand Down
149 changes: 93 additions & 56 deletions PWGHF/TableProducer/treeCreatorToXiPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -77,26 +77,26 @@ DECLARE_SOA_COLUMN(ImpactParCascZ, impactParCascZ, float);
DECLARE_SOA_COLUMN(ImpactParPiFromCharmBaryonZ, impactParPiFromCharmBaryonZ, float);
DECLARE_SOA_COLUMN(ErrImpactParCascXY, errImpactParCascXY, float);
DECLARE_SOA_COLUMN(ErrImpactParPiFromCharmBaryonXY, errImpactParPiFromCharmBaryonXY, float);
DECLARE_SOA_COLUMN(InvMassLambda, invMassLambda, double);
DECLARE_SOA_COLUMN(InvMassCascade, invMassCascade, double);
DECLARE_SOA_COLUMN(InvMassCharmBaryon, invMassCharmBaryon, double);
DECLARE_SOA_COLUMN(CosPAV0, cosPAV0, double);
DECLARE_SOA_COLUMN(CosPACharmBaryon, cosPACharmBaryon, double);
DECLARE_SOA_COLUMN(CosPACasc, cosPACasc, double);
DECLARE_SOA_COLUMN(CosPAXYV0, cosPAXYV0, double);
DECLARE_SOA_COLUMN(CosPAXYCharmBaryon, cosPAXYCharmBaryon, double);
DECLARE_SOA_COLUMN(CosPAXYCasc, cosPAXYCasc, double);
DECLARE_SOA_COLUMN(CTauOmegac, ctauOmegac, double);
DECLARE_SOA_COLUMN(CTauCascade, ctauCascade, double);
DECLARE_SOA_COLUMN(CTauV0, ctauV0, double);
DECLARE_SOA_COLUMN(CTauXic, ctauXic, double);
DECLARE_SOA_COLUMN(EtaV0PosDau, etaV0PosDau, double);
DECLARE_SOA_COLUMN(EtaV0NegDau, etaV0NegDau, double);
DECLARE_SOA_COLUMN(EtaPiFromCasc, etaPiFromCasc, double);
DECLARE_SOA_COLUMN(EtaPiFromCharmBaryon, etaPiFromCharmBaryon, double);
DECLARE_SOA_COLUMN(EtaCharmBaryon, etaCharmBaryon, double);
DECLARE_SOA_COLUMN(EtaCascade, etaCascade, double);
DECLARE_SOA_COLUMN(EtaV0, etaV0, double);
DECLARE_SOA_COLUMN(InvMassLambda, invMassLambda, float);
DECLARE_SOA_COLUMN(InvMassCascade, invMassCascade, float);
DECLARE_SOA_COLUMN(InvMassCharmBaryon, invMassCharmBaryon, float);
DECLARE_SOA_COLUMN(CosPAV0, cosPAV0, float);
DECLARE_SOA_COLUMN(CosPACharmBaryon, cosPACharmBaryon, float);
DECLARE_SOA_COLUMN(CosPACasc, cosPACasc, float);
DECLARE_SOA_COLUMN(CosPAXYV0, cosPAXYV0, float);
DECLARE_SOA_COLUMN(CosPAXYCharmBaryon, cosPAXYCharmBaryon, float);
DECLARE_SOA_COLUMN(CosPAXYCasc, cosPAXYCasc, float);
DECLARE_SOA_COLUMN(CTauOmegac, ctauOmegac, float);
DECLARE_SOA_COLUMN(CTauCascade, ctauCascade, float);
DECLARE_SOA_COLUMN(CTauV0, ctauV0, float);
DECLARE_SOA_COLUMN(CTauXic, ctauXic, float);
DECLARE_SOA_COLUMN(EtaV0PosDau, etaV0PosDau, float);
DECLARE_SOA_COLUMN(EtaV0NegDau, etaV0NegDau, float);
DECLARE_SOA_COLUMN(EtaPiFromCasc, etaPiFromCasc, float);
DECLARE_SOA_COLUMN(EtaPiFromCharmBaryon, etaPiFromCharmBaryon, float);
DECLARE_SOA_COLUMN(EtaCharmBaryon, etaCharmBaryon, float);
DECLARE_SOA_COLUMN(EtaCascade, etaCascade, float);
DECLARE_SOA_COLUMN(EtaV0, etaV0, float);
DECLARE_SOA_COLUMN(DcaXYToPvV0Dau0, dcaXYToPvV0Dau0, float);
DECLARE_SOA_COLUMN(DcaXYToPvV0Dau1, dcaXYToPvV0Dau1, float);
DECLARE_SOA_COLUMN(DcaXYToPvCascDau, dcaXYToPvCascDau, float);
Expand All @@ -106,9 +106,9 @@ DECLARE_SOA_COLUMN(DcaZToPvCascDau, dcaZToPvCascDau, float);
DECLARE_SOA_COLUMN(DcaCascDau, dcaCascDau, float);
DECLARE_SOA_COLUMN(DcaV0Dau, dcaV0Dau, float);
DECLARE_SOA_COLUMN(DcaCharmBaryonDau, dcaCharmBaryonDau, float);
DECLARE_SOA_COLUMN(DecLenCharmBaryon, decLenCharmBaryon, double);
DECLARE_SOA_COLUMN(DecLenCascade, decLenCascade, double);
DECLARE_SOA_COLUMN(DecLenV0, decLenV0, double);
DECLARE_SOA_COLUMN(DecLenCharmBaryon, decLenCharmBaryon, float);
DECLARE_SOA_COLUMN(DecLenCascade, decLenCascade, float);
DECLARE_SOA_COLUMN(DecLenV0, decLenV0, float);
DECLARE_SOA_COLUMN(ErrorDecayLengthCharmBaryon, errorDecayLengthCharmBaryon, float);
DECLARE_SOA_COLUMN(ErrorDecayLengthXYCharmBaryon, errorDecayLengthXYCharmBaryon, float);
DECLARE_SOA_COLUMN(NormImpParCascade, normImpParCascade, double);
Expand Down Expand Up @@ -218,6 +218,9 @@ struct HfTreeCreatorToXiPi {

void init(InitContext const&)
{
if ((doprocessMcLiteXic0 && doprocessMcLiteOmegac0) || (doprocessMcFullXic0 && doprocessMcFullOmegac0)) {
LOGF(fatal, "Both Xic0 and Omegac0 MC processes enabled, please choose ONLY one!");
}
}

template <typename T>
Expand Down Expand Up @@ -254,27 +257,27 @@ struct HfTreeCreatorToXiPi {
candidate.pxCasc(),
candidate.pyCasc(),
candidate.pzCasc(),
candidate.pxPiFromCharmBaryon(),
candidate.pyPiFromCharmBaryon(),
candidate.pzPiFromCharmBaryon(),
candidate.pxBachFromCharmBaryon(),
candidate.pyBachFromCharmBaryon(),
candidate.pzBachFromCharmBaryon(),
candidate.pxLambda(),
candidate.pyLambda(),
candidate.pzLambda(),
candidate.pxPiFromCasc(),
candidate.pyPiFromCasc(),
candidate.pzPiFromCasc(),
candidate.pxBachFromCasc(),
candidate.pyBachFromCasc(),
candidate.pzBachFromCasc(),
candidate.pxPosV0Dau(),
candidate.pyPosV0Dau(),
candidate.pzPosV0Dau(),
candidate.pxNegV0Dau(),
candidate.pyNegV0Dau(),
candidate.pzNegV0Dau(),
candidate.impactParCascXY(),
candidate.impactParPiFromCharmBaryonXY(),
candidate.impactParBachFromCharmBaryonXY(),
candidate.impactParCascZ(),
candidate.impactParPiFromCharmBaryonZ(),
candidate.impactParBachFromCharmBaryonZ(),
candidate.errImpactParCascXY(),
candidate.errImpactParPiFromCharmBaryonXY(),
candidate.errImpactParBachFromCharmBaryonXY(),
candidate.invMassLambda(),
candidate.invMassCascade(),
candidate.invMassCharmBaryon(),
Expand All @@ -290,8 +293,8 @@ struct HfTreeCreatorToXiPi {
candidate.ctauXic(),
candidate.etaV0PosDau(),
candidate.etaV0NegDau(),
candidate.etaPiFromCasc(),
candidate.etaPiFromCharmBaryon(),
candidate.etaBachFromCasc(),
candidate.etaBachFromCharmBaryon(),
candidate.etaCharmBaryon(),
candidate.etaCascade(),
candidate.etaV0(),
Expand All @@ -310,10 +313,10 @@ struct HfTreeCreatorToXiPi {
candidate.errorDecayLengthCharmBaryon(),
candidate.errorDecayLengthXYCharmBaryon(),
candidate.impactParCascXY() / candidate.errImpactParCascXY(),
candidate.impactParPiFromCharmBaryonXY() / candidate.errImpactParPiFromCharmBaryonXY(),
candidate.impactParBachFromCharmBaryonXY() / candidate.errImpactParBachFromCharmBaryonXY(),
candidate.decLenCharmBaryon() / candidate.errorDecayLengthCharmBaryon(),
candidate.template piFromCharmBaryon_as<MyTrackTable>().isGlobalTrackWoDCA(),
candidate.template piFromCharmBaryon_as<MyTrackTable>().itsNCls(),
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().isGlobalTrackWoDCA(),
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().itsNCls(),
candidate.statusPidLambda(),
candidate.statusPidCascade(),
candidate.statusPidCharmBaryon(),
Expand Down Expand Up @@ -361,29 +364,29 @@ struct HfTreeCreatorToXiPi {
candidate.pxCharmBaryon(),
candidate.pyCharmBaryon(),
candidate.pzCharmBaryon(),
candidate.pxPiFromCharmBaryon(),
candidate.pyPiFromCharmBaryon(),
candidate.pzPiFromCharmBaryon(),
candidate.pxPiFromCasc(),
candidate.pyPiFromCasc(),
candidate.pzPiFromCasc(),
candidate.pxBachFromCharmBaryon(),
candidate.pyBachFromCharmBaryon(),
candidate.pzBachFromCharmBaryon(),
candidate.pxBachFromCasc(),
candidate.pyBachFromCasc(),
candidate.pzBachFromCasc(),
candidate.pxPosV0Dau(),
candidate.pyPosV0Dau(),
candidate.pzPosV0Dau(),
candidate.pxNegV0Dau(),
candidate.pyNegV0Dau(),
candidate.pzNegV0Dau(),
candidate.impactParCascXY(),
candidate.impactParPiFromCharmBaryonXY(),
candidate.impactParBachFromCharmBaryonXY(),
candidate.errImpactParCascXY(),
candidate.errImpactParPiFromCharmBaryonXY(),
candidate.errImpactParBachFromCharmBaryonXY(),
candidate.invMassLambda(),
candidate.invMassCascade(),
candidate.invMassCharmBaryon(),
candidate.etaV0PosDau(),
candidate.etaV0NegDau(),
candidate.etaPiFromCasc(),
candidate.etaPiFromCharmBaryon(),
candidate.etaBachFromCasc(),
candidate.etaBachFromCharmBaryon(),
candidate.dcaXYToPvV0Dau0(),
candidate.dcaXYToPvV0Dau1(),
candidate.dcaXYToPvCascDau(),
Expand All @@ -392,9 +395,9 @@ struct HfTreeCreatorToXiPi {
candidate.dcaCharmBaryonDau(),
candidate.errorDecayLengthCharmBaryon(),
candidate.impactParCascXY() / candidate.errImpactParCascXY(),
candidate.impactParPiFromCharmBaryonXY() / candidate.errImpactParPiFromCharmBaryonXY(),
candidate.template piFromCharmBaryon_as<MyTrackTable>().isGlobalTrackWoDCA(),
candidate.template piFromCharmBaryon_as<MyTrackTable>().itsNCls(),
candidate.impactParBachFromCharmBaryonXY() / candidate.errImpactParBachFromCharmBaryonXY(),
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().isGlobalTrackWoDCA(),
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().itsNCls(),
candidate.pidTpcInfoStored(),
candidate.pidTofInfoStored(),
candidate.tpcNSigmaPiFromCharmBaryon(),
Expand Down Expand Up @@ -428,8 +431,25 @@ struct HfTreeCreatorToXiPi {
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processDataFull, "Process data with full information", true);

void processMcFull(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfToXiPiMCRec> const& candidates)
void processMcFullXic0(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfXicToXiPiMCRec> const& candidates)
{
// Filling event properties
rowEv.reserve(collisions.size());
for (const auto& collision : collisions) {
fillEvent(collision, zPvCut);
}

// Filling candidate properties
rowCandidateFull.reserve(candidates.size());
for (const auto& candidate : candidates) {
fillCandidate(candidate, candidate.flagMcMatchRec(), candidate.debugMcRec(), candidate.originRec(), candidate.collisionMatched());
}
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcFullXic0, "Process MC with full information for xic0", false);

void processMcFullOmegac0(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfOmegacToXiPiMCRec> const& candidates)
{
// Filling event properties
rowEv.reserve(collisions.size());
Expand All @@ -443,7 +463,7 @@ struct HfTreeCreatorToXiPi {
fillCandidate(candidate, candidate.flagMcMatchRec(), candidate.debugMcRec(), candidate.originRec(), candidate.collisionMatched());
}
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcFull, "Process MC with full information", false);
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcFullOmegac0, "Process MC with full information for omegac0", false);

void processDataLite(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi> const& candidates)
Expand All @@ -462,8 +482,25 @@ struct HfTreeCreatorToXiPi {
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processDataLite, "Process data and produce lite table version", false);

void processMcLite(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfToXiPiMCRec> const& candidates)
void processMcLiteXic0(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfXicToXiPiMCRec> const& candidates)
{
// Filling event properties
rowEv.reserve(collisions.size());
for (const auto& collision : collisions) {
fillEvent(collision, zPvCut);
}

// Filling candidate properties
rowCandidateLite.reserve(candidates.size());
for (const auto& candidate : candidates) {
fillCandidateLite(candidate, candidate.flagMcMatchRec(), candidate.originRec(), candidate.collisionMatched());
}
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcLiteXic0, "Process MC and produce lite table version for xic0", false);

void processMcLiteOmegac0(MyEventTable const& collisions, MyTrackTable const&,
soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi, aod::HfOmegacToXiPiMCRec> const& candidates)
{
// Filling event properties
rowEv.reserve(collisions.size());
Expand All @@ -477,7 +514,7 @@ struct HfTreeCreatorToXiPi {
fillCandidateLite(candidate, candidate.flagMcMatchRec(), candidate.originRec(), candidate.collisionMatched());
}
}
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcLite, "Process MC and produce lite table version", false);
PROCESS_SWITCH(HfTreeCreatorToXiPi, processMcLiteOmegac0, "Process MC and produce lite table version for omegac0", false);

}; // end of struct

Expand Down
Loading