Skip to content

Commit ef18c23

Browse files
authored
[PWGLF] Add new ITS based event selection for resonance flow analysis and add globaltrack selection criteria for f1 reconstruction (#9410)
1 parent 8fcd2bf commit ef18c23

File tree

3 files changed

+34
-3
lines changed

3 files changed

+34
-3
lines changed

PWGLF/TableProducer/Resonances/f1protonreducedtable.cxx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,15 @@ struct f1protonreducedtable {
248248
return true;
249249
}
250250

251+
template <typename T>
252+
bool selectionGlobalTrack(const T& candidate)
253+
{
254+
if (!(candidate.isGlobalTrack() && candidate.isPVContributor())) {
255+
return false;
256+
}
257+
return true;
258+
}
259+
251260
template <typename T>
252261
double updatePID(T const& track, double bgScaling, std::vector<double> BB)
253262
{
@@ -586,8 +595,12 @@ struct f1protonreducedtable {
586595
if (zorroSelected) {
587596
hProcessedEvents->Fill(1.5);
588597
for (auto& track : tracks) {
589-
if (!isSelectedTrack(track))
598+
if (!isSelectedTrack(track)) {
590599
continue;
600+
}
601+
if (!selectionGlobalTrack(track)) {
602+
continue;
603+
}
591604
qaRegistry.fill(HIST("hDCAxy"), track.dcaXY());
592605
qaRegistry.fill(HIST("hDCAz"), track.dcaZ());
593606
qaRegistry.fill(HIST("hEta"), track.eta());

PWGLF/Tasks/Resonances/highmasslambda.cxx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ struct highmasslambda {
7777
// fill output
7878
Configurable<bool> fillQA{"fillQA", false, "fillQA"};
7979
Configurable<bool> useSP{"useSP", false, "useSP"};
80+
// Configurable<bool> additionalEvselITS{"additionalEvselITS", true, "additionalEvselITS"};
8081
Configurable<bool> useSignDCAV0{"useSignDCAV0", true, "useSignDCAV0"};
8182
Configurable<bool> fillDefault{"fillDefault", false, "fill Occupancy"};
8283
Configurable<int> cfgOccupancyCut{"cfgOccupancyCut", 2500, "Occupancy cut"};
@@ -560,7 +561,9 @@ struct highmasslambda {
560561
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
561562
return;
562563
}
563-
564+
if (!collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
565+
return;
566+
}
564567
auto centrality = collision.centFT0C();
565568
auto multTPC = collision.multNTracksPV();
566569
histos.fill(HIST("hFTOCvsTPCNoCut"), centrality, multTPC);
@@ -765,6 +768,12 @@ struct highmasslambda {
765768
if (collision1.bcId() == collision2.bcId()) {
766769
continue;
767770
}
771+
if (!collision1.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
772+
continue;
773+
}
774+
if (!collision2.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
775+
continue;
776+
}
768777
auto centrality = collision1.centFT0C();
769778
auto psiFT0C = collision1.psiFT0C();
770779
auto QFT0C = collision1.qFT0C();

PWGLF/Tasks/Resonances/phipbpb.cxx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ struct phipbpb {
8080
Configurable<int> cfgCutOccupancy{"cfgCutOccupancy", 3000, "Occupancy cut"};
8181
// track
8282
Configurable<bool> additionalEvsel{"additionalEvsel", false, "Additional event selcection"};
83+
Configurable<bool> additionalEvselITS{"additionalEvselITS", true, "Additional event selcection for ITS"};
8384
Configurable<bool> removefaketrak{"removefaketrack", true, "Remove fake track from momentum difference"};
8485
Configurable<float> ConfFakeKaonCut{"ConfFakeKaonCut", 0.1, "Cut based on track from momentum difference"};
8586
Configurable<bool> useGlobalTrack{"useGlobalTrack", true, "use Global track"};
@@ -387,6 +388,9 @@ struct phipbpb {
387388
if (additionalEvsel && !eventSelected(collision, centrality)) {
388389
return;
389390
}
391+
if (additionalEvselITS && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
392+
return;
393+
}
390394
histos.fill(HIST("hFTOCvsTPCSelected"), centrality, multTPC);
391395
histos.fill(HIST("hPsiFT0C"), centrality, occupancy, psiFT0C);
392396
histos.fill(HIST("hPsiFT0A"), centrality, occupancy, psiFT0A);
@@ -525,7 +529,12 @@ struct phipbpb {
525529
if (additionalEvsel && !eventSelected(collision2, centrality2)) {
526530
continue;
527531
}
528-
532+
if (additionalEvselITS && !collision1.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
533+
continue;
534+
}
535+
if (additionalEvselITS && !collision2.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
536+
continue;
537+
}
529538
for (auto& [track1, track2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(tracks1, tracks2))) {
530539
if (track1.sign() * track2.sign() > 0) {
531540
continue;

0 commit comments

Comments
 (0)