Skip to content

Commit 4582884

Browse files
victor-gonzalezVictor
andauthored
[PWGCF] DptDpt - Incorporating ITS only track selection (#10473)
Co-authored-by: Victor <victor@cern.ch>
1 parent 46ee7de commit 4582884

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

PWGCF/TableProducer/dptdptfilter.h

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,9 @@ std::vector<TrackSelection*> trackFilters = {}; // the vector of tr
228228
std::vector<std::function<float(float)>> maxDcaZPtDeps = {}; // max dca in z axis as function of pT for each track selector
229229
TrackSelection* extraTrackFilter = nullptr;
230230
bool dca2Dcut = false;
231-
float sharedTpcClusters = 1.0; ///< max fraction of shared TPC clusters
231+
/// TODO: to incorporate our own track selectio object
232+
float sharedTpcClusters = 1.0; ///< max fraction of shared TPC clusters
233+
float sharedTpcClustersExtra = 1.0; ///< max fraction of shared TPC clusters for the extra track filter
232234
float maxDCAz = 1e6f;
233235
float maxDCAxy = 1e6f;
234236

@@ -263,12 +265,22 @@ inline void initializeTrackSelection(TrackSelectionTuneCfg& tune)
263265
};
264266
auto highQualityTpcTrack = []() {
265267
TrackSelection* tpcTrack = new TrackSelection(getGlobalTrackSelection());
268+
tpcTrack->SetTrackType(o2::aod::track::TrackTypeEnum::Track);
266269
tpcTrack->ResetITSRequirements();
267270
tpcTrack->SetRequireITSRefit(false);
268271
tpcTrack->SetMinNClustersTPC(120);
269-
sharedTpcClusters = 0.2;
272+
sharedTpcClustersExtra = 0.2;
270273
return tpcTrack;
271274
};
275+
auto itsOnlyTrack = []() {
276+
TrackSelection* itsTrack = new TrackSelection();
277+
itsTrack->SetTrackType(o2::aod::track::TrackTypeEnum::Track);
278+
itsTrack->SetRequireITSRefit(true);
279+
itsTrack->SetRequireHitsInITSLayers(2, {0, 1, 2});
280+
itsTrack->SetMaxChi2PerClusterITS(36.0f);
281+
itsTrack->SetMaxDcaXYPtDep([](float pt) { return 0.004f + 0.013f / pt; });
282+
return itsTrack;
283+
};
272284
switch (tracktype) {
273285
case 1: { /* Run2 global track */
274286
TrackSelection* globalRun2 = new TrackSelection(getGlobalTrackSelection());
@@ -382,6 +394,22 @@ inline void initializeTrackSelection(TrackSelectionTuneCfg& tune)
382394
addTrackFilter(new TrackSelection(getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSall7Layers, TrackSelection::GlobalTrackRun3DCAxyCut::ppPass3)), [](float pt) { return 0.004f + 0.013f / pt; });
383395
extraTrackFilter = highQualityTpcTrack();
384396
} break;
397+
case 70: { /* Run 3 global track: kAny on 3 IB layers of ITS, tighter DCAxy, tighter pT dep DCAz, plus ITS only tracks */
398+
addTrackFilter(new TrackSelection(getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibAny, TrackSelection::GlobalTrackRun3DCAxyCut::ppPass3)), [](float pt) { return 0.004f + 0.013f / pt; });
399+
addTrackFilter(itsOnlyTrack(), [](float pt) { return 0.004f + 0.013f / pt; });
400+
} break;
401+
case 71: { /* Run 3 global track: kTwo on 3 IB layers of ITS, tighter DCAxy, tighter pT dep DCAz, plus ITS only tracks */
402+
addTrackFilter(new TrackSelection(getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibTwo, TrackSelection::GlobalTrackRun3DCAxyCut::ppPass3)), [](float pt) { return 0.004f + 0.013f / pt; });
403+
addTrackFilter(itsOnlyTrack(), [](float pt) { return 0.004f + 0.013f / pt; });
404+
} break;
405+
case 72: { /* Run 3 global track: kAny on all 7 layers of ITS, tighter DCAxy, tighter pT dep DCAz, plus ITS only tracks */
406+
addTrackFilter(new TrackSelection(getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSallAny, TrackSelection::GlobalTrackRun3DCAxyCut::ppPass3)), [](float pt) { return 0.004f + 0.013f / pt; });
407+
addTrackFilter(itsOnlyTrack(), [](float pt) { return 0.004f + 0.013f / pt; });
408+
} break;
409+
case 73: { /* Run 3 global track: kAll on all 7 layers of ITS, tighter DCAxy, tighter pT dep DCAz, plus ITS only tracks */
410+
addTrackFilter(new TrackSelection(getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSall7Layers, TrackSelection::GlobalTrackRun3DCAxyCut::ppPass3)), [](float pt) { return 0.004f + 0.013f / pt; });
411+
addTrackFilter(itsOnlyTrack(), [](float pt) { return 0.004f + 0.013f / pt; });
412+
} break;
385413
default:
386414
break;
387415
}
@@ -406,12 +434,13 @@ inline void initializeTrackSelection(TrackSelectionTuneCfg& tune)
406434
}
407435
}
408436
if (tune.mUseDCAz) {
409-
for (auto dcaZCut : maxDcaZPtDeps) { // o2-linter: disable=const-ref-in-for-loop
437+
for (auto dcaZCut : maxDcaZPtDeps) { // o2-linter: disable=const-ref-in-for-loop (the loop variable is not constant)
410438
dcaZCut = [&tune](float) { return tune.mDCAz; };
411439
}
412440
}
413441
if (tune.mUseFractionTpcSharedClusters) {
414442
sharedTpcClusters = tune.mFractionTpcSharedClusters;
443+
sharedTpcClustersExtra = tune.mFractionTpcSharedClusters;
415444
}
416445
}
417446
}
@@ -1337,7 +1366,7 @@ inline bool matchTrackType(TrackObject const& track)
13371366
if (extraTrackFilter != nullptr) {
13381367
if (extraTrackFilter->IsSelected(track)) {
13391368
/* shared fraction of TPC clusters */
1340-
if (!(track.tpcFractionSharedCls() < sharedTpcClusters)) {
1369+
if (!(track.tpcFractionSharedCls() < sharedTpcClustersExtra)) {
13411370
return false;
13421371
}
13431372
/* we require TOF */

PWGCF/TwoParticleCorrelations/Tasks/dptDptEfficiencyAndQc.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ struct QAExtraDataCollectingEngine {
596596
AxisSpec phiAxis = {phibins, 0.0f, constants::math::TwoPI, "#varphi"};
597597
AxisSpec deltaPhiAxis = {phibins, 0.0f, constants::math::TwoPI, "#Delta#varphi"};
598598
AxisSpec etaAxis = {etabins, etalow, etaup, "#eta"};
599-
AxisSpec deltaEtaAxis = {2 * etabins - 1, etalow - etaup, etaup - etalow, "#DeltaEta"};
599+
AxisSpec deltaEtaAxis = {2 * etabins - 1, etalow - etaup, etaup - etalow, "#Delta#eta"};
600600

601601
/* the reconstructed and generated levels histograms */
602602
std::string recogen = (kindOfData == kReco) ? "Reco" : "Gen";

0 commit comments

Comments
 (0)