Skip to content

Commit 38caab7

Browse files
authored
[PWGLF] added dca distributions in data and mc (#10318)
1 parent 1119df3 commit 38caab7

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

PWGLF/Tasks/QC/lfITSTPCMatchingSecondaryTracksQA.cxx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
6363
// Track Parameters
6464
Configurable<float> minITSnCls{"minITSnCls", 1.0f, "min number of ITS clusters"};
6565
Configurable<float> minNCrossedRowsTPC{"minNCrossedRowsTPC", 80.0f, "min number of TPC crossed rows"};
66-
Configurable<float> minNCrossedRowsOverFindable{"minNCrossedRowsOverFindable", 0.8f, "min number of TPC crossed rows/findable"};
6766
Configurable<float> maxChi2TPC{"maxChi2TPC", 4.0f, "max chi2 per cluster TPC"};
6867
Configurable<float> maxChi2ITS{"maxChi2ITS", 36.0f, "max chi2 per cluster ITS"};
6968
Configurable<float> etaMin{"etaMin", -0.8f, "eta min"};
@@ -74,8 +73,7 @@ struct LfITSTPCMatchingSecondaryTracksQA {
7473
Configurable<float> nsigmaTOFmax{"nsigmaTOFmax", +3.0f, "Maximum nsigma TOF"};
7574
Configurable<float> dcaxyMax{"dcaxyMax", 0.1f, "dcaxy max"};
7675
Configurable<float> dcazMax{"dcazMax", 0.1f, "dcaz max"};
77-
Configurable<float> dcaxyMin{"dcaxyMin", 0.1f, "dcaxy min"};
78-
Configurable<float> dcazMin{"dcazMin", 0.1f, "dcaz min"};
76+
Configurable<float> dcaMin{"dcaMin", 0.1f, "dca min"};
7977
Configurable<bool> requireTOF{"requireTOF", false, "require TOF hit"};
8078
Configurable<bool> requireItsHits{"requireItsHits", false, "require ITS hits"};
8179
Configurable<std::vector<float>> requiredHit{"requiredHit", {0, 0, 0, 0, 0, 0, 0}, "required ITS Hits (1=required, 0=not required)"};
@@ -95,6 +93,8 @@ struct LfITSTPCMatchingSecondaryTracksQA {
9593
// Event Counters
9694
if (doprocessData) {
9795
registryData.add("number_of_events_data", "number of events in data", HistType::kTH1D, {{20, 0, 20, "Event Cuts"}});
96+
registryData.add("dcaxyDatavspt", "dcaxyDatavspt", HistType::kTH2D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {400, -2, 2, "DCA_{xy} (cm)"}});
97+
registryData.add("dcazDatavspt", "dcazDatavspt", HistType::kTH2D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {400, -2, 2, "DCA_{z} (cm)"}});
9898
registryData.add("primPionTPC", "primPionTPC", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
9999
registryData.add("primPionTPC_ITS", "primPionTPC_ITS", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
100100
registryData.add("secPionTPC", "secPionTPC", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
@@ -105,6 +105,8 @@ struct LfITSTPCMatchingSecondaryTracksQA {
105105

106106
if (doprocessMC) {
107107
registryMC.add("number_of_events_mc", "number of events in mc", HistType::kTH1D, {{20, 0, 20, "Event Cuts"}});
108+
registryMC.add("dcaxyMCvspt", "dcaxyMCvspt", HistType::kTH2D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {400, -2, 2, "DCA_{xy} (cm)"}});
109+
registryMC.add("dcazMCvspt", "dcazMCvspt", HistType::kTH2D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {400, -2, 2, "DCA_{z} (cm)"}});
108110
registryMC.add("primPionTPC_MC", "primPionTPC_MC", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
109111
registryMC.add("primPionTPC_ITS_MC", "primPionTPC_ITS_MC", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
110112
registryMC.add("secPionTPC_MC", "secPionTPC_MC", HistType::kTH3D, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {16, -0.8, 0.8, "#eta"}, {100, 0, TwoPI, "#phi"}});
@@ -127,8 +129,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
127129
return false;
128130
if (track.tpcNClsCrossedRows() < minNCrossedRowsTPC)
129131
return false;
130-
if ((static_cast<float>(track.tpcNClsCrossedRows()) / static_cast<float>(track.tpcNClsFindable())) < minNCrossedRowsOverFindable)
131-
return false;
132132
if (track.tpcChi2NCl() > maxChi2TPC)
133133
return false;
134134
if (track.eta() < etaMin || track.eta() > etaMax)
@@ -147,15 +147,11 @@ struct LfITSTPCMatchingSecondaryTracksQA {
147147
return false;
148148
if (track.tpcNClsCrossedRows() < minNCrossedRowsTPC)
149149
return false;
150-
if ((static_cast<float>(track.tpcNClsCrossedRows()) / static_cast<float>(track.tpcNClsFindable())) < minNCrossedRowsOverFindable)
151-
return false;
152150
if (track.tpcChi2NCl() > maxChi2TPC)
153151
return false;
154152
if (track.eta() < etaMin || track.eta() > etaMax)
155153
return false;
156-
if (std::fabs(track.dcaXY()) < dcaxyMin)
157-
return false;
158-
if (std::fabs(track.dcaZ()) < dcazMin)
154+
if (std::sqrt(track.dcaXY() * track.dcaXY() + track.dcaZ() * track.dcaZ()) < dcaMin)
159155
return false;
160156
return true;
161157
}
@@ -167,8 +163,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
167163
return false;
168164
if (track.tpcNClsCrossedRows() < minNCrossedRowsTPC)
169165
return false;
170-
if ((static_cast<float>(track.tpcNClsCrossedRows()) / static_cast<float>(track.tpcNClsFindable())) < minNCrossedRowsOverFindable)
171-
return false;
172166
if (track.tpcChi2NCl() > maxChi2TPC)
173167
return false;
174168
if (track.eta() < etaMin || track.eta() > etaMax)
@@ -248,6 +242,12 @@ struct LfITSTPCMatchingSecondaryTracksQA {
248242

249243
for (const auto& track : tracks) {
250244

245+
// DCA distributions
246+
if (passedTrackSelectionV0daughTPC(track) && passedPionSelection(track)) {
247+
registryData.fill(HIST("dcaxyDatavspt"), track.pt(), track.dcaXY());
248+
registryData.fill(HIST("dcazDatavspt"), track.pt(), track.dcaZ());
249+
}
250+
251251
// Primary Tracks
252252
if (passedTrackSelectionTpcPrimary(track) && passedPionSelection(track))
253253
registryData.fill(HIST("primPionTPC"), track.pt(), track.eta(), TVector2::Phi_0_2pi(track.phi()));
@@ -297,6 +297,12 @@ struct LfITSTPCMatchingSecondaryTracksQA {
297297

298298
for (const auto& track : tracksPerColl) {
299299

300+
// DCA distributions
301+
if (passedTrackSelectionV0daughTPC(track) && passedPionSelection(track)) {
302+
registryMC.fill(HIST("dcaxyMCvspt"), track.pt(), track.dcaXY());
303+
registryMC.fill(HIST("dcazMCvspt"), track.pt(), track.dcaZ());
304+
}
305+
300306
// Primary Tracks
301307
if (passedTrackSelectionTpcPrimary(track) && passedPionSelection(track))
302308
registryMC.fill(HIST("primPionTPC_MC"), track.pt(), track.eta(), TVector2::Phi_0_2pi(track.phi()));

0 commit comments

Comments
 (0)