Skip to content

Commit 7e64819

Browse files
authored
[ALICE3] Update alice3 multi-charm task (#17587)
1 parent b2ccd01 commit 7e64819

3 files changed

Lines changed: 106 additions & 58 deletions

File tree

ALICE3/DataModel/OTFMulticharm.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,15 @@ DECLARE_SOA_INDEX_COLUMN_FULL(XiCCPion, xiCCPion, int, Tracks, "_PiXiCC");
3535

3636
DECLARE_SOA_COLUMN(XicMass, xicMass, float);
3737
DECLARE_SOA_COLUMN(XiccMass, xiccMass, float);
38-
DECLARE_SOA_COLUMN(LUTConfigId, lutConfigId, int); //! Index for LUT configuration
38+
DECLARE_SOA_COLUMN(LutConfigId, lutConfigId, int); //! Index for LUT configuration
3939

4040
// kine vars
4141
DECLARE_SOA_COLUMN(XiccPt, xiccPt, float);
4242
DECLARE_SOA_COLUMN(XiccEta, xiccEta, float);
4343
DECLARE_SOA_COLUMN(XicPt, xicPt, float);
4444
DECLARE_SOA_COLUMN(XicEta, xicEta, float);
45+
DECLARE_SOA_COLUMN(XiPt, xiPt, float);
46+
DECLARE_SOA_COLUMN(XiEta, xiEta, float);
4547

4648
// topo vars
4749
DECLARE_SOA_COLUMN(XiDCAz, xiDCAz, float);
@@ -91,7 +93,8 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
9193
otfmulticharm::XicPt,
9294
otfmulticharm::XicEta,
9395
otfmulticharm::XicDauDCA,
94-
96+
otfmulticharm::XiPt,
97+
otfmulticharm::XiEta,
9598
otfmulticharm::XiDCAxy,
9699
otfmulticharm::XiDCAz,
97100
otfmulticharm::XicDCAxy,
@@ -114,7 +117,7 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
114117
otfmulticharm::Pi1cPt,
115118
otfmulticharm::Pi2cPt,
116119
otfmulticharm::PiccPt,
117-
otfmulticharm::LUTConfigId);
120+
otfmulticharm::LutConfigId);
118121

119122
} // namespace o2::aod
120123

