Skip to content

Commit 71297b1

Browse files
mfagginMattia Faggin
andauthored
[PWGHF] add soft-pi dcaXY, dcaZ to SigmaC THnSparse. (#11584)
Co-authored-by: Mattia Faggin <mfaggin@cern.ch>
1 parent 3b373a9 commit 71297b1

File tree

3 files changed

+130
-44
lines changed

3 files changed

+130
-44
lines changed

PWGHF/D2H/Tasks/taskSigmac.cxx

Lines changed: 96 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
///
1616
/// \author Mattia Faggin <mfaggin@cern.ch>, University and INFN PADOVA
1717

18-
#include <vector>
18+
#include "PWGHF/Core/HfHelper.h"
19+
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
20+
#include "PWGHF/DataModel/CandidateSelectionTables.h"
1921

2022
#include "CommonConstants/PhysicsConstants.h"
2123
#include "Framework/AnalysisTask.h"
2224
#include "Framework/HistogramRegistry.h"
2325
#include "Framework/runDataProcessing.h"
2426

25-
#include "PWGHF/Core/HfHelper.h"
26-
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
27-
#include "PWGHF/DataModel/CandidateSelectionTables.h"
27+
#include <vector>
2828

2929
using namespace o2;
3030
using namespace o2::analysis;
@@ -42,6 +42,7 @@ struct HfTaskSigmac {
4242
Configurable<float> yCandGenMax{"yCandGenMax", -1, "Maximum generated Sc rapidity"};
4343
Configurable<float> yCandRecoMax{"yCandRecoMax", -1, "Maximum Sc candidate rapidity"};
4444
Configurable<bool> enableTHn{"enableTHn", false, "enable the usage of THn for Λc+ and Σc0,++"};
45+
Configurable<bool> addSoftPiDcaToSigmacSparse{"addSoftPiDcaToSigmacSparse", false, "enable the filling of sof-pion dcaXY, dcaZ in the Σc0,++ THnSparse"};
4546

4647
HfHelper hfHelper;
4748
bool isMc;
@@ -61,6 +62,7 @@ struct HfTaskSigmac {
6162
ConfigurableAxis configAxisDeltaMassSigmaC{"configAxisDeltaMassSigmaC", {200, 0.13, 0.23}, ""};
6263
ConfigurableAxis thnConfigAxisBdtScoreLcBkg{"thnConfigAxisBdtScoreLcBkg", {100, 0., 1.}, ""};
6364
ConfigurableAxis thnConfigAxisBdtScoreLcNonPrompt{"thnConfigAxisBdtScoreLcNonPrompt", {100, 0., 1.}, ""};
65+
ConfigurableAxis thnConfigAxisSoftPiAbsDca{"thnConfigAxisSoftPiAbsDca", {14, 0., 0.07}, ""};
6466
const AxisSpec thnAxisMassLambdaC{configAxisMassLambdaC, "inv. mass (p K #pi) (GeV/#it{c}^{2})"};
6567
const AxisSpec thnAxisPtLambdaC{thnConfigAxisPt, "#it{p}_{T}(#Lambda_{c}^{+}) (GeV/#it{c})"};
6668
const AxisSpec thnAxisPtSigmaC{thnConfigAxisPt, "#it{p}_{T}(#Sigma_{c}^{0,++}) (GeV/#it{c})"};
@@ -77,6 +79,8 @@ struct HfTaskSigmac {
7779
const AxisSpec thnAxisGenPtSigmaC{thnConfigAxisGenPt, "#it{p}_{T}^{gen}(#Sigma_{c}^{0,++}) (GeV/#it{c})"};
7880
const AxisSpec thnAxisGenPtLambdaCBMother{thnConfigAxisGenPtB, "#it{p}_{T}^{gen}(#Lambda_{c}^{+} B mother) (GeV/#it{c})"};
7981
const AxisSpec thnAxisGenPtSigmaCBMother{thnConfigAxisGenPtB, "#it{p}_{T}^{gen}(#Sigma_{c}^{0,++} B mother) (GeV/#it{c})"};
82+
const AxisSpec thnAxisSoftPiAbsDcaXY{thnConfigAxisSoftPiAbsDca, "|dca_{xy}|(#pi^{-,+} #leftarrow #Sigma_{c}^{0,++}) (cm)"};
83+
const AxisSpec thnAxisSoftPiAbsDcaZ{thnConfigAxisSoftPiAbsDca, "|dca_{z}|(#pi^{-,+} #leftarrow #Sigma_{c}^{0,++}) (cm)"};
8084
const AxisSpec thnAxisGenSigmaCSpecies = {o2::aod::hf_cand_sigmac::Species::NSpecies, -0.5f, +o2::aod::hf_cand_sigmac::Species::NSpecies - 0.5f, "bin 1: #Sigma_{c}(2455), bin 2: #Sigma_{c}(2520)"};
8185
const AxisSpec thnAxisSigmaCParticleAntiparticle = {o2::aod::hf_cand_sigmac::Conjugated::NConjugated, -0.5f, +o2::aod::hf_cand_sigmac::Conjugated::NConjugated - 0.5f, "bin 1: particle, bin 2: antiparticle"};
8286

@@ -278,21 +282,37 @@ struct HfTaskSigmac {
278282
axesSigmaCWithMl.push_back(thnAxisGenPtSigmaCBMother);
279283
axesSigmaCWithMl.push_back(thnAxisGenSigmaCSpecies);
280284
axesSigmaCWithMl.push_back(thnAxisSigmaCParticleAntiparticle);
285+
if (addSoftPiDcaToSigmacSparse) {
286+
axesSigmaCWithMl.push_back(thnAxisSoftPiAbsDcaXY);
287+
axesSigmaCWithMl.push_back(thnAxisSoftPiAbsDcaZ);
288+
}
281289
registry.add("hnLambdaC", "THn for Lambdac", HistType::kTHnSparseF, axesLambdaCWithMl);
282290
registry.add("hnSigmaC", "THn for Sigmac", HistType::kTHnSparseF, axesSigmaCWithMl);
283291
} else {
284292
axesLambdaCWoMl.push_back(thnAxisGenPtLambdaCBMother);
285293
axesSigmaCWoMl.push_back(thnAxisGenPtSigmaCBMother);
286294
axesSigmaCWoMl.push_back(thnAxisGenSigmaCSpecies);
287295
axesSigmaCWoMl.push_back(thnAxisSigmaCParticleAntiparticle);
296+
if (addSoftPiDcaToSigmacSparse) {
297+
axesSigmaCWoMl.push_back(thnAxisSoftPiAbsDcaXY);
298+
axesSigmaCWoMl.push_back(thnAxisSoftPiAbsDcaZ);
299+
}
288300
registry.add("hnLambdaC", "THn for Lambdac", HistType::kTHnSparseF, axesLambdaCWoMl);
289301
registry.add("hnSigmaC", "THn for Sigmac", HistType::kTHnSparseF, axesSigmaCWoMl);
290302
}
291303
} else {
292304
if (doprocessDataWithMl) {
305+
if (addSoftPiDcaToSigmacSparse) {
306+
axesSigmaCWithMl.push_back(thnAxisSoftPiAbsDcaXY);
307+
axesSigmaCWithMl.push_back(thnAxisSoftPiAbsDcaZ);
308+
}
293309
registry.add("hnLambdaC", "THn for Lambdac", HistType::kTHnSparseF, axesLambdaCWithMl);
294310
registry.add("hnSigmaC", "THn for Sigmac", HistType::kTHnSparseF, axesSigmaCWithMl);
295311
} else {
312+
if (addSoftPiDcaToSigmacSparse) {
313+
axesSigmaCWoMl.push_back(thnAxisSoftPiAbsDcaXY);
314+
axesSigmaCWoMl.push_back(thnAxisSoftPiAbsDcaZ);
315+
}
296316
registry.add("hnLambdaC", "THn for Lambdac", HistType::kTHnSparseF, axesLambdaCWoMl);
297317
registry.add("hnSigmaC", "THn for Sigmac", HistType::kTHnSparseF, axesSigmaCWoMl);
298318
}
@@ -412,6 +432,8 @@ struct HfTaskSigmac {
412432
if (enableTHn) {
413433
if (!isMc) {
414434
/// fill it only if no MC operations are enabled, otherwise fill it in the processMC with the right origin and channel!
435+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
436+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
415437
if constexpr (useMl) {
416438
/// fill with ML information
417439
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -420,10 +442,18 @@ struct HfTaskSigmac {
420442
outputMl.at(0) = candidateLc.mlProbLcToPKPi()[0]; /// bkg score
421443
outputMl.at(1) = candidateLc.mlProbLcToPKPi()[2]; /// non-prompt score
422444
}
423-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc));
445+
if (addSoftPiDcaToSigmacSparse) {
446+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc), softPiAbsDcaXY, softPiAbsDcaZ);
447+
} else {
448+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc));
449+
}
424450
} else {
425451
/// fill w/o BDT information
426-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc));
452+
if (addSoftPiDcaToSigmacSparse) {
453+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc), softPiAbsDcaXY, softPiAbsDcaZ);
454+
} else {
455+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc));
456+
}
427457
}
428458
}
429459
}
@@ -485,6 +515,8 @@ struct HfTaskSigmac {
485515
if (enableTHn) {
486516
if (!isMc) {
487517
/// fill it only if no MC operations are enabled, otherwise fill it in the processMC with the right origin and channel!
518+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
519+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
488520
if constexpr (useMl) {
489521
/// fill with ML information
490522
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -493,10 +525,18 @@ struct HfTaskSigmac {
493525
outputMl.at(0) = candidateLc.mlProbLcToPiKP()[0]; /// bkg score
494526
outputMl.at(1) = candidateLc.mlProbLcToPiKP()[2]; /// non-prompt score
495527
}
496-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc));
528+
if (addSoftPiDcaToSigmacSparse) {
529+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc), softPiAbsDcaXY, softPiAbsDcaZ);
530+
} else {
531+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), 0, 0, ptSc, std::abs(chargeSc));
532+
}
497533
} else {
498534
/// fill w/o BDT information
499-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc));
535+
if (addSoftPiDcaToSigmacSparse) {
536+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc), softPiAbsDcaXY, softPiAbsDcaZ);
537+
} else {
538+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, 0, 0, ptSc, std::abs(chargeSc));
539+
}
500540
}
501541
}
502542
}
@@ -866,6 +906,8 @@ struct HfTaskSigmac {
866906
/// THn for candidate Σc0,++ cut variation
867907
if (enableTHn) {
868908
int8_t particleAntiparticle = candSc.particleAntiparticle();
909+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
910+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
869911
if constexpr (useMl) {
870912
/// fill with ML information
871913
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -874,10 +916,18 @@ struct HfTaskSigmac {
874916
outputMl.at(0) = candidateLc.mlProbLcToPKPi()[0]; /// bkg score
875917
outputMl.at(1) = candidateLc.mlProbLcToPKPi()[2]; /// non-prompt score
876918
}
877-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
919+
if (addSoftPiDcaToSigmacSparse) {
920+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
921+
} else {
922+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
923+
}
878924
} else {
879925
/// fill w/o BDT information
880-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
926+
if (addSoftPiDcaToSigmacSparse) {
927+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
928+
} else {
929+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
930+
}
881931
}
882932
}
883933

@@ -941,6 +991,8 @@ struct HfTaskSigmac {
941991
/// THn for candidate Σc0,++ cut variation
942992
if (enableTHn) {
943993
int8_t particleAntiparticle = candSc.particleAntiparticle();
994+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
995+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
944996
if constexpr (useMl) {
945997
/// fill with ML information
946998
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -949,10 +1001,18 @@ struct HfTaskSigmac {
9491001
outputMl.at(0) = candidateLc.mlProbLcToPiKP()[0]; /// bkg score
9501002
outputMl.at(1) = candidateLc.mlProbLcToPiKP()[2]; /// non-prompt score
9511003
}
952-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1004+
if (addSoftPiDcaToSigmacSparse) {
1005+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1006+
} else {
1007+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1008+
}
9531009
} else {
9541010
/// fill w/o BDT information
955-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1011+
if (addSoftPiDcaToSigmacSparse) {
1012+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1013+
} else {
1014+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1015+
}
9561016
}
9571017
}
9581018

@@ -1052,6 +1112,8 @@ struct HfTaskSigmac {
10521112
/// THn for candidate Σc0,++ cut variation
10531113
if (enableTHn) {
10541114
int8_t particleAntiparticle = candSc.particleAntiparticle();
1115+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
1116+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
10551117
if constexpr (useMl) {
10561118
/// fill with ML information
10571119
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -1060,10 +1122,18 @@ struct HfTaskSigmac {
10601122
outputMl.at(0) = candidateLc.mlProbLcToPKPi()[0]; /// bkg score
10611123
outputMl.at(1) = candidateLc.mlProbLcToPKPi()[2]; /// non-prompt score
10621124
}
1063-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1125+
if (addSoftPiDcaToSigmacSparse) {
1126+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1127+
} else {
1128+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1129+
}
10641130
} else {
10651131
/// fill w/o BDT information
1066-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1132+
if (addSoftPiDcaToSigmacSparse) {
1133+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1134+
} else {
1135+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1136+
}
10671137
}
10681138
}
10691139

@@ -1125,6 +1195,8 @@ struct HfTaskSigmac {
11251195
/// THn for candidate Σc0,++ cut variation
11261196
if (enableTHn) {
11271197
int8_t particleAntiparticle = candSc.particleAntiparticle();
1198+
const float softPiAbsDcaXY = std::abs(candSc.softPiDcaXY());
1199+
const float softPiAbsDcaZ = std::abs(candSc.softPiDcaZ());
11281200
if constexpr (useMl) {
11291201
/// fill with ML information
11301202
/// BDT index 0: bkg score; BDT index 2: non-prompt score
@@ -1133,10 +1205,18 @@ struct HfTaskSigmac {
11331205
outputMl.at(0) = candidateLc.mlProbLcToPiKP()[0]; /// bkg score
11341206
outputMl.at(1) = candidateLc.mlProbLcToPiKP()[2]; /// non-prompt score
11351207
}
1136-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1208+
if (addSoftPiDcaToSigmacSparse) {
1209+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1210+
} else {
1211+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, outputMl.at(0), outputMl.at(1), origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1212+
}
11371213
} else {
11381214
/// fill w/o BDT information
1139-
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1215+
if (addSoftPiDcaToSigmacSparse) {
1216+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle, softPiAbsDcaXY, softPiAbsDcaZ);
1217+
} else {
1218+
registry.get<THnSparse>(HIST("hnSigmaC"))->Fill(ptLc, deltaMass, decLengthLc, decLengthXYLc, cpaLc, cpaXYLc, origin, channel, ptSc, std::abs(chargeSc), candSc.ptBhadMotherPart(), sigmacSpecies, particleAntiparticle);
1219+
}
11401220
}
11411221
}
11421222

PWGHF/DataModel/CandidateReconstructionTables.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2314,6 +2314,8 @@ DECLARE_SOA_INDEX_COLUMN_FULL(ProngLc, prongLc, int, HfCand3Prong, "");
23142314
DECLARE_SOA_COLUMN(Charge, charge, int8_t); //! // Σc charge(either 0 or ++)
23152315
DECLARE_SOA_COLUMN(StatusSpreadLcMinvPKPiFromPDG, statusSpreadLcMinvPKPiFromPDG, int); //! // Λc Minv(pKpi) spread from PDG Λc mass
23162316
DECLARE_SOA_COLUMN(StatusSpreadLcMinvPiKPFromPDG, statusSpreadLcMinvPiKPFromPDG, int); //! // Λc Minv(piKp) spread from PDG Λc mass
2317+
DECLARE_SOA_COLUMN(SoftPiDcaXY, softPiDcaXY, float); //! soft-pion impact parameter in xy
2318+
DECLARE_SOA_COLUMN(SoftPiDcaZ, softPiDcaZ, float); //! soft-pion impact parameter in z
23172319
DECLARE_SOA_INDEX_COLUMN_FULL(Prong0, prong0, int, HfCand3Prong, "_0"); //! Λc index
23182320
// MC matching result:
23192321
DECLARE_SOA_COLUMN(FlagMcMatchRec, flagMcMatchRec, int8_t); //! reconstruction level
@@ -2357,6 +2359,7 @@ DECLARE_SOA_TABLE(HfCandScBase, "AOD", "HFCANDSCBASE",
23572359
/* Σc0,++ specific columns */
23582360
hf_cand_sigmac::Charge,
23592361
hf_cand_sigmac::StatusSpreadLcMinvPKPiFromPDG, hf_cand_sigmac::StatusSpreadLcMinvPiKPFromPDG,
2362+
hf_cand_sigmac::SoftPiDcaXY, hf_cand_sigmac::SoftPiDcaZ,
23602363
/* prong 0 */
23612364
// hf_cand::ImpactParameterNormalised0<hf_cand::ImpactParameter0, hf_cand::ErrorImpactParameter0>,
23622365
hf_cand::PtProng0<hf_cand::PxProng0, hf_cand::PyProng0>,

0 commit comments

Comments
 (0)