Skip to content

Commit 4a90c8b

Browse files
authored
[PWGLF,PWGMM] Set track QA configurable (#18358)
1 parent a0cefa4 commit 4a90c8b

1 file changed

Lines changed: 67 additions & 112 deletions

File tree

‎PWGMM/Mult/Tasks/dndetaMFTPbPb.cxx‎

Lines changed: 67 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ enum class EvtLossType {
174174
enum class DataEvtStatus {
175175
kDataAll = 0,
176176
kDataSel,
177-
kDataSelGt0,
178177
kDataRej,
179178
nDataEvtStatus
180179
};
@@ -244,6 +243,7 @@ struct DndetaMFTPbPb {
244243
Configurable<bool> useInelgt0{"useInelgt0", false, "Use INEL > 0 condition"};
245244
Configurable<bool> useInelgt0wMFT{"useInelgt0wMFT", false, "Use INEL > 0 condition with MFT acceptance"};
246245
Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
246+
Configurable<bool> fillTrackQaHist{"fillTrackQaHist", false, "fill track QA histograms"};
247247
} gConf;
248248

249249
struct : ConfigurableGroup {
@@ -480,60 +480,62 @@ struct DndetaMFTPbPb {
480480
}
481481
}
482482
if (doprocessDataInclusive || doprocessDatawBestTracksInclusive) {
483-
registryData.add({"Events/hInteractionRate", "; IR (kHz); occupancy", {HistType::kTH2F, {irAxis, occupancyAxis}}});
483+
if (gConf.useIRFromCCDB) {
484+
registryData.add({"Events/hInteractionRate", "; IR (kHz); occupancy", {HistType::kTH2F, {irAxis, occupancyAxis}}});
485+
}
484486
registryData.add("Events/DataEvtStatus", "Number of events; Cut; occupancy", {HistType::kTH2F, {{static_cast<int>(DataEvtStatus::nDataEvtStatus), -0.5, +static_cast<int>(DataEvtStatus::nDataEvtStatus) - 0.5}, occupancyAxis}});
485487
std::array<std::string_view, static_cast<int>(DataEvtStatus::nDataEvtStatus)> labelDataEvtStatus{
486488
"Data all",
487489
"Data sel",
488-
"Data sel gt0",
489490
"Data rejected"};
490491
for (int iBin = 0; iBin < static_cast<int>(DataEvtStatus::nDataEvtStatus); iBin++) {
491492
registryData.get<TH2>(HIST("Events/DataEvtStatus"))->GetXaxis()->SetBinLabel(iBin + 1, labelDataEvtStatus[iBin].data());
492493
}
493494
registryData.add({"Tracks/EtaZvtx", "; #eta; #it{z}_{vtx} (cm); occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, occupancyAxis}}});
494-
registryData.add({"Tracks/EtaZvtxGt0", "; #eta; #it{z}_{vtx} (cm); occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, occupancyAxis}}});
495495
registryData.add({"Tracks/PhiEta", "; #varphi; #eta; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, occupancyAxis}}});
496496
registryData.add({"Events/NtrkZvtx", "; N_{trk}; Z_{vtx} (cm); occupancy", {HistType::kTHnSparseF, {multAxis, zAxis, occupancyAxis}}});
497-
registryData.add({"Tracks/Chi2Eta", "; #chi^{2}; #eta; occupancy", {HistType::kTHnSparseF, {chiSqAxis, etaAxis, occupancyAxis}}});
498-
registryData.add({"Tracks/NclustersEta", "; nClusters; #eta; occupancy", {HistType::kTHnSparseF, {nclsAxis, etaAxis, occupancyAxis}}});
499-
registryData.add({"Tracks/TanLambda", "; TanLambda; occupancy", {HistType::kTH2F, {tanLambdaAxis, occupancyAxis}}});
500-
registryData.add({"Tracks/InvQPt", "; InvQPt; occupancy", {HistType::kTH2F, {invQPtAxis, occupancyAxis}}});
501-
497+
if (gConf.fillTrackQaHist) {
498+
registryData.add({"Tracks/Chi2Eta", "; #chi^{2}; #eta; occupancy", {HistType::kTH2F, {chiSqAxis, occupancyAxis}}});
499+
registryData.add({"Tracks/NclustersEta", "; nClusters; #eta; occupancy", {HistType::kTH2F, {nclsAxis, occupancyAxis}}});
500+
}
502501
if (doprocessDatawBestTracksInclusive) {
503-
registryData.add({"Tracks/DCA3d", "; p_{T} (GeV/c); #eta; DCA_{XY} (cm); DCA_{Z} (cm); occupancy", {HistType::kTHnSparseF, {ptAxis, etaAxis, dcaxyAxis, dcazAxis, occupancyAxis}}});
504-
registryData.add({"Tracks/ReTracksEtaZvtx", "; #eta; #it{z}_{vtx} (cm); occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, occupancyAxis}}});
505-
registryData.add({"Tracks/ReTracksPhiEta", "; #varphi; #eta; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, occupancyAxis}}});
506-
registryData.add({"Tracks/TrackAmbDegree", "; N_{coll}^{comp}; occupancy", {HistType::kTH2F, {{51, -0.5, 50.5}, occupancyAxis}}});
502+
if (gConf.fillTrackQaHist) {
503+
registryData.add({"Tracks/DCA3d", "; p_{T} (GeV/c); #eta; DCA_{XY} (cm); DCA_{Z} (cm); occupancy", {HistType::kTHnSparseF, {ptAxis, etaAxis, dcaxyAxis, dcazAxis, occupancyAxis}}});
504+
registryData.add({"Tracks/ReTracksEtaZvtx", "; #eta; #it{z}_{vtx} (cm); occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, occupancyAxis}}});
505+
registryData.add({"Tracks/ReTracksPhiEta", "; #varphi; #eta; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, occupancyAxis}}});
506+
registryData.add({"Tracks/TrackAmbDegree", "; N_{coll}^{comp}; occupancy", {HistType::kTH2F, {{51, -0.5, 50.5}, occupancyAxis}}});
507+
}
507508
}
508509
LOG(info) << "doprocessData[BestTrack]Inclusive -> Size of the Data histograms:";
509510
registryData.print();
510511
}
511512
if (doprocessDataCentFT0C || doprocessDatawBestTracksCentFT0C) {
512-
registryData.add({"Events/Centrality/hInteractionRate", "; IR (kHz); centrality; occupancy", {HistType::kTHnSparseF, {irAxis, centralityAxis, occupancyAxis}}});
513+
if (gConf.useIRFromCCDB) {
514+
registryData.add({"Events/Centrality/hInteractionRate", "; IR (kHz); centrality; occupancy", {HistType::kTHnSparseF, {irAxis, centralityAxis, occupancyAxis}}});
515+
}
513516
registryData.add("Events/Centrality/DataEvtStatus", "Number of events; Cut; centrality; occupancy", {HistType::kTHnSparseF, {{static_cast<int>(DataEvtStatus::nDataEvtStatus), -0.5, +static_cast<int>(DataEvtStatus::nDataEvtStatus) - 0.5}, centralityAxis, occupancyAxis}});
514517
std::array<std::string_view, static_cast<int>(DataEvtStatus::nDataEvtStatus)> labelDataEvtStatusCent{
515518
"Data all",
516519
"Data sel",
517-
"Data sel gt0",
518520
"Data rejected"};
519521
for (int iBin = 0; iBin < static_cast<int>(DataEvtStatus::nDataEvtStatus); iBin++) {
520522
registryData.get<THnSparse>(HIST("Events/Centrality/DataEvtStatus"))->GetAxis(0)->SetBinLabel(iBin + 1, labelDataEvtStatusCent[iBin].data());
521523
}
524+
registryData.add({"Events/Centrality/hZvtxCent", "; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {zAxis, centralityAxis, occupancyAxis}}});
522525
registryData.add({"Tracks/Centrality/EtaZvtx", "; #eta; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, centralityAxis, occupancyAxis}}});
523-
registryData.add({"Tracks/Centrality/EtaZvtxGt0", "; #eta; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, centralityAxis, occupancyAxis}}});
524526
registryData.add({"Tracks/Centrality/PhiEta", "; #varphi; #eta; centrality; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, centralityAxis, occupancyAxis}}});
525527
registryData.add({"Events/Centrality/NtrkZvtx", "; N_{trk}; Z_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {multAxis, zAxis, centralityAxis, occupancyAxis}}});
526-
registryData.add({"Tracks/Centrality/Chi2Eta", "; #chi^{2}; #eta; centrality; occupancy", {HistType::kTHnSparseF, {chiSqAxis, etaAxis, centralityAxis, occupancyAxis}}});
527-
registryData.add({"Tracks/Centrality/NclustersEta", "; nClusters; #eta; centrality; occupancy", {HistType::kTHnSparseF, {nclsAxis, etaAxis, centralityAxis, occupancyAxis}}});
528-
registryData.add({"Tracks/Centrality/TanLambda", "; TanLambda; centrality; occupancy", {HistType::kTHnSparseF, {tanLambdaAxis, centralityAxis, occupancyAxis}}});
529-
registryData.add({"Tracks/Centrality/InvQPt", "; InvQPt; centrality; occupancy", {HistType::kTHnSparseF, {invQPtAxis, centralityAxis, occupancyAxis}}});
530-
registryData.add({"Events/Centrality/hZvtxCent", "; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {zAxis, centralityAxis, occupancyAxis}}});
531-
528+
if (gConf.fillTrackQaHist) {
529+
registryData.add({"Tracks/Centrality/Chi2Eta", "; #chi^{2}; centrality; occupancy", {HistType::kTHnSparseF, {chiSqAxis, centralityAxis, occupancyAxis}}});
530+
registryData.add({"Tracks/Centrality/NclustersEta", "; nClusters; #eta; centrality; occupancy", {HistType::kTHnSparseF, {nclsAxis, centralityAxis, occupancyAxis}}});
531+
}
532532
if (doprocessDatawBestTracksCentFT0C) {
533-
registryData.add({"Tracks/Centrality/DCA3d", "; p_{T} (GeV/c); #eta; DCA_{XY} (cm); DCA_{Z} (cm); centrality; occupancy", {HistType::kTHnSparseF, {ptAxis, etaAxis, dcaxyAxis, dcazAxis, centralityAxis, occupancyAxis}}});
534-
registryData.add({"Tracks/Centrality/ReTracksEtaZvtx", "; #eta; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, centralityAxis, occupancyAxis}}});
535-
registryData.add({"Tracks/Centrality/ReTracksPhiEta", "; #varphi; #eta; centrality; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, centralityAxis, occupancyAxis}}});
536-
registryData.add({"Tracks/Centrality/TrackAmbDegree", "; N_{coll}^{comp}; centrality; occupancy", {HistType::kTHnSparseF, {{51, -0.5, 50.5}, centralityAxis, occupancyAxis}}});
533+
if (gConf.fillTrackQaHist) {
534+
registryData.add({"Tracks/Centrality/DCA3d", "; p_{T} (GeV/c); #eta; DCA_{XY} (cm); DCA_{Z} (cm); centrality; occupancy", {HistType::kTHnSparseF, {ptAxis, etaAxis, dcaxyAxis, dcazAxis, centralityAxis, occupancyAxis}}});
535+
registryData.add({"Tracks/Centrality/ReTracksEtaZvtx", "; #eta; #it{z}_{vtx} (cm); centrality; occupancy", {HistType::kTHnSparseF, {etaAxis, zAxis, centralityAxis, occupancyAxis}}});
536+
registryData.add({"Tracks/Centrality/ReTracksPhiEta", "; #varphi; #eta; centrality; occupancy", {HistType::kTHnSparseF, {phiAxis, etaAxis, centralityAxis, occupancyAxis}}});
537+
registryData.add({"Tracks/Centrality/TrackAmbDegree", "; N_{coll}^{comp}; centrality; occupancy", {HistType::kTHnSparseF, {{51, -0.5, 50.5}, centralityAxis, occupancyAxis}}});
538+
}
537539
}
538540
LOG(info) << "doprocessData[BestTrack]CentFT0C -> Size of the Data histograms:";
539541
registryData.print();
@@ -1014,44 +1016,38 @@ struct DndetaMFTPbPb {
10141016
return true;
10151017
}
10161018

1017-
template <typename C, bool fillHis = false, typename T>
1019+
template <typename C, typename T>
10181020
int countTracks(T const& tracks, float z, float c, float occ)
10191021
{
10201022
auto nTrk = 0;
10211023
for (auto const& track : tracks) {
1022-
if (fillHis) {
1023-
if constexpr (has_reco_cent<C>) {
1024-
registryData.fill(HIST("Tracks/Centrality/Chi2Eta"), track.chi2(), track.eta(), c, occ);
1025-
registryData.fill(HIST("Tracks/Centrality/NclustersEta"), track.nClusters(), track.eta(), c, occ);
1026-
} else {
1027-
registryData.fill(HIST("Tracks/Chi2Eta"), track.chi2(), track.eta(), occ);
1028-
registryData.fill(HIST("Tracks/NclustersEta"), track.nClusters(), track.eta(), occ);
1029-
}
1030-
}
10311024
if (!isTrackSelected(track)) {
10321025
continue;
10331026
}
1034-
if (fillHis) {
1035-
float phi = track.phi();
1036-
o2::math_utils::bringTo02Pi(phi);
1027+
if (gConf.fillTrackQaHist) {
10371028
if constexpr (has_reco_cent<C>) {
1038-
registryData.fill(HIST("Tracks/Centrality/EtaZvtx"), track.eta(), z, c, occ);
1039-
registryData.fill(HIST("Tracks/Centrality/PhiEta"), phi, track.eta(), c, occ);
1040-
registryData.fill(HIST("Tracks/Centrality/TanLambda"), track.tgl(), c, occ);
1041-
registryData.fill(HIST("Tracks/Centrality/InvQPt"), track.signed1Pt(), c, occ);
1029+
registryData.fill(HIST("Tracks/Centrality/Chi2Eta"), track.chi2(), c, occ);
1030+
registryData.fill(HIST("Tracks/Centrality/NclustersEta"), track.nClusters(), c, occ);
10421031
} else {
1043-
registryData.fill(HIST("Tracks/EtaZvtx"), track.eta(), z, occ);
1044-
registryData.fill(HIST("Tracks/PhiEta"), phi, track.eta(), occ);
1045-
registryData.fill(HIST("Tracks/TanLambda"), track.tgl(), occ);
1046-
registryData.fill(HIST("Tracks/InvQPt"), track.signed1Pt(), occ);
1032+
registryData.fill(HIST("Tracks/Chi2Eta"), track.chi2(), occ);
1033+
registryData.fill(HIST("Tracks/NclustersEta"), track.nClusters(), occ);
10471034
}
10481035
}
1036+
float phi = track.phi();
1037+
o2::math_utils::bringTo02Pi(phi);
1038+
if constexpr (has_reco_cent<C>) {
1039+
registryData.fill(HIST("Tracks/Centrality/EtaZvtx"), track.eta(), z, c, occ);
1040+
registryData.fill(HIST("Tracks/Centrality/PhiEta"), phi, track.eta(), c, occ);
1041+
} else {
1042+
registryData.fill(HIST("Tracks/EtaZvtx"), track.eta(), z, occ);
1043+
registryData.fill(HIST("Tracks/PhiEta"), phi, track.eta(), occ);
1044+
}
10491045
++nTrk;
10501046
}
10511047
return nTrk;
10521048
}
10531049

1054-
template <typename C, bool fillHis = false, typename T, typename B>
1050+
template <typename C, typename T, typename B>
10551051
int countBestTracks(T const& /*tracks*/, B const& besttracks, float z, float c, float occ)
10561052
{
10571053
auto nATrk = 0;
@@ -1061,40 +1057,36 @@ struct DndetaMFTPbPb {
10611057
}
10621058
const float bestDcaZ = getDCAz(atrack);
10631059
auto itrack = atrack.template mfttrack_as<T>();
1064-
if constexpr (has_reco_cent<C>) {
1065-
registryData.fill(HIST("Tracks/Centrality/Chi2Eta"), itrack.chi2(), itrack.eta(), c, occ);
1066-
registryData.fill(HIST("Tracks/Centrality/NclustersEta"), itrack.nClusters(), itrack.eta(), c, occ);
1067-
} else {
1068-
registryData.fill(HIST("Tracks/Chi2Eta"), itrack.chi2(), itrack.eta(), occ);
1069-
registryData.fill(HIST("Tracks/NclustersEta"), itrack.nClusters(), itrack.eta(), occ);
1070-
}
10711060
if (!isTrackSelected(itrack)) {
10721061
continue;
10731062
}
1074-
++nATrk;
1075-
if (fillHis) {
1076-
float phi = itrack.phi();
1077-
o2::math_utils::bringTo02Pi(phi);
1063+
if (gConf.fillTrackQaHist) {
1064+
if constexpr (has_reco_cent<C>) {
1065+
registryData.fill(HIST("Tracks/Centrality/Chi2Eta"), itrack.chi2(), c, occ);
1066+
registryData.fill(HIST("Tracks/Centrality/NclustersEta"), itrack.nClusters(), c, occ);
1067+
} else {
1068+
registryData.fill(HIST("Tracks/Chi2Eta"), itrack.chi2(), occ);
1069+
registryData.fill(HIST("Tracks/NclustersEta"), itrack.nClusters(), occ);
1070+
}
1071+
}
1072+
float phi = itrack.phi();
1073+
o2::math_utils::bringTo02Pi(phi);
1074+
if constexpr (has_reco_cent<C>) {
1075+
registryData.fill(HIST("Tracks/Centrality/EtaZvtx"), itrack.eta(), z, c, occ);
1076+
registryData.fill(HIST("Tracks/Centrality/PhiEta"), phi, itrack.eta(), c, occ);
1077+
} else {
1078+
registryData.fill(HIST("Tracks/EtaZvtx"), itrack.eta(), z, occ);
1079+
registryData.fill(HIST("Tracks/PhiEta"), phi, itrack.eta(), occ);
1080+
}
1081+
if (gConf.fillTrackQaHist) {
10781082
if constexpr (has_reco_cent<C>) {
1079-
registryData.fill(HIST("Tracks/Centrality/EtaZvtx"), itrack.eta(), z, c, occ);
1080-
registryData.fill(HIST("Tracks/Centrality/PhiEta"), phi, itrack.eta(), c, occ);
1081-
registryData.fill(HIST("Tracks/Centrality/TanLambda"), itrack.tgl(), c, occ);
1082-
registryData.fill(HIST("Tracks/Centrality/InvQPt"), itrack.signed1Pt(), c, occ);
10831083
registryData.fill(HIST("Tracks/Centrality/DCA3d"), itrack.pt(), itrack.eta(), atrack.bestDCAXY(), bestDcaZ, c, occ);
10841084
registryData.fill(HIST("Tracks/Centrality/TrackAmbDegree"), atrack.ambDegree(), c, occ);
10851085
} else {
1086-
registryData.fill(HIST("Tracks/EtaZvtx"), itrack.eta(), z, occ);
1087-
registryData.fill(HIST("Tracks/PhiEta"), phi, itrack.eta(), occ);
1088-
registryData.fill(HIST("Tracks/TanLambda"), itrack.tgl(), occ);
1089-
registryData.fill(HIST("Tracks/InvQPt"), itrack.signed1Pt(), occ);
10901086
registryData.fill(HIST("Tracks/DCA3d"), itrack.pt(), itrack.eta(), atrack.bestDCAXY(), bestDcaZ, occ);
10911087
registryData.fill(HIST("Tracks/TrackAmbDegree"), atrack.ambDegree(), occ);
10921088
}
1093-
}
1094-
if (itrack.has_collision() && itrack.collisionId() != atrack.bestCollisionId()) {
1095-
if (fillHis) {
1096-
float phi = itrack.phi();
1097-
o2::math_utils::bringTo02Pi(phi);
1089+
if (itrack.has_collision() && itrack.collisionId() != atrack.bestCollisionId()) {
10981090
registryQC.fill(HIST("Tracks/hBestTrkSel"), static_cast<int>(TrkBestSel::trkBestSelNumReassoc));
10991091
if constexpr (has_reco_cent<C>) {
11001092
registryData.fill(HIST("Tracks/Centrality/ReTracksEtaZvtx"), itrack.eta(), itrack.template collision_as<C>().posZ(), c, occ);
@@ -1105,6 +1097,7 @@ struct DndetaMFTPbPb {
11051097
}
11061098
}
11071099
}
1100+
++nATrk;
11081101
}
11091102
return nATrk;
11101103
}
@@ -1457,23 +1450,11 @@ struct DndetaMFTPbPb {
14571450
registryData.fill(HIST("Events/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSel), occ);
14581451
}
14591452

1460-
auto nTrk = countTracks<C, true>(tracks, z, c, occ);
1453+
auto nTrk = countTracks<C>(tracks, z, c, occ);
14611454

14621455
if constexpr (has_reco_cent<C>) {
1463-
if (nTrk > 0) {
1464-
registryData.fill(HIST("Events/Centrality/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSelGt0), c, occ);
1465-
for (auto const& track : tracks) {
1466-
registryData.fill(HIST("Tracks/Centrality/EtaZvtxGt0"), track.eta(), z, c, occ);
1467-
}
1468-
}
14691456
registryData.fill(HIST("Events/Centrality/NtrkZvtx"), nTrk, z, c, occ);
14701457
} else {
1471-
if (nTrk > 0) {
1472-
registryData.fill(HIST("Events/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSelGt0), occ);
1473-
for (auto const& track : tracks) {
1474-
registryData.fill(HIST("Tracks/EtaZvtxGt0"), track.eta(), z, occ);
1475-
}
1476-
}
14771458
registryData.fill(HIST("Events/NtrkZvtx"), nTrk, z, occ);
14781459
}
14791460
} else {
@@ -1524,37 +1505,11 @@ struct DndetaMFTPbPb {
15241505
registryData.fill(HIST("Events/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSel), occ);
15251506
}
15261507

1527-
auto nBestTrks = countBestTracks<C, true>(tracks, besttracks, z, c, occ);
1508+
auto nBestTrks = countBestTracks<C>(tracks, besttracks, z, c, occ);
15281509

15291510
if constexpr (has_reco_cent<C>) {
1530-
if (nBestTrks > 0) {
1531-
registryData.fill(HIST("Events/Centrality/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSelGt0), c, occ);
1532-
for (auto const& atrack : besttracks) {
1533-
if (!isBestTrackSelected(atrack)) {
1534-
continue;
1535-
}
1536-
auto itrack = atrack.mfttrack_as<aod::MFTTracks>();
1537-
if (!isTrackSelected(itrack)) {
1538-
continue;
1539-
}
1540-
registryData.fill(HIST("Tracks/Centrality/EtaZvtxGt0"), itrack.eta(), z, c, occ);
1541-
}
1542-
}
15431511
registryData.fill(HIST("Events/Centrality/NtrkZvtx"), nBestTrks, z, c, occ);
15441512
} else {
1545-
if (nBestTrks > 0) {
1546-
registryData.fill(HIST("Events/DataEvtStatus"), static_cast<float>(DataEvtStatus::kDataSelGt0), occ);
1547-
for (auto const& atrack : besttracks) {
1548-
if (!isBestTrackSelected(atrack)) {
1549-
continue;
1550-
}
1551-
auto itrack = atrack.mfttrack_as<aod::MFTTracks>();
1552-
if (!isTrackSelected(itrack)) {
1553-
continue;
1554-
}
1555-
registryData.fill(HIST("Tracks/EtaZvtxGt0"), itrack.eta(), z, occ);
1556-
}
1557-
}
15581513
registryData.fill(HIST("Events/NtrkZvtx"), nBestTrks, z, occ);
15591514
}
15601515
} else {

0 commit comments

Comments
 (0)