Skip to content

Commit 47e7654

Browse files
nmallick19alibuild
andauthored
[PWGCF] Added Event trigger 13, Track selection: nclustersTPC, chi2pe… (#12377)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 406b8a0 commit 47e7654

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

PWGCF/TableProducer/filterCorrelations.cxx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ struct FilterCF {
5555
kTrackSelected = BIT(0),
5656
kITS5Clusters = BIT(1),
5757
kTPCCrossedRows = BIT(2),
58+
kTPCClusters = BIT(3),
59+
kchi2perTPC = BIT(4),
60+
kchi2perITS = BIT(5),
5861
};
5962

6063
enum TrackSelectionCuts2 : uint8_t {
@@ -68,7 +71,7 @@ struct FilterCF {
6871
O2_DEFINE_CONFIGURABLE(cfgCutMCPt, float, 0.5f, "Minimal pT for particles")
6972
O2_DEFINE_CONFIGURABLE(cfgCutMCEta, float, 0.8f, "Eta range for particles")
7073
O2_DEFINE_CONFIGURABLE(cfgVerbosity, int, 1, "Verbosity level (0 = major, 1 = per collision)")
71-
O2_DEFINE_CONFIGURABLE(cfgTrigger, int, 7, "Trigger choice: (0 = none, 7 = sel7, 8 = sel8, 9 = sel8 + kNoSameBunchPileup + kIsGoodZvtxFT0vsPV, 10 = sel8 before April, 2024, 11 = sel8 for MC, 12 = sel8 with low occupancy cut)")
74+
O2_DEFINE_CONFIGURABLE(cfgTrigger, int, 7, "Trigger choice: (0 = none, 7 = sel7, 8 = sel8, 9 = sel8 + kNoSameBunchPileup + kIsGoodZvtxFT0vsPV, 10 = sel8 before April, 2024, 11 = sel8 for MC, 12 = sel8 with low occupancy cut, 13 = sel8 + kNoSameBunchPileup + kIsGoodITSLayersAll -- for OO/NeNe) ")
7275
O2_DEFINE_CONFIGURABLE(cfgMinOcc, int, 0, "minimum occupancy selection")
7376
O2_DEFINE_CONFIGURABLE(cfgMaxOcc, int, 3000, "maximum occupancy selection")
7477
O2_DEFINE_CONFIGURABLE(cfgCollisionFlags, uint16_t, aod::collision::CollisionFlagsRun2::Run2VertexerTracks, "Request collision flags if non-zero (0 = off, 1 = Run2VertexerTracks)")
@@ -84,6 +87,9 @@ struct FilterCF {
8487
O2_DEFINE_CONFIGURABLE(dcazmax, float, 999.f, "maximum dcaz of tracks")
8588
O2_DEFINE_CONFIGURABLE(itsnclusters, int, 5, "minimum number of ITS clusters for tracks")
8689
O2_DEFINE_CONFIGURABLE(tpcncrossedrows, int, 80, "minimum number of TPC crossed rows for tracks")
90+
O2_DEFINE_CONFIGURABLE(tpcnclusters, int, 50, "minimum number of TPC clusters found")
91+
O2_DEFINE_CONFIGURABLE(chi2pertpccluster, float, 2.5, "maximum Chi2 / cluster for the TPC track segment")
92+
O2_DEFINE_CONFIGURABLE(chi2peritscluster, float, 36, "maximum Chi2 / cluster for the ITS track segment")
8793

8894
// Filters and input definitions
8995
Filter collisionZVtxFilter = nabs(aod::collision::posZ) < cfgCutVertex;
@@ -140,6 +146,8 @@ struct FilterCF {
140146
return isMultSelected && collision.sel8() && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) && collision.selection_bit(aod::evsel::kNoCollInTimeRangeStandard) && collision.selection_bit(aod::evsel::kIsGoodITSLayersAll);
141147
else
142148
return false;
149+
} else if (cfgTrigger == 13) { // relevant for OO/NeNe
150+
return isMultSelected && collision.sel8() && collision.selection_bit(aod::evsel::kNoSameBunchPileup) && collision.selection_bit(aod::evsel::kIsGoodITSLayersAll);
143151
}
144152
return false;
145153
}
@@ -205,6 +213,15 @@ struct FilterCF {
205213
if (track.tpcNClsCrossedRows() >= tpcncrossedrows) {
206214
trackType |= kTPCCrossedRows;
207215
}
216+
if (track.tpcNClsFound() >= tpcnclusters) {
217+
trackType |= kTPCClusters;
218+
}
219+
if (track.tpcChi2NCl() <= chi2pertpccluster) {
220+
trackType |= kchi2perTPC;
221+
}
222+
if (track.itsChi2NCl() <= chi2peritscluster) {
223+
trackType |= kchi2perITS;
224+
}
208225
}
209226
return trackType;
210227
} else if (cfgTrackSelection == 2) {

0 commit comments

Comments
 (0)