Skip to content

Commit e9905ae

Browse files
committed
Fix reconstruction flag not checked in OmegaC treecreator
1 parent 833f473 commit e9905ae

File tree

1 file changed

+29
-24
lines changed

1 file changed

+29
-24
lines changed

PWGHF/TableProducer/treeCreatorOmegacToOmegaPi.cxx

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
///
1616
/// \author Federica Zanone <federica.zanone@cern.ch>, Heidelberg University
1717
/// \author Yunfan Liu <yunfan.liu@cern.ch>, China University of Geosciences
18+
/// \author Fabio Catalano <fabio.catalano@cern.ch>, University of Houston
1819

1920
#include "Framework/AnalysisTask.h"
2021
#include "Framework/runDataProcessing.h"
@@ -26,6 +27,7 @@
2627

2728
using namespace o2;
2829
using namespace o2::framework;
30+
using namespace o2::framework::expressions;
2931

3032
namespace o2::aod
3133
{
@@ -176,7 +178,7 @@ DECLARE_SOA_TABLE(HfOmegac0ToOmegaPiLites, "AOD", "HFTOOMEPILITE",
176178
full::PidTpcInfoStored, full::PidTofInfoStored,
177179
full::TpcNSigmaPiFromCharmBaryon, full::TpcNSigmaKaFromCasc, full::TpcNSigmaPiFromLambda, full::TpcNSigmaPrFromLambda,
178180
full::TofNSigmaPiFromCharmBaryon, full::TofNSigmaKaFromCasc, full::TofNSigmaPiFromLambda, full::TofNSigmaPrFromLambda,
179-
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched);
181+
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
180182

181183
DECLARE_SOA_TABLE(HfKfOmegacFulls, "AOD", "HFKFOMEGACFULL",
182184
full::NSigmaTPCPiFromOmegac, full::NSigmaTOFPiFromOmegac, full::NSigmaTPCKaFromCasc, full::NSigmaTOFKaFromCasc,
@@ -197,7 +199,7 @@ DECLARE_SOA_TABLE(HfKfOmegacFulls, "AOD", "HFKFOMEGACFULL",
197199
full::MassV0Ndf, full::MassCascNdf,
198200
full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf,
199201
full::MassV0Chi2OverNdf, full::MassCascChi2OverNdf, full::CascRejectInvmass,
200-
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched);
202+
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
201203

202204
DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE",
203205
full::NSigmaTPCPiFromOmegac, full::NSigmaTOFPiFromOmegac, full::NSigmaTPCKaFromCasc, full::NSigmaTOFKaFromCasc,
@@ -211,7 +213,7 @@ DECLARE_SOA_TABLE(HfKfOmegacLites, "AOD", "HFKFOMEGACLITE",
211213
full::CosThetaStarPiFromOmegac, full::CtOmegac, full::EtaOmegac,
212214
full::V0Chi2OverNdf, full::CascChi2OverNdf, full::OmegacChi2OverNdf,
213215
full::CascRejectInvmass,
214-
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched);
216+
full::FlagMcMatchRec, full::OriginRec, full::CollisionMatched, hf_track_index::HFflag);
215217
} // namespace o2::aod
216218

217219
/// Writes the full information in an output TTree
@@ -225,8 +227,12 @@ struct HfTreeCreatorOmegacToOmegaPi {
225227
Configurable<float> zPvCut{"zPvCut", 10., "Cut on absolute value of primary vertex z coordinate"};
226228
Configurable<bool> keepOnlyMcSignal{"keepOnlyMcSignal", true, "Fill MC tree only with signal candidates"};
227229

228-
using MyTrackTable = soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra>;
229-
using MyEventTable = soa::Join<aod::Collisions, aod::EvSels>;
230+
using Tracks = soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra>;
231+
using Colls = soa::Join<aod::Collisions, aod::EvSels>;
232+
using CandKfSel = soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi>>;
233+
using CascKfMcSel = soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec>>;
234+
235+
Filter filterOmegaCToOmegaPiFlag = (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi))) != static_cast<uint8_t>(0);
230236

