Skip to content

Commit 5cff617

Browse files
committed
fill mini table also for PbPb run 2 process function
1 parent b058f0b commit 5cff617

File tree

1 file changed

+73
-65
lines changed

1 file changed

+73
-65
lines changed

PWGLF/TableProducer/Nuspex/ebyeMaker.cxx

Lines changed: 73 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ struct EbyeMaker {
257257

258258
Configurable<LabeledArray<float>> cfgTrackSels{"cfgTrackSels", {kTrackSels, 1, 12, particleName, trackSelsNames}, "Track selections"};
259259
Configurable<LabeledArray<float>> cfgDcaSelsParam{"cfgDcaSelsParam", {kDcaSelsParam[0], 3, 3, dcaSelsNames, dcaParNames}, "DCA threshold settings"};
260+
Configurable<bool> fillMini{"fillMini", false, "fill mini tables"};
260261

261262
std::array<float, kNpart> ptMin;
262263
std::array<float, kNpart> ptTof;
@@ -430,9 +431,7 @@ struct EbyeMaker {
430431
{
431432
int selMask = -1;
432433
if ((isMc && candidateTrack.isreco) || !isMc) {
433-
float outerPID = -999.f;
434-
if (!(doprocessRun2 || doprocessMcRun2) && tk.hasTOF() && tk.pt() > antipPtTof) // TODO: remove the process-dependent conditional if all have the tof table
435-
outerPID = tk.tofNSigmaPr();
434+
float outerPID = tk.pt() > antipPtTof ? tk.tofNSigmaPr() : -999.f;
436435
candidateTrack.itsnsigma = nSigmaITS;
437436
candidateTrack.outerPID = tk.pt() < antipPtTof ? candidateTrack.outerPID : outerPID;
438437
int selMask = getTrackSelMask(candidateTrack);
@@ -938,7 +937,6 @@ struct EbyeMaker {
938937
fillRecoEvent(collision, tracks, v0TableThisCollision, centrality);
939938

940939
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), 0x0, nTrackletsColl, centrality, nTracksColl);
941-
942940
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
943941
auto tk = tracks.rawIteratorAt(candidateTrack.globalIndex);
944942
fillTableMiniTrack<false>(candidateTrack, tk);
@@ -989,32 +987,38 @@ struct EbyeMaker {
989987
histos.fill(HIST("QA/V0MvsCL0"), centralityCl0, centrality);
990988
histos.fill(HIST("QA/trackletsVsV0M"), centrality, multTracklets);
991989

992-
collisionEbyeTable(centrality, collision.posZ());
993-
994-
for (const auto& candidateV0 : candidateV0s) {
995-
lambdaEbyeTable(
996-
collisionEbyeTable.lastIndex(),
997-
candidateV0.pt,
998-
candidateV0.eta,
999-
candidateV0.mass,
1000-
candidateV0.dcav0pv,
1001-
candidateV0.dcav0daugh,
1002-
candidateV0.cpa,
1003-
candidateV0.globalIndexNeg,
1004-
candidateV0.globalIndexPos);
1005-
}
1006-
1007-
for (int iP{0}; iP < kNpart; ++iP) {
1008-
for (const auto& candidateTrack : candidateTracks[iP]) { // deuterons + protons
1009-
nucleiEbyeTable(
990+
if (fillMini) {
991+
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), 0x0, nTrackletsColl, centrality, nTracksColl);
992+
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
993+
auto tk = tracks.rawIteratorAt(candidateTrack.globalIndex);
994+
fillTableMiniTrack<false>(candidateTrack, tk);
995+
}
996+
} else {
997+
collisionEbyeTable(centrality, collision.posZ());
998+
for (const auto& candidateV0 : candidateV0s) {
999+
lambdaEbyeTable(
10101000
collisionEbyeTable.lastIndex(),
1011-
candidateTrack.pt,
1012-
candidateTrack.eta,
1013-
candidateTrack.mass,
1014-
candidateTrack.dcapv,
1015-
candidateTrack.tpcncls,
1016-
candidateTrack.tpcnsigma,
1017-
candidateTrack.tofmass);
1001+
candidateV0.pt,
1002+
candidateV0.eta,
1003+
candidateV0.mass,
1004+
candidateV0.dcav0pv,
1005+
candidateV0.dcav0daugh,
1006+
candidateV0.cpa,
1007+
candidateV0.globalIndexNeg,
1008+
candidateV0.globalIndexPos);
1009+
}
1010+
for (int iP{0}; iP < kNpart; ++iP) {
1011+
for (const auto& candidateTrack : candidateTracks[iP]) { // deuterons + protons
1012+
nucleiEbyeTable(
1013+
collisionEbyeTable.lastIndex(),
1014+
candidateTrack.pt,
1015+
candidateTrack.eta,
1016+
candidateTrack.mass,
1017+
candidateTrack.dcapv,
1018+
candidateTrack.tpcncls,
1019+
candidateTrack.tpcnsigma,
1020+
candidateTrack.tofmass);
1021+
}
10181022
}
10191023
}
10201024
}
@@ -1062,8 +1066,8 @@ struct EbyeMaker {
10621066
if (triggerCut != 0x0 && (trigger & triggerCut) != triggerCut) {
10631067
continue;
10641068
}
1065-
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), trigger, nTrackletsColl, centrality, nTracksColl);
10661069

1070+
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), trigger, nTrackletsColl, centrality, nTracksColl);
10671071
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
10681072
auto tk = tracks.rawIteratorAt(candidateTrack.globalIndex);
10691073
auto [itsSignal, nSigmaITS] = getITSSignal(tk, trackExtraRun2);
@@ -1095,7 +1099,6 @@ struct EbyeMaker {
10951099
fillMcGen(mcParticles, mcLab, collision.mcCollisionId());
10961100

10971101
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), nChPartGen, nTrackletsColl, centrality, nTracksColl);
1098-
10991102
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
11001103
auto tk = candidateTrack.isreco ? tracks.rawIteratorAt(candidateTrack.globalIndex) : tracks.rawIteratorAt(0);
11011104
fillTableMiniTrack<true>(candidateTrack, tk);
@@ -1126,40 +1129,46 @@ struct EbyeMaker {
11261129
fillMcEvent(collision, tracks, v0TableThisCollision, centrality, mcParticles, mcLab);
11271130
fillMcGen(mcParticles, mcLab, collision.mcCollisionId());
11281131

1129-
collisionEbyeTable(centrality, collision.posZ());
1130-
1131-
for (const auto& candidateV0 : candidateV0s) {
1132-
mcLambdaEbyeTable(
1133-
collisionEbyeTable.lastIndex(),
1134-
candidateV0.pt,
1135-
candidateV0.eta,
1136-
candidateV0.mass,
1137-
candidateV0.dcav0pv,
1138-
candidateV0.dcav0daugh,
1139-
candidateV0.cpa,
1140-
candidateV0.globalIndexNeg,
1141-
candidateV0.globalIndexPos,
1142-
candidateV0.genpt,
1143-
candidateV0.geneta,
1144-
candidateV0.pdgcode,
1145-
candidateV0.isreco);
1146-
}
1147-
1148-
for (int iP{0}; iP < kNpart; ++iP) {
1149-
for (const auto& candidateTrack : candidateTracks[iP]) { // deuterons + protons
1150-
mcNucleiEbyeTable(
1132+
if (fillMini) {
1133+
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), nChPartGen, nTrackletsColl, centrality, nTracksColl);
1134+
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
1135+
auto tk = candidateTrack.isreco ? tracks.rawIteratorAt(candidateTrack.globalIndex) : tracks.rawIteratorAt(0);
1136+
fillTableMiniTrack<true>(candidateTrack, tk);
1137+
}
1138+
} else {
1139+
collisionEbyeTable(centrality, collision.posZ());
1140+
for (const auto& candidateV0 : candidateV0s) {
1141+
mcLambdaEbyeTable(
11511142
collisionEbyeTable.lastIndex(),
1152-
candidateTrack.pt,
1153-
candidateTrack.eta,
1154-
candidateTrack.mass,
1155-
candidateTrack.dcapv,
1156-
candidateTrack.tpcncls,
1157-
candidateTrack.tpcnsigma,
1158-
candidateTrack.tofmass,
1159-
candidateTrack.genpt,
1160-
candidateTrack.geneta,
1161-
candidateTrack.pdgcode,
1162-
candidateTrack.isreco);
1143+
candidateV0.pt,
1144+
candidateV0.eta,
1145+
candidateV0.mass,
1146+
candidateV0.dcav0pv,
1147+
candidateV0.dcav0daugh,
1148+
candidateV0.cpa,
1149+
candidateV0.globalIndexNeg,
1150+
candidateV0.globalIndexPos,
1151+
candidateV0.genpt,
1152+
candidateV0.geneta,
1153+
candidateV0.pdgcode,
1154+
candidateV0.isreco);
1155+
}
1156+
for (int iP{0}; iP < kNpart; ++iP) {
1157+
for (const auto& candidateTrack : candidateTracks[iP]) { // deuterons + protons
1158+
mcNucleiEbyeTable(
1159+
collisionEbyeTable.lastIndex(),
1160+
candidateTrack.pt,
1161+
candidateTrack.eta,
1162+
candidateTrack.mass,
1163+
candidateTrack.dcapv,
1164+
candidateTrack.tpcncls,
1165+
candidateTrack.tpcnsigma,
1166+
candidateTrack.tofmass,
1167+
candidateTrack.genpt,
1168+
candidateTrack.geneta,
1169+
candidateTrack.pdgcode,
1170+
candidateTrack.isreco);
1171+
}
11631172
}
11641173
}
11651174
}
@@ -1189,7 +1198,6 @@ struct EbyeMaker {
11891198
fillMcGen(mcParticles, mcLab, collision.mcCollisionId());
11901199

11911200
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), nChPartGen, nTrackletsColl, centrality, nTracksColl);
1192-
11931201
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)
11941202
auto tk = candidateTrack.isreco ? tracks.rawIteratorAt(candidateTrack.globalIndex) : tracks.rawIteratorAt(0);
11951203
auto [itsSignal, nSigmaITS] = getITSSignal(tk, trackExtraRun2);

0 commit comments

Comments
 (0)