Skip to content

Commit 77aa8a3

Browse files
authored
[PWGLF] Add fraction of TPC share cluster cut (#10268)
1 parent 3e676fc commit 77aa8a3

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

PWGLF/Tasks/Resonances/phipbpb.cxx

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ struct phipbpb {
109109
Configurable<int> cfgNoMixedEvents{"cfgNoMixedEvents", 1, "Number of mixed events per event"};
110110
Configurable<int> cfgITScluster{"cfgITScluster", 0, "Number of ITS cluster"};
111111
Configurable<int> cfgTPCcluster{"cfgTPCcluster", 70, "Number of TPC cluster"};
112+
Configurable<float> cfgTPCSharedcluster{"cfgTPCSharedcluster", 0.4, "Maximum Number of TPC shared cluster"};
112113
Configurable<bool> isDeepAngle{"isDeepAngle", false, "Deep Angle cut"};
113114
Configurable<bool> ispTdepPID{"ispTdepPID", true, "pT dependent PID"};
114115
Configurable<bool> checkAllCharge{"checkAllCharge", true, "check all charge for MC weight"};
@@ -173,6 +174,8 @@ struct phipbpb {
173174
const AxisSpec thnAxisRapidity{configThnAxisRapidity, "Rapidity"};
174175
const AxisSpec thnAxisSA{configThnAxisSA, "SA"};
175176
AxisSpec cumulantAxis = {200, -1, 1, "phi"};
177+
AxisSpec itsAxis = {8, -0.5, 7.5, "its"};
178+
AxisSpec tpcAxis = {130, 69.5, 199.5, "its"};
176179
AxisSpec squareAxis = {200, 0, 1, "aossquare"};
177180
AxisSpec phiAxis = {500, -6.28, 6.28, "phi"};
178181
AxisSpec resAxis = {6000, -30, 30, "Res"};
@@ -189,6 +192,12 @@ struct phipbpb {
189192
histos.add("hEta", "Eta distribution", kTH1F, {{200, -1.0f, 1.0f}});
190193
histos.add("hDcaxy", "Dcaxy distribution", kTH1F, {{200, -1.0f, 1.0f}});
191194
histos.add("hDcaz", "Dcaz distribution", kTH1F, {{200, -1.0f, 1.0f}});
195+
196+
histos.add("hITS", "ITS cluster", kTH2F, {{10, -0.5f, 9.5f}, {200, -1.0, 1.0}});
197+
histos.add("hTPC", "TPC crossed rows", kTH2F, {{90, 69.5f, 159.5f}, {200, -1.0, 1.0}});
198+
histos.add("hTPCScls", "TPC Shared cluster", kTH2F, {{16, -0.5f, 159.5f}, {200, -1.0, 1.0}});
199+
histos.add("hTPCSclsFrac", "Fraction of TPC Shared cluster", kTH2F, {{100, -0.0f, 2.0f}, {200, -1.0, 1.0}});
200+
192201
histos.add("hNsigmaKaonTPC", "NsigmaKaon TPC distribution", kTH1F, {{200, -10.0f, 10.0f}});
193202
histos.add("hNsigmaKaonTOF", "NsigmaKaon TOF distribution", kTH1F, {{200, -10.0f, 10.0f}});
194203
histos.add("hPsiFT0C", "PsiFT0C", kTH3F, {centAxis, occupancyAxis, phiAxis});
@@ -321,7 +330,7 @@ struct phipbpb {
321330
template <typename T>
322331
bool selectionTrack(const T& candidate)
323332
{
324-
if (useGlobalTrack && !(candidate.isGlobalTrack() && candidate.isPVContributor() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster)) {
333+
if (useGlobalTrack && !(candidate.isGlobalTrack() && candidate.isPVContributor() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsCrossedRows() > cfgTPCcluster && candidate.tpcFractionSharedCls() < cfgTPCSharedcluster)) {
325334
return false;
326335
}
327336
if (!useGlobalTrack && !(candidate.tpcNClsFound() > cfgTPCcluster)) {
@@ -420,7 +429,10 @@ struct phipbpb {
420429
TH2D* hweight;
421430
void processSameEvent(EventCandidates::iterator const& collision, TrackCandidates const& /*tracks, aod::BCs const&*/, aod::BCsWithTimestamps const&)
422431
{
423-
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)) {
432+
// 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)) {
433+
// return;
434+
// }
435+
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoSameBunchPileup)) {
424436
return;
425437
}
426438
auto centrality = collision.centFT0C();
@@ -444,7 +456,7 @@ struct phipbpb {
444456
return;
445457
}
446458
histos.fill(HIST("hFTOCvsTPC"), centrality, multTPC);
447-
if (additionalEvsel && !eventSelected(collision, centrality)) {
459+
if (additionalEvsel && !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
448460
return;
449461
}
450462
if (additionalEvselITS && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
@@ -505,6 +517,11 @@ struct phipbpb {
505517
histos.fill(HIST("hDcaz"), track1.dcaZ());
506518
histos.fill(HIST("hNsigmaKaonTPC"), track1.tpcNSigmaKa());
507519
histos.fill(HIST("hNsigmaKaonTOF"), track1.tofNSigmaKa());
520+
auto V2Track = TMath::Cos(2.0 * GetPhiInRange(track1.phi() - psiFT0C));
521+
histos.fill(HIST("hITS"), track1.itsNCls(), V2Track);
522+
histos.fill(HIST("hTPC"), track1.tpcNClsCrossedRows(), V2Track);
523+
histos.fill(HIST("hTPCScls"), track1.tpcNClsShared(), V2Track);
524+
histos.fill(HIST("hTPCSclsFrac"), track1.tpcFractionSharedCls(), V2Track);
508525
auto track1ID = track1.globalIndex();
509526
if (useWeight) {
510527
if (track1.pt() < 10.0 && track1.pt() > 0.15) {
@@ -627,10 +644,16 @@ struct phipbpb {
627644
BinningTypeVertexContributor binningOnPositions{{axisVertex, axisMultiplicityClass, axisOccup}, true};
628645
SameKindPair<EventCandidates, TrackCandidates, BinningTypeVertexContributor> pair{binningOnPositions, cfgNoMixedEvents, -1, collisions, tracksTuple, &cache};
629646
for (auto& [collision1, tracks1, collision2, tracks2] : pair) {
630-
if (!collision1.sel8() || !collision1.triggereventep() || !collision1.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision1.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision1.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision1.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision1.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
647+
// if (!collision1.sel8() || !collision1.triggereventep() || !collision1.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision1.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision1.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision1.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision1.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
648+
// continue;
649+
// }
650+
// if (!collision2.sel8() || !collision2.triggereventep() || !collision2.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision2.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision2.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision2.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision2.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
651+
// continue;
652+
// }
653+
if (!collision1.sel8() || !collision1.triggereventep() || !collision1.selection_bit(aod::evsel::kNoSameBunchPileup)) {
631654
continue;
632655
}
633-
if (!collision2.sel8() || !collision2.triggereventep() || !collision2.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision2.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision2.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision2.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision2.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
656+
if (!collision2.sel8() || !collision2.triggereventep() || !collision2.selection_bit(aod::evsel::kNoSameBunchPileup)) {
634657
continue;
635658
}
636659
if (collision1.bcId() == collision2.bcId()) {
@@ -646,13 +669,13 @@ struct phipbpb {
646669
continue;
647670
}
648671
auto centrality = collision1.centFT0C();
649-
auto centrality2 = collision2.centFT0C();
672+
// auto centrality2 = collision2.centFT0C();
650673
auto psiFT0C = collision1.psiFT0C();
651674
auto QFT0C = collision1.qFT0C();
652-
if (additionalEvsel && !eventSelected(collision1, centrality)) {
675+
if (additionalEvsel && !collision1.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
653676
continue;
654677
}
655-
if (additionalEvsel && !eventSelected(collision2, centrality2)) {
678+
if (additionalEvsel && !collision2.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
656679
continue;
657680
}
658681
if (additionalEvselITS && !collision1.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {

0 commit comments

Comments
 (0)