Skip to content

Commit d311d70

Browse files
cnkosteralibuild
andauthored
[PWGCF] Fixed bug and added some QA histos (#9797)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 3824f78 commit d311d70

File tree

1 file changed

+36
-5
lines changed

1 file changed

+36
-5
lines changed

PWGCF/Flow/Tasks/flowSP.cxx

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,16 @@ struct FlowSP {
162162
nEventSelections
163163
};
164164

165+
enum TrackSelections {
166+
trackSel_FilteredTracks,
167+
trackSel_NCls,
168+
trackSel_FshCls,
169+
trackSel_TPCBoundary,
170+
trackSel_ZeroCharge,
171+
trackSel_ParticleWeights,
172+
nTrackSelections
173+
};
174+
165175
enum ChargeType {
166176
kInclusive,
167177
kPositive,
@@ -190,6 +200,8 @@ struct FlowSP {
190200
AxisSpec t0cAxis = {70, 0, 70000, "N_{ch} (T0C)"};
191201
AxisSpec t0aAxis = {200, 0, 200, "N_{ch}"};
192202
AxisSpec multpvAxis = {4000, 0, 4000, "N_{ch} (PV)"};
203+
AxisSpec shclAxis = {200, 0, 1, "Fraction shared cl. TPC"};
204+
AxisSpec clAxis = {160, 0, 160, "Number of cl. TPC"};
193205

194206
int ptbins = ptbinning.size() - 1;
195207

@@ -315,8 +327,10 @@ struct FlowSP {
315327
registry.add<TH1>("incl/QA/hPhiCorrected", "", kTH1D, {axisPhi});
316328
registry.add<TH1>("incl/QA/hEta", "", kTH1D, {axisEta});
317329
registry.add<TH3>("incl/QA/hPhi_Eta_vz", "", kTH3D, {axisPhi, axisEta, axisVz});
318-
registry.add<TH1>("incl/QA/hDCAxy", "", kTH1D, {axisDCAxy});
319-
registry.add<TH1>("incl/QA/hDCAz", "", kTH1D, {axisDCAz});
330+
registry.add<TH2>("incl/QA/hDCAxy_pt", "", kTH2D, {axisPt, axisDCAxy});
331+
registry.add<TH2>("incl/QA/hDCAz_pt", "", kTH2D, {axisPt, axisDCAz});
332+
registry.add("incl/QA/hSharedClusters_pt", "", {HistType::kTH2D, {axisPt, shclAxis}});
333+
registry.add("incl/QA/hCrossedRows_pt", "", {HistType::kTH2D, {axisPt, clAxis}});
320334

321335
registry.addClone("incl/", "pos/");
322336
registry.addClone("incl/", "neg/");
@@ -340,6 +354,14 @@ struct FlowSP {
340354
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(evSel_kIsGoodITSLayersAll + 1, "kkIsGoodITSLayersAll");
341355
registry.get<TH1>(HIST("hEventCount"))->GetXaxis()->SetBinLabel(evSel_isSelectedZDC + 1, "isSelected");
342356

357+
registry.add("hTrackCount", "Number of Tracks; Cut; #Tracks Passed Cut", {HistType::kTH1D, {{nTrackSelections, 0, nTrackSelections}}});
358+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_FilteredTracks + 1, "Filtered Track");
359+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_NCls + 1, "nClusters TPC");
360+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_FshCls + 1, "Frac. sh. Cls TPC");
361+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_TPCBoundary + 1, "TPC Boundary");
362+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_ZeroCharge + 1, "Only charged");
363+
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_ParticleWeights + 1, "Apply weights");
364+
343365
if (cfgUseAdditionalEventCut) {
344366
fMultPVCutLow = new TF1("fMultPVCutLow", "[0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x - 3.5*([5]+[6]*x+[7]*x*x+[8]*x*x*x+[9]*x*x*x*x)", 0, 100);
345367
fMultPVCutLow->SetParameters(3257.29, -121.848, 1.98492, -0.0172128, 6.47528e-05, 154.756, -1.86072, -0.0274713, 0.000633499, -3.37757e-06);
@@ -535,9 +557,11 @@ struct FlowSP {
535557

536558
if (track.tpcNClsFound() < cfgNcls)
537559
return false;
560+
registry.fill(HIST("hTrackCount"), trackSel_NCls);
538561

539-
if (track.tpcFractionSharedCls() < cfgFshcls)
562+
if (track.tpcFractionSharedCls() > cfgFshcls)
540563
return false;
564+
registry.fill(HIST("hTrackCount"), trackSel_FshCls);
541565

542566
double phimodn = track.phi();
543567
if (field < 0) // for negative polarity field
@@ -556,6 +580,7 @@ struct FlowSP {
556580
return false; // reject track
557581
}
558582
registry.fill(HIST("QA/after/pt_phi"), track.pt(), phimodn);
583+
registry.fill(HIST("hTrackCount"), trackSel_TPCBoundary);
559584
return true;
560585
}
561586

@@ -679,8 +704,10 @@ struct FlowSP {
679704
registry.fill(HIST(Charge[ct]) + HIST("QA/hPhiCorrected"), track.phi(), wacc * weff);
680705
registry.fill(HIST(Charge[ct]) + HIST("QA/hEta"), track.eta());
681706
registry.fill(HIST(Charge[ct]) + HIST("QA/hPhi_Eta_vz"), track.phi(), track.eta(), vz);
682-
registry.fill(HIST(Charge[ct]) + HIST("QA/hDCAxy"), track.dcaXY());
683-
registry.fill(HIST(Charge[ct]) + HIST("QA/hDCAz"), track.dcaZ());
707+
registry.fill(HIST(Charge[ct]) + HIST("QA/hDCAxy_pt"), track.pt(), track.dcaXY());
708+
registry.fill(HIST(Charge[ct]) + HIST("QA/hDCAz_pt"), track.pt(), track.dcaZ());
709+
registry.fill(HIST(Charge[ct]) + HIST("QA/hSharedClusters_pt"), track.pt(), track.tpcFractionSharedCls());
710+
registry.fill(HIST(Charge[ct]) + HIST("QA/hCrossedRows_pt"), track.pt(), track.tpcNClsFound());
684711
}
685712

686713
void processData(UsedCollisions::iterator const& collision, aod::BCsWithTimestamps const&, UsedTracks const& tracks)
@@ -785,6 +812,7 @@ struct FlowSP {
785812

786813
for (const auto& track : tracks) {
787814
registry.fill(HIST("QA/before/hPt_inclusive"), track.pt());
815+
registry.fill(HIST("hTrackCount"), trackSel_FilteredTracks);
788816

789817
float weff = 1, wacc = 1;
790818
float weffP = 1, waccP = 1;
@@ -795,6 +823,7 @@ struct FlowSP {
795823

796824
if (track.sign() == 0.0)
797825
return;
826+
registry.fill(HIST("hTrackCount"), trackSel_ZeroCharge);
798827
bool pos = (track.sign() > 0) ? true : false;
799828

800829
// Fill NUA weights
@@ -816,6 +845,8 @@ struct FlowSP {
816845
if (!pos && !setCurrentParticleWeights(kNegative, weffN, waccN, track.phi(), track.eta(), track.pt(), vtxz))
817846
return;
818847

848+
registry.fill(HIST("hTrackCount"), trackSel_ParticleWeights);
849+
819850
registry.fill(HIST("QA/after/hPt_inclusive"), track.pt(), wacc * weff);
820851

821852
// // constrain angle to 0 -> [0,0+2pi]

0 commit comments

Comments
 (0)