Skip to content

Commit 02f83b9

Browse files
committed
Add dca cuts in twoParticleCorrelationsMpi.cxx
1 parent 80f67fd commit 02f83b9

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

‎PWGCF/TwoParticleCorrelations/Tasks/twoParticleCorrelationsMpi.cxx‎

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ struct TwoParticleCorrelationsMpi {
117117
Configurable<int> cfgCentBinsForMC{"cfgCentBinsForMC", 0, "0 = generated multiplicity; 1 = reconstructed multiplicity and all associated collisions"};
118118
} cfgGeneral;
119119
Configurable<uint16_t> cfgTrackBitMask{"cfgTrackBitMask", 0, "BitMask for track selection systematics; refer to the enum TrackSelectionCuts in filtering task"};
120+
Configurable<float> dcaxymax{"dcaxymax", 999.f, "maximum dcaxy of tracks"};
121+
Configurable<float> dcazmax{"dcazmax", 999.f, "maximum dcaz of tracks"};
122+
Configurable<bool> enablePtDepDCAxy{"enablePtDepDCAxy", false, "Enable pT-dependent DCAxy cut: |DCAxy| < a + b/pT"};
123+
Configurable<float> dcaXyConst{"dcaXyConst", 0.004f, "Constant term 'a' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm)"};
124+
Configurable<float> dcaXySlope{"dcaXySlope", 0.013f, "Slope term 'b' for pT-dependent DCAxy cut: |DCAxy| < a + b/pT (cm x GeV/c)"};
120125
Configurable<uint16_t> cfgMultCorrelationsMask{"cfgMultCorrelationsMask", 0, "Selection bitmask for the multiplicity correlations. This should match the filter selection cfgEstimatorBitMask."};
121126
Configurable<std::string> cfgMultCutFormula{"cfgMultCutFormula", "", "Multiplicity correlations cut formula. A result greater than zero results in accepted event. Parameters: [cFT0C] FT0C centrality, [mFV0A] V0A multiplicity, [mGlob] global track multiplicity, [mPV] PV track multiplicity, [cFT0M] FT0M centrality"};
122127

@@ -182,7 +187,11 @@ struct TwoParticleCorrelationsMpi {
182187
Filter collisionVertexTypeFilter = (aod::collision::flags & static_cast<uint16_t>(aod::collision::CollisionFlagsRun2::Run2VertexerTracks)) == static_cast<uint16_t>(aod::collision::CollisionFlagsRun2::Run2VertexerTracks);
183188

184189
// Track filters
185-
Filter trackFilter = (nabs(aod::track::eta) < cfgGeneral.cfgCutEta) && (aod::track::pt > cfgGeneral.cfgCutPt) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t)true));
190+
Filter trackFilter = (nabs(aod::track::eta) < cfgGeneral.cfgCutEta) && (aod::track::pt > cfgGeneral.cfgCutPt) && ((requireGlobalTrackInFilter()) || (aod::track::isGlobalTrackSDD == (uint8_t)true)) &&
191+
(nabs(aod::track::dcaZ) < dcazmax) &&
192+
ifnode(enablePtDepDCAxy.node() == true,
193+
nabs(aod::track::dcaXY) < (dcaXyConst + dcaXySlope / aod::track::pt),
194+
nabs(aod::track::dcaXY) < dcaxymax);
186195
Filter cfTrackFilter = (nabs(aod::cftrack::eta) < cfgGeneral.cfgCutEta) && (aod::cftrack::pt > cfgGeneral.cfgCutPt) && ncheckbit(aod::track::trackType, as<uint8_t>(cfgTrackBitMask));
187196

188197
// MC filters
@@ -327,7 +336,7 @@ struct TwoParticleCorrelationsMpi {
327336
Service<o2::framework::O2DatabasePDG> pdg{};
328337

329338
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>>;
330-
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>>;
339+
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksDCA>>;
331340

332341
using DerivedCollisions = soa::Filtered<aod::CFCollisions>;
333342
using DerivedCollisionsCorrected = soa::Filtered<aod::CFCollisionsWithExtra>;
@@ -367,7 +376,7 @@ struct TwoParticleCorrelationsMpi {
367376
if (cfgFillAcceptanceWeights && !cfgAcceptance.value.empty()) {
368377
LOGF(fatal, "cfgFillAcceptanceWeights and cfgAcceptance are mutually exclusive: produce and apply acceptance weights in separate jobs");
369378
}
370-
if (cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSameDerivedMultSetCorrected || doprocessMCSameDerived)) {
379+
if (cfgFillAcceptanceWeights && !(doprocessSameDerived || doprocessSameDerivedCorrected || doprocessSameDerivedMultSet || doprocessSame DerivedMultSetCorrected || doprocessMCSameDerived)) {
371380
LOGF(fatal, "cfgFillAcceptanceWeights requires a reconstructed derived same-event process");
372381
}
373382
if (cfgAcceptancePhiBins < 1 || cfgAcceptanceEtaBins < 1) {

0 commit comments

Comments
 (0)