ALICE3/TableProducer/alice3MulticharmFinder.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ struct Alice3MulticharmFinder {
199199
// Helper structs to pass candidate information
200200
struct {
201201
float radius{};
202+
float pt{};
203+
float eta{};
202204
o2::track::TrackParCov trackParCov;
203205
} thisXiCandidate;
204206

@@ -812,6 +814,7 @@ struct Alice3MulticharmFinder {
812814
thisXiccCandidate.eta, thisXiccCandidate.dca,
813815
thisXicCandidate.mass, thisXicCandidate.pt,
814816
thisXicCandidate.eta, thisXicCandidate.dca,
817+
thisXiCandidate.pt, thisXiCandidate.eta,
815818
xi.dcaXYCascToPV(), xi.dcaZCascToPV(),
816819
xicdcaXY, xicdcaZ,
817820
xiccdcaXY, xiccdcaZ,
@@ -886,6 +889,8 @@ struct Alice3MulticharmFinder {
886889
hist<TH1>("hDCAzXi")->Fill(xi.dcaZ() * ToMicrons);
887890
hist<TH1>("hMinXiDecayRadius")->Fill(xiCand.cascRadius());
888891
thisXiCandidate.radius = xiCand.cascRadius();
892+
thisXiCandidate.pt = xi.pt();
893+
thisXiCandidate.eta = xi.eta();
889894
thisXiCandidate.trackParCov = getTrackParCov(xi);
890895
processFindXicc(collision, xiCand, picTracksGrouped, piccTracksGrouped);
891896
}
@@ -971,6 +976,8 @@ struct Alice3MulticharmFinder {
971976
std::array<float, NCovMatElements> cascCovMat{};
972977
std::copy(xiCand.covMat(), xiCand.covMat() + NCovMatElements, cascCovMat.begin());
973978
thisXiCandidate.radius = xiCand.cascradius();
979+
thisXiCandidate.pt = xiCand.pt();
980+
thisXiCandidate.eta = xiCand.eta();
974981
thisXiCandidate.trackParCov = o2::track::TrackParCov(cascSV, cascP, cascCovMat, chargeCascade);
975982
processFindXicc(collision, xiCand, picTracksGrouped, piccTracksGrouped);
976983
}

ALICE3/Tasks/alice3Multicharm.cxx

Lines changed: 93 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ struct Alice3Multicharm {
5656
static constexpr float ToMicrons = 1e+4;
5757

5858
struct : ConfigurableGroup {
59-
std::string prefix = "bdt"; // JSON group name
59+
std::string prefix = "bdt";
6060
Configurable<std::string> ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
6161
Configurable<std::string> localPath{"localPath", "MCharm_BDTModel.onnx", "(std::string) Path to the local .onnx file."};
6262
Configurable<std::string> pathCCDB{"pathCCDB", "Users/j/jekarlss/MLModels", "Path on CCDB"};
@@ -80,34 +80,72 @@ struct Alice3Multicharm {
8080
ConfigurableAxis axisBDTScoreFine{"axisBDTScoreFine", {1000, 0, 1}, "BDT Score for 1D histogram"};
8181
ConfigurableAxis axisPt{"axisPt", {VARIABLE_WIDTH, 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f, 2.2f, 2.4f, 2.6f, 2.8f, 3.0f, 3.2f, 3.4f, 3.6f, 3.8f, 4.0f, 4.4f, 4.8f, 5.2f, 5.6f, 6.0f, 6.5f, 7.0f, 7.5f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 17.0f, 19.0f, 21.0f, 23.0f, 25.0f, 30.0f, 35.0f, 40.0f, 50.0f}, "pt axis for QA histograms"};
8282

83-
Configurable<float> xiMinDCAxy{"xiMinDCAxy", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
84-
Configurable<float> xiMinDCAz{"xiMinDCAz", -1, "[0] in |DCAz| > [0]+[1]/pT"};
85-
Configurable<float> xiMinRadius{"xiMinRadius", -1, "Minimum R2D for Xic decay (cm)"};
86-
87-
Configurable<float> picMinDCAxy{"picMinDCAxy", -1, "[0] in |DCAz| > [0]+[1]/pT"};
88-
Configurable<float> picMinDCAz{"picMinDCAz", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
89-
Configurable<float> picMinPt{"picMinPt", -1, "Minimum pT for Xic pions"};
90-
91-
Configurable<float> piccMinDCAxy{"piccMinDCAxy", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
92-
Configurable<float> piccMinDCAz{"piccMinDCAz", -1, "[0] in |DCAz| > [0]+[1]/pT"};
93-
Configurable<float> piccMinPt{"piccMinPt", -1, "Minimum pT for Xicc pions"};
94-
95-
Configurable<float> xicMaxDauDCA{"xicMaxDauDCA", 1e+4, "DCA between Xic daughters (cm)"};
96-
Configurable<float> xicMinDCAxy{"xicMinDCAxy", -1, "[0] in |DCAz| > [0]+[1]/pT"};
97-
Configurable<float> xicMinDCAz{"xicMinDCAz", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
98-
Configurable<float> xiccMaxDCAxy{"xiccMaxDCAxy", 1e+4, "Maximum DCAxy"};
99-
Configurable<float> xiccMaxDCAz{"xiccMaxDCAz", 1e+4, "Maximum DCAz"};
100-
Configurable<float> xicMinRadius{"xicMinRadius", -1, "Minimum R2D for Xic decay (cm)"};
101-
Configurable<float> xicMinDecayDistanceFromPV{"xicMinDecayDistanceFromPV", -1, "Minimum distance for Xic decay from PV (cm)"};
102-
Configurable<float> xicMinProperLength{"xicMinProperLength", -1, "Minimum proper length for Xic decay (cm)"};
103-
Configurable<float> xicMaxProperLength{"xicMaxProperLength", 1e+4, "Minimum proper length for Xic decay (cm)"};
104-
105-
Configurable<float> xiccMaxDauDCA{"xiccMaxDauDCA", 1e+4, "DCA between Xicc daughters (cm)"};
106-
Configurable<float> xiccMinRadius{"xiccMinRadius", -1, "Minimum R2D for Xicc decay (cm)"};
107-
Configurable<float> xiccMinProperLength{"xiccMinProperLength", -1, "Minimum proper length for Xicc decay (cm)"};
108-
Configurable<float> xiccMaxProperLength{"xiccMaxProperLength", 1e+4, "Minimum proper length for Xicc decay (cm)"};
109-
Configurable<int> otfConfig{"otfConfig", 0, "OTF configuration flag"};
83+
struct : ConfigurableGroup {
84+
std::string prefix = "selVals";
85+
Configurable<float> xiMinConstDCAxy{"xiMinConstDCAxy", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
86+
Configurable<float> xiMinPtDepDCAxy{"xiMinPtDepDCAxy", 0, "[1] in |DCAxy| > [0]+[1]/pT"};
87+
Configurable<float> xiMinConstDCAz{"xiMinConstDCAz", -1, "[0] in |DCAz| > [0]+[1]/pT"};
88+
Configurable<float> xiMinPtDepDCAz{"xiMinPtDepDCAz", 0, "[1] in |DCAz| > [0]+[1]/pT"};
89+
Configurable<float> xiMinRadius{"xiMinRadius", -1, "Minimum R2D for Xi decay (cm)"};
90+
91+
Configurable<float> picMinConstDCAxy{"picMinConstDCAxy", -1, "[0] in |DCAz| > [0]+[1]/pT"};
92+
Configurable<float> picMinPtDepDCAxy{"picMinPtDepDCAxy", 0, "[1] in |DCAz| > [0]+[1]/pT"};
93+
Configurable<float> picMinConstDCAz{"picMinConstDCAz", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
94+
Configurable<float> picMinPtDepDCAz{"picMinPtDepDCAz", 0, "[1] in |DCAxy| > [0]+[1]/pT"};
95+
Configurable<float> picMinPt{"picMinPt", -1, "Minimum pT for Xic pions"};
96+
97+
Configurable<float> piccMinConstDCAxy{"piccMinConstDCAxy", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
98+
Configurable<float> piccMinPtDepDCAxy{"piccMinPtDepDCAxy", 0, "[1] in |DCAxy| > [0]+[1]/pT"};
99+
Configurable<float> piccMinConstDCAz{"piccMinConstDCAz", -1, "[0] in |DCAz| > [0]+[1]/pT"};
100+
Configurable<float> piccMinPtDepDCAz{"piccMinPtDepDCAz", 0, "[1] in |DCAz| > [0]+[1]/pT"};
101+
Configurable<float> piccMinPt{"piccMinPt", -1, "Minimum pT for Xicc pions"};
102+
103+
Configurable<float> xicMinConstDCAxy{"xicMinConstDCAxy", -1, "[0] in |DCAz| > [0]+[1]/pT"};
104+
Configurable<float> xicMinConstDCAz{"xicMinConstDCAz", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
105+
Configurable<float> xicMinPtDepDCAxy{"xicMinPtDepDCAxy", -1, "[0] in |DCAz| > [0]+[1]/pT"};
106+
Configurable<float> xicMinPtDepDCAz{"xicMinPtDepDCAz", -1, "[0] in |DCAxy| > [0]+[1]/pT"};
107+
Configurable<float> xicMaxDauDCA{"xicMaxDauDCA", 1e+4, "DCA between Xic daughters (cm)"};
108+
Configurable<float> xicMinRadius{"xicMinRadius", -1, "Minimum R2D for Xic decay (cm)"};
109+
Configurable<float> xicMinDecayDistanceFromPV{"xicMinDecayDistanceFromPV", -1, "Minimum distance for Xic decay from PV (cm)"};
110+
Configurable<float> xicMinProperLength{"xicMinProperLength", -1, "Minimum proper length for Xic decay (cm)"};
111+
Configurable<float> xicMaxProperLength{"xicMaxProperLength", 1e+4, "Minimum proper length for Xic decay (cm)"};
112+
113+
Configurable<float> xiccMaxDCAxy{"xiccMaxDCAxy", 1e+4, "Maximum DCAxy"};
114+
Configurable<float> xiccMaxDCAz{"xiccMaxDCAz", 1e+4, "Maximum DCAz"};
115+
Configurable<float> xiccMaxDauDCA{"xiccMaxDauDCA", 1e+4, "DCA between Xicc daughters (cm)"};
116+
Configurable<float> xiccMinRadius{"xiccMinRadius", -1, "Minimum R2D for Xicc decay (cm)"};
117+
Configurable<float> xiccMinProperLength{"xiccMinProperLength", -1, "Minimum proper length for Xicc decay (cm)"};
118+
Configurable<float> xiccMaxProperLength{"xiccMaxProperLength", 1e+4, "Minimum proper length for Xicc decay (cm)"};
119+
} selVals;
110120

121+
struct : ConfigurableGroup {
122+
std::string prefix = "selVals";
123+
Configurable<bool> applyXiMinDCAxy{"applyXiMinDCAxy", false, "Apply |DCAxy| > [0]+[1]/pT"};
124+
Configurable<bool> applyXiMinDCAz{"applyXiMinDCAz", false, "Apply |DCAz| > [0]+[1]/pT"};
125+
Configurable<bool> applyXiMinRadius{"applyXiMinRadius", false, "Apply min radius"};
126+
127+
Configurable<bool> applyPicMinDCAxy{"applyPicMinDCAxy", false, "Apply |DCAxy| > [0]+[1]/pT"};
128+
Configurable<bool> applyPicMinDCAz{"applyPicMinDCAz", false, "Apply |DCAz| > [0]+[1]/pT"};
129+
Configurable<bool> applyPiccMinDCAxy{"applyPiccMinDCAxy", false, "Apply |DCAxy| > [0]+[1]/pT"};
130+
Configurable<bool> applyPiccMinDCAz{"applyPiccMinDCAz", false, "Apply |DCAz| > [0]+[1]/pT"};
131+
132+
Configurable<bool> applyXicMinDCAxy{"applyXicMinDCAxy", false, "Apply |DCAxy| > [0]+[1]/pT"};
133+
Configurable<bool> applyXicMinDCAz{"applyXicMinDCAz", false, "Apply |DCAz| > [0]+[1]/pT"};
134+
Configurable<bool> applyXicMinRadius{"applyXicMinRadius", false, "Apply min radius"};
135+
Configurable<bool> applyXicMaxDauDCA{"applyXicMaxDauDCA", false, "Apply max dau dca"};
136+
Configurable<bool> applyXicMinDistanceFromPV{"applyXicMinDistanceFromPV", false, "Apply min distance from PV (3D)"};
137+
Configurable<bool> applyXicMinProperLength{"applyXicMinProperLength", false, "Apply min proper length"};
138+
Configurable<bool> applyXicMaxProperLength{"applyXicMaxProperLength", false, "Apply max proper length"};
139+
140+
Configurable<bool> applyXiccMinDCAxy{"applyXiccMinDCAxy", false, "Apply |DCAxy| > [0]+[1]/pT"};
141+
Configurable<bool> applyXiccMinDCAz{"applyXiccMinDCAz", false, "Apply |DCAz| > [0]+[1]/pT"};
142+
Configurable<bool> applyXiccMinRadius{"applyXiccMinRadius", false, "Apply min radius"};
143+
Configurable<bool> applyXiccMaxDauDCA{"applyXiccMaxDauDCA", false, "Apply max dau dca"};
144+
Configurable<bool> applyXiccMinProperLength{"applyXiccMinProperLength", false, "Apply min proper length"};
145+
Configurable<bool> applyXiccMaxProperLength{"applyXiccMaxProperLength", false, "Apply max proper length"};
146+
} selFlags;
147+
148+
Configurable<int> otfConfig{"otfConfig", 0, "OTF configuration flag"};
111149
Filter configFilter = (aod::otfmulticharm::lutConfigId == otfConfig);
112150

113151
void init(InitContext&)
@@ -162,16 +200,16 @@ struct Alice3Multicharm {
162200
hMCharmBuilding->GetXaxis()->SetBinLabel(1, "nTotalCandidates");
163201
hMCharmBuilding->GetXaxis()->SetBinLabel(2, "xicMaxDauDCA");
164202
hMCharmBuilding->GetXaxis()->SetBinLabel(3, "xiccMaxDauDCA");
165-
hMCharmBuilding->GetXaxis()->SetBinLabel(4, "xiMinDCAxy");
166-
hMCharmBuilding->GetXaxis()->SetBinLabel(5, "xiMinDCAz");
203+
hMCharmBuilding->GetXaxis()->SetBinLabel(4, "xiMinConstDCAxy");
204+
hMCharmBuilding->GetXaxis()->SetBinLabel(5, "xiMinConstDCAz");
167205
hMCharmBuilding->GetXaxis()->SetBinLabel(6, "pi1cMinDCAxy");
168206
hMCharmBuilding->GetXaxis()->SetBinLabel(7, "pi1cMinDCAz");
169207
hMCharmBuilding->GetXaxis()->SetBinLabel(8, "pi2cMinDCAxy");
170208
hMCharmBuilding->GetXaxis()->SetBinLabel(9, "pi2cMinDCAz");
171-
hMCharmBuilding->GetXaxis()->SetBinLabel(10, "piccMinDCAxy");
172-
hMCharmBuilding->GetXaxis()->SetBinLabel(11, "piccMinDCAz");
173-
hMCharmBuilding->GetXaxis()->SetBinLabel(12, "xicMinDCAxy");
174-
hMCharmBuilding->GetXaxis()->SetBinLabel(13, "xicMinDCAz");
209+
hMCharmBuilding->GetXaxis()->SetBinLabel(10, "piccMinConstDCAxy");
210+
hMCharmBuilding->GetXaxis()->SetBinLabel(11, "piccMinConstDCAz");
211+
hMCharmBuilding->GetXaxis()->SetBinLabel(12, "xicMinConstDCAxy");
212+
hMCharmBuilding->GetXaxis()->SetBinLabel(13, "xicMinConstDCAz");
175213
hMCharmBuilding->GetXaxis()->SetBinLabel(14, "xiccMaxDCAxy");
176214
hMCharmBuilding->GetXaxis()->SetBinLabel(15, "xiccMaxDCAz");
177215
hMCharmBuilding->GetXaxis()->SetBinLabel(16, "xicMinRadius");
@@ -334,107 +372,107 @@ struct Alice3Multicharm {
334372
}
335373

336374
histos.fill(HIST("hMCharmBuilding"), 0);
337-
if (xiccCand.xicDauDCA() > xicMaxDauDCA) {
375+
if (selFlags.applyXicMaxDauDCA && xiccCand.xicDauDCA() > selVals.xicMaxDauDCA) {
338376
continue;
339377
}
340378

341379
histos.fill(HIST("hMCharmBuilding"), 1);
342-
if (xiccCand.xiccDauDCA() > xiccMaxDauDCA) {
380+
if (selFlags.applyXiccMaxDauDCA && xiccCand.xiccDauDCA() > selVals.xiccMaxDauDCA) {
343381
continue;
344382
}
345383

346384
histos.fill(HIST("hMCharmBuilding"), 2);
347-
if (std::fabs(xiccCand.xiDCAxy()) < xiMinDCAxy) {
385+
if (selFlags.applyXiMinDCAxy && std::fabs(xiccCand.xiDCAxy()) < selVals.xiMinConstDCAxy + (selVals.xiMinPtDepDCAxy / xiccCand.xiPt())) {
348386
continue;
349387
}
350388

351389
histos.fill(HIST("hMCharmBuilding"), 3);
352-
if (std::fabs(xiccCand.xiDCAz()) < xiMinDCAz) {
390+
if (selFlags.applyXiMinDCAz && std::fabs(xiccCand.xiDCAz()) < selVals.xiMinConstDCAz + (selVals.xiMinPtDepDCAz / xiccCand.xiPt())) {
353391
continue;
354392
}
355393

356394
histos.fill(HIST("hMCharmBuilding"), 4);
357-
if (std::fabs(xiccCand.pi1cDCAxy()) < picMinDCAxy) {
395+
if (selFlags.applyPicMinDCAxy && std::fabs(xiccCand.pi1cDCAxy()) < selVals.picMinConstDCAxy + (selVals.picMinPtDepDCAxy / xiccCand.pi1cPt())) {
358396
continue;
359397
}
360398

361399
histos.fill(HIST("hMCharmBuilding"), 5);
362-
if (std::fabs(xiccCand.pi1cDCAz()) < picMinDCAz) {
400+
if (selFlags.applyPicMinDCAz && std::fabs(xiccCand.pi1cDCAz()) < selVals.picMinConstDCAz + (selVals.picMinPtDepDCAz / xiccCand.pi1cPt())) {
363401
continue;
364402
}
365403

366404
histos.fill(HIST("hMCharmBuilding"), 6);
367-
if (std::fabs(xiccCand.pi2cDCAxy()) < picMinDCAxy) {
405+
if (selFlags.applyPicMinDCAxy && std::fabs(xiccCand.pi2cDCAxy()) < selVals.picMinConstDCAxy + (selVals.picMinPtDepDCAxy / xiccCand.pi2cPt())) {
368406
continue;
369407
}
370408

371409
histos.fill(HIST("hMCharmBuilding"), 7);
372-
if (std::fabs(xiccCand.pi2cDCAz()) < picMinDCAz) {
410+
if (selFlags.applyPicMinDCAz && std::fabs(xiccCand.pi2cDCAz()) < selVals.picMinConstDCAz + (selVals.picMinPtDepDCAz / xiccCand.pi2cPt())) {
373411
continue;
374412
}
375413

376414
histos.fill(HIST("hMCharmBuilding"), 8);
377-
if (std::fabs(xiccCand.piccDCAxy()) < piccMinDCAxy) {
415+
if (selFlags.applyPiccMinDCAxy && std::fabs(xiccCand.piccDCAxy()) < selVals.piccMinConstDCAxy + (selVals.piccMinPtDepDCAxy / xiccCand.piccPt())) {
378416
continue;
379417
}
380418

381419
histos.fill(HIST("hMCharmBuilding"), 9);
382-
if (std::fabs(xiccCand.piccDCAz()) < piccMinDCAz) {
420+
if (selFlags.applyPiccMinDCAz && std::fabs(xiccCand.piccDCAz()) < selVals.piccMinConstDCAz + (selVals.piccMinPtDepDCAz / xiccCand.piccPt())) {
383421
continue;
384422
}
385423

386424
histos.fill(HIST("hMCharmBuilding"), 10);
387-
if (std::fabs(xiccCand.xicDCAxy()) < xicMinDCAxy) {
425+
if (selFlags.applyXicMinDCAxy && std::fabs(xiccCand.xicDCAxy()) < selVals.xicMinConstDCAxy + (selVals.xicMinPtDepDCAxy / xiccCand.xicPt())) {
388426
continue;
389427
}
390428

391429
histos.fill(HIST("hMCharmBuilding"), 11);
392-
if (std::fabs(xiccCand.xicDCAz()) < xicMinDCAz) {
430+
if (selFlags.applyXicMinDCAz && std::fabs(xiccCand.xicDCAz()) < selVals.xicMinConstDCAz + (selVals.xicMinPtDepDCAz / xiccCand.xicPt())) {
393431
continue;
394432
}
395433

396434
histos.fill(HIST("hMCharmBuilding"), 12);
397-
if (std::fabs(xiccCand.xiccDCAxy()) > xiccMaxDCAxy) {
435+
if (selFlags.applyXiccMinDCAxy && std::fabs(xiccCand.xiccDCAxy()) > selVals.xiccMaxDCAxy) {
398436
continue;
399437
}
400438

401439
histos.fill(HIST("hMCharmBuilding"), 13);
402-
if (std::fabs(xiccCand.xiccDCAz()) > xiccMaxDCAz) {
440+
if (selFlags.applyXiccMinDCAz && std::fabs(xiccCand.xiccDCAz()) > selVals.xiccMaxDCAz) {
403441
continue;
404442
}
405443

406444
histos.fill(HIST("hMCharmBuilding"), 14);
407-
if (xiccCand.xicDecayRadius2D() < xicMinRadius) {
445+
if (selFlags.applyXicMinRadius && xiccCand.xicDecayRadius2D() < selVals.xicMinRadius) {
408446
continue;
409447
}
410448

411449
histos.fill(HIST("hMCharmBuilding"), 15);
412-
if (xiccCand.xiccDecayRadius2D() < xiccMinRadius) {
450+
if (selFlags.applyXiccMinRadius && xiccCand.xiccDecayRadius2D() < selVals.xiccMinRadius) {
413451
continue;
414452
}
415453

416454
histos.fill(HIST("hMCharmBuilding"), 16);
417-
if (xiccCand.xicProperLength() < xicMinProperLength) {
455+
if (selFlags.applyXicMinProperLength && xiccCand.xicProperLength() < selVals.xicMinProperLength) {
418456
continue;
419457
}
420458

421459
histos.fill(HIST("hMCharmBuilding"), 17);
422-
if (xiccCand.xicProperLength() > xicMaxProperLength) {
460+
if (selFlags.applyXicMaxProperLength && xiccCand.xicProperLength() > selVals.xicMaxProperLength) {
423461
continue;
424462
}
425463

426464
histos.fill(HIST("hMCharmBuilding"), 18);
427-
if (xiccCand.xiccProperLength() < xiccMinProperLength) {
465+
if (selFlags.applyXiccMinProperLength && xiccCand.xiccProperLength() < selVals.xiccMinProperLength) {
428466
continue;
429467
}
430468

431469
histos.fill(HIST("hMCharmBuilding"), 19);
432-
if (xiccCand.xiccProperLength() > xiccMaxProperLength) {
470+
if (selFlags.applyXiccMaxProperLength && xiccCand.xiccProperLength() > selVals.xiccMaxProperLength) {
433471
continue;
434472
}
435473

436474
histos.fill(HIST("hMCharmBuilding"), 20);
437-
if (xiccCand.xicDistanceFromPV() < xicMinDecayDistanceFromPV) {
475+
if (selFlags.applyXicMinDistanceFromPV && xiccCand.xicDistanceFromPV() < selVals.xicMinDecayDistanceFromPV) {
438476
continue;
439477
}
440478

0 commit comments

Comments
 (0)