Skip to content

Commit 24fcd7b

Browse files
authored
Update treeCreatorOmegac0ToOmegaPi.cxx
1 parent 317e24f commit 24fcd7b

1 file changed

Lines changed: 49 additions & 9 deletions

File tree

PWGHF/TableProducer/treeCreatorOmegac0ToOmegaPi.cxx

Lines changed: 49 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
/// \author Federica Zanone <federica.zanone@cern.ch>, Heidelberg University
1717
/// \author Yunfan Liu <yunfan.liu@cern.ch>, China University of Geosciences
1818
/// \author Fabio Catalano <fabio.catalano@cern.ch>, University of Houston
19+
/// \author Ruiqi Yin <ruiqi.yin@cern.ch>, Fudan University
1920

2021
#include "Framework/AnalysisTask.h"
2122
#include "Framework/runDataProcessing.h"
@@ -151,6 +152,7 @@ DECLARE_SOA_COLUMN(OmegacChi2OverNdf, omegacChi2OverNdf, float);
151152
DECLARE_SOA_COLUMN(MassV0Chi2OverNdf, massV0Chi2OverNdf, float);
152153
DECLARE_SOA_COLUMN(MassCascChi2OverNdf, massCascChi2OverNdf, float);
153154
DECLARE_SOA_COLUMN(CascRejectInvmass, cascRejectInvmass, float);
155+
DECLARE_SOA_COLUMN(OutputMlOmegac, outputMlOmegac, float);
154156
} // namespace full
155157

156158
DECLARE_SOA_TABLE(HfToOmegaPiEvs, "AOD", "HFTOOMEPIEV",
@@ -198,7 +200,7 @@ DECLARE_SOA_TABLE(HfKfOmegacFulls, "AOD", "HFKFOMEGACFULL",
198200
full::V0Ndf, full::CascNdf, full::OmegacNdf,
199201
full::MassV0Ndf, full::MassCascNdf,
200202
full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf,
201-
full::MassV0Chi2OverNdf, full::MassCascChi2OverNdf, full::CascRejectInvmass,
203+
full::MassV0Chi2OverNdf, full::MassCascChi2OverNdf, full::CascRejectInvmass, full::OutputMlOmegac,
202204
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
203205

204206
DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE",
@@ -214,14 +216,18 @@ DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE",
214216
full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf,
215217
full::CascRejectInvmass,
216218
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
219+
220+
DECLARE_SOA_TABLE(HfKfPbPbOmegacMl, "AOD", "HFKFPBPBOMEGACML",
221+
full::InvMassCharmBaryon, full::KfptOmegac, full::KfptPiFromOmegac, full::OutputMlOmegac, full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
217222
} // namespace o2::aod
218223

219224
/// Writes the full information in an output TTree
220-
struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0ToOmegaPi
225+
struct HfTreeCreatorOmegac0ToOmegaPi {
221226

222227
Produces<o2::aod::HfOmegac0ToOmegaPiLites> rowCandidateLite;
223228
Produces<o2::aod::HfKfOmegacFulls> rowKfCandidateFull;
224229
Produces<o2::aod::HfKfOmegacLites> rowKfCandidateLite;
230+
Produces<o2::aod::HfKfPbPbOmegacMl> rowKfPbPbOmegacMl;
225231
Produces<o2::aod::HfToOmegaPiEvs> rowEv;
226232

227233
Configurable<float> zPvCut{"zPvCut", 10., "Cut on absolute value of primary vertex z coordinate"};
@@ -381,6 +387,7 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
381387
candidate.massV0Chi2OverNdf(),
382388
candidate.massCascChi2OverNdf(),
383389
candidate.cascRejectInvmass(),
390+
candidate.mlValueOmegac(),
384391
flagMc,
385392
originMc,
386393
collisionMatched,
@@ -431,6 +438,23 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
431438
}
432439
} // fillKfCandidateLite end
433440

441+
template <typename T>
442+
void fillKfPbPbCandidateMl(const T& candidate, int8_t flagMc, int8_t originMc, bool collisionMatched)
443+
{
444+
if (candidate.resultSelections() && candidate.statusPidCharmBaryon() && candidate.statusInvMassLambda() && candidate.statusInvMassCascade() && candidate.statusInvMassCharmBaryon()) {
445+
446+
rowKfPbPbOmegacMl(
447+
candidate.invMassCharmBaryon(),
448+
candidate.kfptOmegac(),
449+
candidate.kfptPiFromOmegac(),
450+
candidate.mlValueOmegac(),
451+
flagMc,
452+
originMc,
453+
collisionMatched,
454+
candidate.hfflag());
455+
}
456+
} // fillPbPbCandidateMl end
457+
434458
void processDataLite(Colls const& collisions, Tracks const&,
435459
soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi>> const& candidates)
436460
{
@@ -446,7 +470,7 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
446470
fillCandidateLite(candidate, -7, RecoDecay::OriginType::None, false);
447471
}
448472
}
449-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processDataLite, "Process data", true);
473+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processDataLite, "Process data", false);
450474