231237
void init(InitContext const&)
232238
{
@@ -247,8 +253,8 @@ struct HfTreeCreatorOmegacToOmegaPi {
247253
candidate.xPv(),
248254
candidate.yPv(),
249255
candidate.zPv(),
250-
candidate.template collision_as<MyEventTable>().numContrib(),
251-
candidate.template collision_as<MyEventTable>().chi2(),
256+
candidate.template collision_as<Colls>().numContrib(),
257+
candidate.template collision_as<Colls>().chi2(),
252258
candidate.xDecayVtxCharmBaryon(),
253259
candidate.yDecayVtxCharmBaryon(),
254260
candidate.zDecayVtxCharmBaryon(),
@@ -294,8 +300,8 @@ struct HfTreeCreatorOmegacToOmegaPi {
294300
candidate.errorDecayLengthCharmBaryon(),
295301
candidate.impactParCascXY() / candidate.errImpactParCascXY(),
296302
candidate.impactParBachFromCharmBaryonXY() / candidate.errImpactParBachFromCharmBaryonXY(),
297-
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().isGlobalTrackWoDCA(),
298-
candidate.template bachelorFromCharmBaryon_as<MyTrackTable>().itsNCls(),
303+
candidate.template bachelorFromCharmBaryon_as<Tracks>().isGlobalTrackWoDCA(),
304+
candidate.template bachelorFromCharmBaryon_as<Tracks>().itsNCls(),
299305
candidate.pidTpcInfoStored(),
300306
candidate.pidTofInfoStored(),
301307
candidate.tpcNSigmaPiFromCharmBaryon(),
@@ -308,7 +314,8 @@ struct HfTreeCreatorOmegacToOmegaPi {
308314
candidate.tofNSigmaPrFromLambda(),
309315
flagMc,
310316
originMc,
311-
collisionMatched);
317+
collisionMatched,
318+
candidate.hfflag());
312319
}
313320
}
314321

@@ -376,7 +383,8 @@ struct HfTreeCreatorOmegacToOmegaPi {
376383
candidate.cascRejectInvmass(),
377384
flagMc,
378385
originMc,
379-
collisionMatched);
386+
collisionMatched,
387+
candidate.hfflag());
380388
}
381389
}
382390

@@ -418,12 +426,13 @@ struct HfTreeCreatorOmegacToOmegaPi {
418426
candidate.cascRejectInvmass(),
419427
flagMc,
420428
originMc,
421-
collisionMatched);
429+
collisionMatched,
430+
candidate.hfflag());
422431
}
423432
} // fillKfCandidateLite end
424433

425-
void processDataLite(MyEventTable const& collisions, MyTrackTable const&,
426-
soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi> const& candidates)
434+
void processDataLite(Colls const& collisions, Tracks const&,
435+
soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi>> const& candidates)
427436
{
428437
// Filling event properties
429438
rowEv.reserve(collisions.size());
@@ -439,8 +448,7 @@ struct HfTreeCreatorOmegacToOmegaPi {
439448
}
440449
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processDataLite, "Process data", true);
441450

442-
void processKfDataFull(MyEventTable const& collisions, MyTrackTable const&,
443-
soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi> const& candidates)
451+
void processKfDataFull(Colls const& collisions, Tracks const&, CandKfSel const& candidates)
444452
{
445453
// Filling event properties
446454
rowEv.reserve(collisions.size());
@@ -456,8 +464,7 @@ struct HfTreeCreatorOmegacToOmegaPi {
456464
}
457465
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataFull, "Process KF data", false);
458466

459-
void processKfDataLite(MyEventTable const& collisions, MyTrackTable const&,
460-
soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi> const& candidates)
467+
void processKfDataLite(Colls const& collisions, Tracks const&, CandKfSel const& candidates)
461468
{
462469
// Filling event properties
463470
rowEv.reserve(collisions.size());
@@ -473,8 +480,8 @@ struct HfTreeCreatorOmegacToOmegaPi {
473480
}
474481
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKfDataLite, "Process KF data Lite", false);
475482

476-
void processMcLite(MyEventTable const& collisions, MyTrackTable const&,
477-
soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec> const& candidates)
483+
void processMcLite(Colls const& collisions, Tracks const&,
484+
soa::Filtered<soa::Join<aod::HfCandToOmegaPi, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec>> const& candidates)
478485
{
479486
// Filling event properties
480487
rowEv.reserve(collisions.size());
@@ -490,8 +497,7 @@ struct HfTreeCreatorOmegacToOmegaPi {
490497
}
491498
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processMcLite, "Process MC", false);
492499

493-
void processKFMcFull(MyEventTable const& collisions, MyTrackTable const&,
494-
soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec> const& candidates)
500+
void processKFMcFull(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates)
495501
{
496502
// Filling event properties
497503
rowEv.reserve(collisions.size());
@@ -513,8 +519,7 @@ struct HfTreeCreatorOmegacToOmegaPi {
513519
}
514520
PROCESS_SWITCH(HfTreeCreatorOmegacToOmegaPi, processKFMcFull, "Process KF MC", false);
515521

516-
void processKFMcLite(MyEventTable const& collisions, MyTrackTable const&,
517-
soa::Join<aod::HfCandToOmegaPi, aod::HfOmegacKf, aod::HfSelToOmegaPi, aod::HfToOmegaPiMCRec> const& candidates)
522+
void processKFMcLite(Colls const& collisions, Tracks const&, CascKfMcSel const& candidates)
518523
{
519524
// Filling event properties
520525
rowEv.reserve(collisions.size());

0 commit comments

Comments
 (0)