Skip to content

Commit 55286a0

Browse files
authored
[PWGHF] Remove indexRexCharmBaryon=-1 case for MC rec matching (#11556)
1 parent 2fd49aa commit 55286a0

File tree

1 file changed

+43
-38
lines changed

1 file changed

+43
-38
lines changed

PWGHF/TableProducer/treeCreatorOmegacSt.cxx

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,41 @@
1515
/// \author Jochen Klein
1616
/// \author Tiantian Cheng
1717

18-
#include <map>
19-
#include <memory>
20-
#include <string>
21-
#include <vector>
18+
#include "PWGHF/Core/SelectorCuts.h"
19+
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
20+
#include "PWGHF/Utils/utilsTrkCandHf.h"
21+
#include "PWGLF/DataModel/LFStrangenessTables.h"
2222

23-
#include <TPDGCode.h>
23+
#include "Common/Core/RecoDecay.h"
24+
#include "Common/Core/TrackSelection.h"
25+
#include "Common/Core/trackUtilities.h"
26+
#include "Common/DataModel/CollisionAssociationTables.h"
27+
#include "Common/DataModel/EventSelection.h"
28+
#include "Common/DataModel/PIDResponse.h"
29+
#include "Common/DataModel/TrackSelectionTables.h"
30+
#include "EventFiltering/Zorro.h"
31+
#include "EventFiltering/ZorroSummary.h"
2432

2533
#include "CCDB/BasicCCDBManager.h"
2634
#include "CommonConstants/PhysicsConstants.h"
35+
#include "DCAFitter/DCAFitterN.h"
2736
#include "DataFormatsParameters/GRPMagField.h"
2837
#include "DataFormatsParameters/GRPObject.h"
29-
#include "DCAFitter/DCAFitterN.h"
3038
#include "DetectorsBase/Propagator.h"
31-
#include "EventFiltering/Zorro.h"
32-
#include "EventFiltering/ZorroSummary.h"
39+
#include "Framework/ASoA.h"
3340
#include "Framework/AnalysisDataModel.h"
3441
#include "Framework/AnalysisTask.h"
35-
#include "Framework/ASoA.h"
3642
#include "Framework/HistogramRegistry.h"
3743
#include "Framework/O2DatabasePDGPlugin.h"
3844
#include "Framework/runDataProcessing.h"
3945
#include "ReconstructionDataFormats/DCA.h"
40-
#include "Common/DataModel/EventSelection.h"
41-
#include "Common/Core/RecoDecay.h"
42-
#include "Common/Core/trackUtilities.h"
43-
#include "Common/DataModel/PIDResponse.h"
44-
#include "Common/Core/TrackSelection.h"
45-
#include "Common/DataModel/TrackSelectionTables.h"
46-
#include "Common/DataModel/CollisionAssociationTables.h"
47-
#include "PWGLF/DataModel/LFStrangenessTables.h"
48-
#include "PWGHF/Core/SelectorCuts.h"
49-
#include "PWGHF/Utils/utilsTrkCandHf.h"
50-
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
46+
47+
#include <TPDGCode.h>
48+
49+
#include <map>
50+
#include <memory>
51+
#include <string>
52+
#include <vector>
5153

5254
using namespace o2;
5355
using namespace o2::framework;
@@ -369,8 +371,7 @@ struct HfTreeCreatorOmegacSt {
369371
} else if (idxKaonDaughter >= 0 && idxCascDaughter >= 0) {
370372
decayChannel = o2::aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK; // OmegaC -> Omega + K
371373
} else {
372-
decayChannel = -1;
373-
LOG(warning) << "Decay channel not recognized!";
374+
decayChannel = -1; // LOG(warning) << "Decay channel not recognized!";
374375
}
375376
if (decayChannel != -1) {
376377
int idxDaughter = (decayChannel == o2::aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi) ? idxPionDaughter : idxKaonDaughter;
@@ -662,32 +663,36 @@ struct HfTreeCreatorOmegacSt {
662663
// Match Omegac0 → Omega- + Pi+
663664
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, false>(mcParticles->get(), arrayDaughters, o2::constants::physics::kOmegaC0,
664665
std::array{+kPiPlus, +kKMinus, +kProton, +kPiMinus}, true, &sign, 3, &nPiToMuOmegac0, &nKaToPiOmegac0);
666+
indexRecCharmBaryon = indexRec;
667+
if (indexRec > -1) {
668+
// Omega- → K pi p (Cascade match)
669+
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersCasc, +kOmegaMinus, std::array{+kKMinus, +kProton, +kPiMinus}, true, &signCasc, 2, &nPiToMuCasc, &nKaToPiCasc);
670+
if (indexRec > -1) {
671+
// Lambda → p pi (Lambda match)
672+
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersV0, +kLambda0, std::array{+kProton, +kPiMinus}, true, &signV0, 1, &nPiToMuV0);
673+
if (indexRec > -1) {
674+
isMatched = true;
675+
}
676+
}
677+
}
665678
} else if (decayChannel == o2::aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK) {
666679
// Match Omegac0 → Omega- + K+
667680
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, false>(mcParticles->get(), arrayDaughters, o2::constants::physics::kOmegaC0,
668681
std::array{+kKPlus, +kKMinus, +kProton, +kPiMinus}, true, &sign, 3, &nPiToMuOmegac0, &nKaToPiOmegac0);
669-
}
670-
indexRecCharmBaryon = indexRec;
671-
if (indexRec > -1) {
672-
// Omega- → K pi p (Cascade match)
673-
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersCasc, +kOmegaMinus, std::array{+kKMinus, +kProton, +kPiMinus}, true, &signCasc, 2, &nPiToMuCasc, &nKaToPiCasc);
682+
indexRecCharmBaryon = indexRec;
674683
if (indexRec > -1) {
675-
// Lambda → p pi (Lambda match)
676-
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersV0, +kLambda0, std::array{+kProton, +kPiMinus}, true, &signV0, 1, &nPiToMuV0);
677-
if (decayChannel == o2::aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi) {
678-
if (nPiToMuOmegac0 >= 1 && nKaToPiOmegac0 == 0) {
679-
isMatched = true;
680-
} else if (nPiToMuOmegac0 == 0 && nKaToPiOmegac0 == 0) {
681-
isMatched = true;
682-
}
683-
} else if (decayChannel == o2::aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK) {
684-
if (nPiToMuOmegac0 == 0 && nKaToPiOmegac0 == 0) {
684+
// Omega- → K pi p (Cascade match)
685+
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersCasc, +kOmegaMinus, std::array{+kKMinus, +kProton, +kPiMinus}, true, &signCasc, 2, &nPiToMuCasc, &nKaToPiCasc);
686+
if (indexRec > -1) {
687+
// Lambda → p pi (Lambda match)
688+
indexRec = RecoDecay::getMatchedMCRec<false, true, false, true, true>(mcParticles->get(), arrayDaughtersV0, +kLambda0, std::array{+kProton, +kPiMinus}, true, &signV0, 1, &nPiToMuV0);
689+
if (indexRec > -1) {
685690
isMatched = true;
686691
}
687692
}
688693
}
689694
}
690-
if (isMatched) {
695+
if (isMatched && indexRecCharmBaryon > -1) {
691696
auto particle = mcParticles->get().rawIteratorAt(indexRecCharmBaryon);
692697
origin = RecoDecay::getCharmHadronOrigin(mcParticles->get(), particle, false, &idxBhadMothers);
693698
}

0 commit comments

Comments
 (0)