451475
void processKfDataFull(Colls const& collisions, Tracks const&, CandKfSel const& candidates)
452476
{
@@ -462,7 +486,7 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
462486
fillKfCandidate(candidate, -7, RecoDecay::OriginType::None, false);
463487
}
464488
}
465-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataFull, "Process KF data", false);
489+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processKfDataFull, "Process KF data", false);
466490

467491
void processKfDataLite(Colls const& collisions, Tracks const&, CandKfSel const& candidates)
468492
{
@@ -478,7 +502,23 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
478502
fillKfCandidateLite(candidate, -7, RecoDecay::OriginType::None, false);
479503
}
480504
}
481-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataLite, "Process KF data Lite", false);
505+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processKfDataLite, "Process KF data Lite", false);
506+
507+
void processKfPbPbCandidateMl(Colls const& collisions, Tracks const&, CandKfSel const& candidates)
508+
{
509+
// Filling event properties
510+
rowEv.reserve(collisions.size());
511+
for (const auto& collision : collisions) {
512+
fillEvent(collision, zPvCut);
513+
}
514+
515+
// Filling candidate properties
516+
rowKfCandidateFull.reserve(candidates.size());
517+
for (const auto& candidate : candidates) {
518+
fillKfPbPbCandidateMl(candidate, -7, RecoDecay::OriginType::None, false);
519+
}
520+
}
521+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processKfPbPbCandidateMl, "Process KF data ML", true);
482522

483523
void processMcLite(Colls const& collisions, Tracks const&,
484524
soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec>> const& candidates)
@@ -495,7 +535,7 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
495535
fillCandidateLite(candidate, candidate.flagMcMatchRec(), candidate.originRec(), candidate.collisionMatched());
496536
}
497537
}
498-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processMcLite, "Process MC", false);
538+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processMcLite, "Process MC", false);
499539

500540
void processKFMcFull(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates)
501541
{
@@ -517,7 +557,7 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
517557
}
518558
}
519559
}
520-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKFMcFull, "Process KF MC", false);
560+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processKFMcFull, "Process KF MC", false);
521561

522562
void processKFMcLite(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates)
523563
{
@@ -539,12 +579,12 @@ struct HfTreeCreatorOmegacToOmegaPi { // FIXME: Rename to HfTreeCreatorOmegac0To
539579
}
540580
}
541581
}
542-
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKFMcLite, "Process KF MC Lite", false);
582+
PROCESS_SWITCH(HfTreeCreatorOmegac0ToOmegaPi, processKFMcLite, "Process KF MC Lite", false);
543583

544584
}; // end of struct
545585

546586
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
547587
{
548588
return WorkflowSpec{
549-
adaptAnalysisTask<HfTreeCreatorOmegacToOmegaPi>(cfgc)};
589+
adaptAnalysisTask<HfTreeCreatorOmegac0ToOmegaPi>(cfgc)};
550590
}

0 commit comments

Comments
 (0)