Skip to content

Commit aca68b1

Browse files
fmazzascFrancesco Mazzaschi
andauthored
[PWGLF] DoubleOmega task: Add further configurables (#17764)
Co-authored-by: Francesco Mazzaschi <fmazzasc@alipap1.cern.ch>
1 parent 269f780 commit aca68b1

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

PWGLF/TableProducer/Strangeness/doubleOmegaTreeCreator.cxx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
#include <cstddef>
5050
#include <cstdint>
5151
#include <iterator>
52+
#include <string>
5253
#include <vector>
5354

5455
using namespace o2;
@@ -158,6 +159,7 @@ struct doubleOmegaTreeCreator {
158159
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
159160

160161
Configurable<bool> cfgSkimmedProcessing{"cfgSkimmedProcessing", false, "Skimmed dataset processing"};
162+
Configurable<bool> cfgApplyEventSelection{"cfgApplyEventSelection", true, "Apply the standard collision event selection"};
161163
Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
162164
Configurable<int> cfgMaterialCorrection{"cfgMaterialCorrection", static_cast<int>(o2::base::Propagator::MatCorrType::USEMatCorrLUT), "Material correction for the raw V0/cascade fits"};
163165

@@ -188,6 +190,7 @@ struct doubleOmegaTreeCreator {
188190
Configurable<float> mXiWindow{"mXiWindow", 0.02f, "Xi mass window used by the cascade compatibility mode"};
189191
Configurable<float> mOmegaWindow{"mOmegaWindow", 0.01f, "Omega mass window"};
190192
Configurable<float> mLambdaWindow{"mLambdaWindow", 0.01f, "Lambda mass window"};
193+
Configurable<float> maxDoubleOmegaMass{"maxDoubleOmegaMass", 3.6f, "Maximum double-Omega invariant mass (GeV/c^2)"};
191194
Configurable<float> minCosPAOmega{"minCosPAOmega", -1.f, "Minimum Omega cosPA relative to the double-Omega decay vertex"};
192195
Configurable<float> minCosPADirectLambda{"minCosPADirectLambda", -1.f, "Minimum direct-Lambda cosPA relative to the double-Omega decay vertex"};
193196
Configurable<float> minCosPADoubleOmega{"minCosPADoubleOmega", -1.f, "Minimum double-Omega cosPA relative to the primary vertex"};
@@ -586,16 +589,17 @@ struct doubleOmegaTreeCreator {
586589
cand.dcaZDirectLambdaToPV = dcaDirectLambda[1];
587590
cand.dcaXYDirectKaonToPV = dcaDirectKaon[0];
588591
cand.dcaZDirectKaonToPV = dcaDirectKaon[1];
592+
cand.mass = std::sqrt(std::max(0.f, massSquared));
589593
if (cand.cosPAOmega < minCosPAOmega ||
590594
cand.cosPADirectLambda < minCosPADirectLambda ||
591595
cand.cosPADoubleOmega < minCosPADoubleOmega ||
592596
std::hypot(decayVertex[0], decayVertex[1]) < minDoubleOmegaDecayRadius ||
593597
std::abs(cand.dcaXYOmegaToPV) < dcaOmegaToPV ||
594598
std::abs(cand.dcaXYDirectLambdaToPV) < dcaDirectLambdaToPV ||
595-
std::abs(cand.dcaXYDirectKaonToPV) < dcaKaonToPV) {
599+
std::abs(cand.dcaXYDirectKaonToPV) < dcaKaonToPV ||
600+
cand.mass > maxDoubleOmegaMass) {
596601
return false;
597602
}
598-
cand.mass = std::sqrt(std::max(0.f, massSquared));
599603
cand.massOmega = omega.massOmega;
600604
cand.massXi = omega.massXi;
601605
return true;
@@ -899,7 +903,7 @@ struct doubleOmegaTreeCreator {
899903
const std::array<int64_t, 3> sourceTrackIds{
900904
lambdaKaonSource.posTrackId(), lambdaKaonSource.negTrackId(), lambdaKaonSource.bachelorId()};
901905
bool sharesTrack = false;
902-
for (const auto omegaTrackId : omegaTrackIds) {
906+
for (const auto& omegaTrackId : omegaTrackIds) {
903907
if (std::find(sourceTrackIds.begin(), sourceTrackIds.end(), omegaTrackId) != sourceTrackIds.end()) {
904908
sharesTrack = true;
905909
break;
@@ -932,10 +936,11 @@ struct doubleOmegaTreeCreator {
932936
auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
933937
initCCDB(bc);
934938

935-
if (!collision.sel8() ||
936-
std::abs(collision.posZ()) > zVtxMax ||
937-
!collision.selection_bit(aod::evsel::kNoITSROFrameBorder) ||
938-
!collision.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
939+
if (cfgApplyEventSelection &&
940+
(!collision.sel8() ||
941+
std::abs(collision.posZ()) > zVtxMax ||
942+
!collision.selection_bit(aod::evsel::kNoITSROFrameBorder) ||
943+
!collision.selection_bit(aod::evsel::kNoTimeFrameBorder))) {
939944
return false;
940945
}
941946
if (cfgSkimmedProcessing) {

0 commit comments

Comments
 (0)