3838
3939using namespace o2 ;
4040using namespace o2 ::framework;
41+ using namespace o2 ::framework::expressions;
4142
4243namespace o2 ::aod
4344{
@@ -134,7 +135,7 @@ DECLARE_SOA_TABLE(HfKfXicFulls, "AOD", "HFKFXICFULL",
134135} // namespace o2::aod
135136
136137// / Writes the full information in an output TTree
137- struct HfTreeCreatorXic0ToXiPiKf {
138+ struct TreeCreatorXic0ToXiPiKf {
138139
139140 Produces<o2::aod::HfKfXicFulls> rowKfCandidate;
140141
@@ -145,6 +146,9 @@ struct HfTreeCreatorXic0ToXiPiKf {
145146 using MyEventTableWithFT0C = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>;
146147 using MyEventTableWithFT0M = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms>;
147148 using MyEventTableWithNTracksPV = soa::Join<aod::Collisions, aod::EvSels, aod::CentNTPVs>;
149+ using MyMcCandidates = soa::Filtered<soa::Join<aod::HfCandToXiPiKf, aod::HfSelToXiPiKf, aod::HfXicToXiPiMCRec>>;
150+
151+ Filter mcFilter = aod::hf_cand_mc_flag::originMcRec == 1 ;
148152
149153 HistogramRegistry registry{" registry" }; // for QA of selections
150154
@@ -276,7 +280,7 @@ struct HfTreeCreatorXic0ToXiPiKf {
276280 PROCESS_SWITCH (HfTreeCreatorXic0ToXiPiKf, processDataLiteWithNTracksPV, " Process KF data with Ntracks" , false );
277281
278282 void processKfMcXic0 (MyTrackTable const &,
279- soa::Join<aod::HfCandToXiPiKf, aod::HfSelToXiPiKf, aod::HfXicToXiPiMCRec> const & candidates)
283+ MyMcCandidates const & candidates)
280284 {
281285 rowKfCandidate.reserve (candidates.size ());
282286 for (const auto & candidate : candidates) {
@@ -286,7 +290,7 @@ struct HfTreeCreatorXic0ToXiPiKf {
286290 PROCESS_SWITCH (HfTreeCreatorXic0ToXiPiKf, processKfMcXic0, " Process MC with information for xic0" , false );
287291
288292 void processKfMCWithFT0C (MyTrackTable const &,
289- soa::Join<aod::HfCandToXiPiKf, aod::HfSelToXiPiKf, aod::HfXicToXiPiMCRec> const & candidates)
293+ MyMcCandidates const & candidates)
290294 {
291295 rowKfCandidate.reserve (candidates.size ());
292296 for (const auto & candidate : candidates) {
@@ -296,7 +300,7 @@ struct HfTreeCreatorXic0ToXiPiKf {
296300 PROCESS_SWITCH (HfTreeCreatorXic0ToXiPiKf, processKfMCWithFT0C, " Process MC with information for xic0 at FT0C" , false );
297301
298302 void processKfMCWithFT0M (MyTrackTable const &,
299- soa::Join<aod::HfCandToXiPiKf, aod::HfSelToXiPiKf, aod::HfXicToXiPiMCRec> const & candidates)
303+ MyMcCandidates const & candidates)
300304 {
301305 rowKfCandidate.reserve (candidates.size ());
302306 for (const auto & candidate : candidates) {
@@ -306,7 +310,7 @@ struct HfTreeCreatorXic0ToXiPiKf {
306310 PROCESS_SWITCH (HfTreeCreatorXic0ToXiPiKf, processKfMCWithFT0M, " Process MC with information for xic0 at FT0M" , false );
307311
308312 void processMCLiteWithNTracksPV (MyTrackTable const &,
309- soa::Join<aod::HfCandToXiPiKf, aod::HfSelToXiPiKf, aod::HfXicToXiPiMCRec> const & candidates)
313+ MyMcCandidates const & candidates)
310314 {
311315 rowKfCandidate.reserve (candidates.size ());
312316 for (const auto & candidate : candidates) {
0 commit comments