Skip to content

Commit 7035bc1

Browse files
committed
Change DCA cut and add DCA vs pT histograms
1 parent 72505a4 commit 7035bc1

File tree

1 file changed

+45
-16
lines changed

1 file changed

+45
-16
lines changed

PWGLF/Tasks/Resonances/f0980pbpbanalysis.cxx

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,12 @@ struct F0980pbpbanalysis {
9999
// Track Selection Configurables
100100
Configurable<float> cfgTrackPtMin{"cfgTrackPtMin", 0.15, "Minimum transverse momentum for charged track"};
101101
Configurable<float> cfgTrackEtaMax{"cfgTrackEtaMax", 0.8, "Maximum pseudorapidiy for charged track"};
102-
Configurable<float> cfgTrackDCArToPVcutMax{"cfgTrackDCArToPVcutMax", 0.5, "Maximum transverse DCA"};
103-
Configurable<float> cfgTrackDCAzToPVcutMax{"cfgTrackDCAzToPVcutMax", 2.0, "Maximum longitudinal DCA"};
104102
Configurable<float> cfgTrackRapMin{"cfgTrackRapMin", -0.5, "Minimum rapidity for pair"};
105103
Configurable<float> cfgTrackRapMax{"cfgTrackRapMax", 0.5, "Maximum rapidity for pair"};
106104

107-
Configurable<bool> cfgTrackIsPrimaryTrack{"cfgTrackIsPrimaryTrack", true, "Primary track selection"};
108-
Configurable<bool> cfgTrackIsGlobalWoDCATrack{"cfgTrackIsGlobalWoDCATrack", true, "Global track selection without DCA"};
109105
Configurable<bool> cfgTrackIsPVContributor{"cfgTrackIsPVContributor", true, "PV contributor track selection"};
106+
Configurable<bool> cfgTrackIsGlobalWoDCATrack{"cfgTrackIsGlobalWoDCATrack", true, "Global track selection without DCA"};
107+
Configurable<bool> cfgTrackIsPrimaryTrack{"cfgTrackIsPrimaryTrack", true, "Primary track selection"};
110108

111109
Configurable<double> cfgTrackNTPCCrossedRows{"cfgTrackNTPCCrossedRows", 70, "nCrossed TPC Rows"};
112110
Configurable<double> cfgTrackNFindableTPCClusters{"cfgTrackNFindableTPCClusters", 50, "nFindable TPC Clusters"};
@@ -115,6 +113,17 @@ struct F0980pbpbanalysis {
115113

116114
Configurable<double> cfgTrackNITSChi2{"cfgTrackNITSChi2", 36.0, "nITS Chi2 per Cluster"};
117115

116+
Configurable<float> cfgTrackDCArToPVcutMax{"cfgTrackDCArToPVcutMax", 0.5, "Maximum transverse DCA"};
117+
Configurable<float> cfgTrackDCAzToPVcutMax{"cfgTrackDCAzToPVcutMax", 2.0, "Maximum longitudinal DCA"};
118+
119+
Configurable<bool> cfgTrackDCArDepPTSel{"cfgTrackDCArDepPTSel", false, "Flag for pT dependent transverse DCA cut"}; // 7 - sigma cut
120+
Configurable<float> cfgTrackDCArDepPTP0{"cfgTrackDCArDepPTP0", 0.004, "Coeff. of transverse DCA for p0"};
121+
Configurable<float> cfgTrackDCArDepPTExp{"cfgTrackDCArDepPTExp", 0.013, "Coeff. of transverse DCA for power law term"};
122+
123+
Configurable<bool> cfgTrackDCAzDepPTSel{"cfgTrackDCAzDepPTSel", false, "Flag for pT dependent longitudinal DCA cut"}; // 7 - sigma cut
124+
Configurable<float> cfgTrackDCAzDepPTP0{"cfgTrackDCAzDepPTP0", 0.004, "Coeff. of longitudinal DCA for p0"};
125+
Configurable<float> cfgTrackDCAzDepPTExp{"cfgTrackDCAzDepPTExp", 0.013, "Coeff. of longitudinal DCA for power law term"};
126+
118127
// PID Configurables
119128
Configurable<bool> cfgPIDUSETOF{"cfgPIDUSETOF", true, "TOF usage"};
120129

@@ -294,6 +303,8 @@ struct F0980pbpbanalysis {
294303
if (!pass) {
295304
histos.fill(HIST("TrackQA/DCArToPv_BC"), obj.dcaXY());
296305
histos.fill(HIST("TrackQA/DCAzToPv_BC"), obj.dcaZ());
306+
histos.fill(HIST("TrackQA/DCArVsPT_BC"), obj.pt(), obj.dcaXY());
307+
histos.fill(HIST("TrackQA/DCAzVsPT_BC"), obj.pt(), obj.dcaZ());
297308
histos.fill(HIST("TrackQA/IsPrim_BC"), obj.isPrimaryTrack());
298309
histos.fill(HIST("TrackQA/IsGood_BC"), obj.isGlobalTrackWoDCA());
299310
histos.fill(HIST("TrackQA/IsPrimCont_BC"), obj.isPVContributor());
@@ -304,6 +315,8 @@ struct F0980pbpbanalysis {
304315
} else {
305316
histos.fill(HIST("TrackQA/DCArToPv_AC"), obj.dcaXY());
306317
histos.fill(HIST("TrackQA/DCAzToPv_AC"), obj.dcaZ());
318+
histos.fill(HIST("TrackQA/DCArVsPT_AC"), obj.pt(), obj.dcaXY());
319+
histos.fill(HIST("TrackQA/DCAzVsPT_AC"), obj.pt(), obj.dcaZ());
307320
histos.fill(HIST("TrackQA/IsPrim_AC"), obj.isPrimaryTrack());
308321
histos.fill(HIST("TrackQA/IsGood_AC"), obj.isGlobalTrackWoDCA());
309322
histos.fill(HIST("TrackQA/IsPrimCont_AC"), obj.isPVContributor());
@@ -417,34 +430,46 @@ struct F0980pbpbanalysis {
417430
if (std::abs(track.eta()) > cfgTrackEtaMax) {
418431
return 0;
419432
}
420-
if (std::abs(track.dcaXY()) > cfgTrackDCArToPVcutMax) {
433+
if (cfgTrackIsPVContributor && !track.isPVContributor()) {
421434
return 0;
422435
}
423-
if (std::abs(track.dcaZ()) > cfgTrackDCAzToPVcutMax) {
436+
if (cfgTrackIsGlobalWoDCATrack && !track.isGlobalTrackWoDCA()) {
424437
return 0;
425438
}
426-
if (cfgTrackIsPVContributor && !track.isPVContributor()) {
439+
if (cfgTrackNTPCCrossedRows > 0 && track.tpcNClsCrossedRows() < cfgTrackNTPCCrossedRows) {
427440
return 0;
428441
}
429-
if (cfgTrackIsPrimaryTrack && !track.isPrimaryTrack()) {
442+
if (cfgTrackNTPCChi2 > 0 && track.tpcChi2NCl() > cfgTrackNTPCChi2) {
430443
return 0;
431444
}
432-
if (cfgTrackIsGlobalWoDCATrack && !track.isGlobalTrackWoDCA()) {
445+
if (cfgTrackNITSChi2 > 0 && track.itsChi2NCl() > cfgTrackNITSChi2) {
433446
return 0;
434447
}
435-
if (cfgTrackNTPCCrossedRows > 0 && track.tpcNClsCrossedRows() < cfgTrackNTPCCrossedRows) {
436-
return 0;
448+
if (cfgTrackDCArDepPTSel) {
449+
if (std::abs(track.dcaXY()) > (cfgTrackDCArDepPTP0 + (cfgTrackDCArDepPTExp / track.pt()))) {
450+
return 0;
451+
}
452+
} else {
453+
if (std::abs(track.dcaXY()) > cfgTrackDCArToPVcutMax) {
454+
return 0;
455+
}
437456
}
438-
if (cfgTrackNFindableTPCClusters > 0 && track.tpcNClsFindable() < cfgTrackNFindableTPCClusters) {
439-
return 0;
457+
if (cfgTrackDCAzDepPTSel) {
458+
if (std::abs(track.dcaZ()) > (cfgTrackDCAzDepPTP0 + (cfgTrackDCAzDepPTExp / track.pt()))) {
459+
return 0;
460+
}
461+
} else {
462+
if (std::abs(track.dcaZ()) > cfgTrackDCAzToPVcutMax) {
463+
return 0;
464+
}
440465
}
441-
if (cfgTrackNRowsOverFindable > 0 && track.tpcCrossedRowsOverFindableCls() > cfgTrackNRowsOverFindable) {
466+
if (cfgTrackIsPrimaryTrack && !track.isPrimaryTrack()) {
442467
return 0;
443468
}
444-
if (cfgTrackNTPCChi2 > 0 && track.tpcChi2NCl() > cfgTrackNTPCChi2) {
469+
if (cfgTrackNFindableTPCClusters > 0 && track.tpcNClsFindable() < cfgTrackNFindableTPCClusters) {
445470
return 0;
446471
}
447-
if (cfgTrackNITSChi2 > 0 && track.itsChi2NCl() > cfgTrackNITSChi2) {
472+
if (cfgTrackNRowsOverFindable > 0 && track.tpcCrossedRowsOverFindableCls() > cfgTrackNRowsOverFindable) {
448473
return 0;
449474
}
450475
return 1;
@@ -717,6 +742,8 @@ struct F0980pbpbanalysis {
717742
if (cfgQATrackCut) {
718743
histos.add("TrackQA/DCArToPv_BC", "", {HistType::kTH1F, {histAxisDCAz}});
719744
histos.add("TrackQA/DCAzToPv_BC", "", {HistType::kTH1F, {histAxisDCAz}});
745+
histos.add("TrackQA/DCArVsPT_BC", "", {HistType::kTH2F, {qaPtAxis, histAxisDCAr}});
746+
histos.add("TrackQA/DCAzVsPT_BC", "", {HistType::kTH2F, {qaPtAxis, histAxisDCAz}});
720747
histos.add("TrackQA/IsPrim_BC", "", kTH1F, {{2, -0.5, 1.5}});
721748
histos.add("TrackQA/IsGood_BC", "", kTH1F, {{2, -0.5, 1.5}});
722749
histos.add("TrackQA/IsPrimCont_BC", "", kTH1F, {{2, -0.5, 1.5}});
@@ -728,6 +755,8 @@ struct F0980pbpbanalysis {
728755
//
729756
histos.add("TrackQA/DCArToPv_AC", "", {HistType::kTH1F, {histAxisDCAz}});
730757
histos.add("TrackQA/DCAzToPv_AC", "", {HistType::kTH1F, {histAxisDCAz}});
758+
histos.add("TrackQA/DCArVsPT_AC", "", {HistType::kTH2F, {qaPtAxis, histAxisDCAr}});
759+
histos.add("TrackQA/DCAzVsPT_AC", "", {HistType::kTH2F, {qaPtAxis, histAxisDCAz}});
731760
histos.add("TrackQA/IsPrim_AC", "", kTH1F, {{2, -0.5, 1.5}});
732761
histos.add("TrackQA/IsGood_AC", "", kTH1F, {{2, -0.5, 1.5}});
733762
histos.add("TrackQA/IsPrimCont_AC", "", kTH1F, {{2, -0.5, 1.5}});

0 commit comments

Comments
 (0)