Skip to content

Commit 7d10012

Browse files
mfagginMattia Faggin
andauthored
[PWGHF] add correlated bkg to Lc tree creator. (#11807)
Co-authored-by: Mattia Faggin <mfaggin@cern.ch>
1 parent 53931f4 commit 7d10012

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

PWGHF/TableProducer/treeCreatorLcToPKPi.cxx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,20 @@
1717
/// \author Nicolo' Jacazio <nicolo.jacazio@cern.ch>, CERN
1818
/// \author Luigi Dello Stritto <luigi.dello.stritto@cern.ch>, CERN
1919

20-
#include <algorithm>
21-
#include <utility>
22-
#include <vector>
20+
#include "PWGHF/Core/HfHelper.h"
21+
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
22+
#include "PWGHF/DataModel/CandidateSelectionTables.h"
23+
24+
#include "Common/DataModel/Centrality.h"
25+
#include "Common/DataModel/Multiplicity.h"
2326

2427
#include "CommonConstants/PhysicsConstants.h"
2528
#include "Framework/AnalysisTask.h"
2629
#include "Framework/runDataProcessing.h"
2730

28-
#include "Common/DataModel/Centrality.h"
29-
#include "Common/DataModel/Multiplicity.h"
30-
31-
#include "PWGHF/Core/HfHelper.h"
32-
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
33-
#include "PWGHF/DataModel/CandidateSelectionTables.h"
31+
#include <algorithm>
32+
#include <utility>
33+
#include <vector>
3434

3535
using namespace o2;
3636
using namespace o2::framework;
@@ -388,6 +388,7 @@ struct HfTreeCreatorLcToPKPi {
388388
Configurable<bool> applyMl{"applyMl", false, "Whether ML was used in candidateSelectorLc"};
389389
Configurable<bool> keepOnlySignalMc{"keepOnlySignalMc", false, "Fill MC tree only with signal candidates"};
390390
Configurable<bool> keepOnlyBkg{"keepOnlyBkg", false, "Fill MC tree only with background candidates"};
391+
Configurable<bool> keepCorrBkgMC{"keepCorrBkgMC", false, "Flag to keep correlated background sources (Λc+ -> p K− π+ π0, p π− π+, p K− K+ and other charm hadrons)"};
391392
Configurable<double> downSampleBkgFactor{"downSampleBkgFactor", 1., "Fraction of candidates to store in the tree"};
392393
Configurable<float> downSampleBkgPtMax{"downSampleBkgPtMax", 100.f, "Max. pt for background downsampling"};
393394

@@ -927,9 +928,11 @@ struct HfTreeCreatorLcToPKPi {
927928
const int sigbgstatus = determineSignalBgStatus(candidate, candFlag);
928929
const bool isMcCandidateSignal = (sigbgstatus == Prompt) || (sigbgstatus == NonPrompt);
929930
const bool passSelection = functionSelection >= selectionFlagLc;
930-
const bool keepAll = !keepOnlySignalMc && !keepOnlyBkg;
931+
const bool keepAll = !keepOnlySignalMc && !keepOnlyBkg && !keepCorrBkgMC;
932+
const int flag = candidate.flagMcMatchRec();
933+
const bool isCorrBkg = (std::abs(flag) != 0 && std::abs(flag) != o2::hf_decay::hf_cand_3prong::DecayChannelMain::LcToPKPi);
931934
const bool notSkippedBkg = isMcCandidateSignal || candidate.pt() > downSampleBkgPtMax || pseudoRndm < downSampleBkgFactor;
932-
if (passSelection && notSkippedBkg && (keepAll || (keepOnlySignalMc && isMcCandidateSignal) || (keepOnlyBkg && !isMcCandidateSignal))) {
935+
if (passSelection && notSkippedBkg && (keepAll || (keepOnlySignalMc && isMcCandidateSignal) || (keepOnlyBkg && !isMcCandidateSignal) || (keepCorrBkgMC && isCorrBkg))) {
933936
if (fillCandidateLiteTable) {
934937
fillLiteTable<IsMc, reconstructionType>(candidate, candidateMlScore, candFlag);
935938
} else {

0 commit comments

Comments
 (0)