Skip to content

Commit 6e8eeef

Browse files
authored
[PWGJE] Adding D+ jets to framework (#9828)
1 parent f8b4426 commit 6e8eeef

28 files changed

+764
-24
lines changed

PWGJE/Core/JetCandidateUtilities.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,11 @@ auto matchedParticle(const T& candidate, const U& tracks, const V& particles)
225225
* @param candidate candidate that is being checked
226226
* @param table the table to be sliced
227227
*/
228-
template <typename T, typename U, typename V, typename M, typename N, typename O>
229-
auto slicedPerCandidate(T const& table, U const& candidate, V const& perD0Candidate, M const& perLcCandidate, N const& perBplusCandidate, O const& perDielectronCandidate)
228+
template <typename T, typename U, typename V, typename M, typename N, typename O, typename P>
229+
auto slicedPerCandidate(T const& table, U const& candidate, V const& perD0Candidate, M const& perDplusCandidate, N const& perLcCandidate, O const& perBplusCandidate, P const& perDielectronCandidate)
230230
{
231231
if constexpr (jethfutilities::isHFCandidate<U>()) {
232-
return jethfutilities::slicedPerHFCandidate(table, candidate, perD0Candidate, perLcCandidate, perBplusCandidate);
232+
return jethfutilities::slicedPerHFCandidate(table, candidate, perD0Candidate, perDplusCandidate, perLcCandidate, perBplusCandidate);
233233
} else if constexpr (jetdqutilities::isDielectronCandidate<U>()) {
234234
return jetdqutilities::slicedPerDielectronCandidate(table, candidate, perDielectronCandidate);
235235
} else {
@@ -243,11 +243,11 @@ auto slicedPerCandidate(T const& table, U const& candidate, V const& perD0Candid
243243
* @param candidate candidate that is being checked
244244
* @param table the table to be sliced
245245
*/
246-
template <typename T, typename U, typename V, typename M, typename N, typename O, typename P>
247-
auto slicedPerCandidateCollision(T const& table, U const& candidates, V const& collision, M const& D0CollisionPerCollision, N const& LcCollisionPerCollision, O const& BplusCollisionPerCollision, P const& DielectronCollisionPerCollision)
246+
template <typename T, typename U, typename V, typename M, typename N, typename O, typename P, typename Q>
247+
auto slicedPerCandidateCollision(T const& table, U const& candidates, V const& collision, M const& D0CollisionPerCollision, N const& DplusCollisionPerCollision, O const& LcCollisionPerCollision, P const& BplusCollisionPerCollision, Q const& DielectronCollisionPerCollision)
248248
{
249249
if constexpr (jethfutilities::isHFTable<U>() || jethfutilities::isHFMcTable<U>()) {
250-
return jethfutilities::slicedPerHFCollision(table, candidates, collision, D0CollisionPerCollision, LcCollisionPerCollision, BplusCollisionPerCollision);
250+
return jethfutilities::slicedPerHFCollision(table, candidates, collision, D0CollisionPerCollision, DplusCollisionPerCollision, LcCollisionPerCollision, BplusCollisionPerCollision);
251251
} else if constexpr (jetdqutilities::isDielectronTable<U>() || jetdqutilities::isDielectronMcTable<U>()) {
252252
return jetdqutilities::slicedPerDielectronCollision(table, candidates, collision, DielectronCollisionPerCollision);
253253
} else {

PWGJE/Core/JetHFUtilities.h

Lines changed: 147 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,42 @@ constexpr bool isD0McTable()
8383
return isD0McCandidate<typename T::iterator>() || isD0McCandidate<typename T::filtered_iterator>();
8484
}
8585

86+
/**
87+
* returns true if the candidate is from a D+ table
88+
*/
89+
template <typename T>
90+
constexpr bool isDplusCandidate()
91+
{
92+
return std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusData::iterator> || std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusData::filtered_iterator> || std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusMCD::iterator> || std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusMCD::filtered_iterator>;
93+
}
94+
95+
/**
96+
* returns true if the particle is from a D+ MC table
97+
*/
98+
template <typename T>
99+
constexpr bool isDplusMcCandidate()
100+
{
101+
return std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusMCP::iterator> || std::is_same_v<std::decay_t<T>, o2::aod::CandidatesDplusMCP::filtered_iterator>;
102+
}
103+
104+
/**
105+
* returns true if the table is a D+ table
106+
*/
107+
template <typename T>
108+
constexpr bool isDplusTable()
109+
{
110+
return isDplusCandidate<typename T::iterator>() || isDplusCandidate<typename T::filtered_iterator>();
111+
}
112+
113+
/**
114+
* returns true if the table is a D+ MC table
115+
*/
116+
template <typename T>
117+
constexpr bool isDplusMcTable()
118+
{
119+
return isDplusMcCandidate<typename T::iterator>() || isDplusMcCandidate<typename T::filtered_iterator>();
120+
}
121+
86122
/**
87123
* returns true if the candidate is from a Lc table
88124
*/
@@ -164,6 +200,8 @@ constexpr bool isHFCandidate()
164200
{
165201
if constexpr (isD0Candidate<T>()) {
166202
return true;
203+
} else if constexpr (isDplusCandidate<T>()) {
204+
return true;
167205
} else if constexpr (isLcCandidate<T>()) {
168206
return true;
169207
} else if constexpr (isBplusCandidate<T>()) {
@@ -182,6 +220,8 @@ constexpr bool isHFMcCandidate()
182220
{
183221
if constexpr (isD0McCandidate<T>()) {
184222
return true;
223+
} else if constexpr (isDplusMcCandidate<T>()) {
224+
return true;
185225
} else if constexpr (isLcMcCandidate<T>()) {
186226
return true;
187227
} else if constexpr (isBplusMcCandidate<T>()) {
@@ -199,6 +239,8 @@ constexpr bool isHFTable()
199239
{
200240
if constexpr (isD0Candidate<typename T::iterator>() || isD0Candidate<typename T::filtered_iterator>()) {
201241
return true;
242+
} else if constexpr (isDplusCandidate<typename T::iterator>() || isDplusCandidate<typename T::filtered_iterator>()) {
243+
return true;
202244
} else if constexpr (isLcCandidate<typename T::iterator>() || isLcCandidate<typename T::filtered_iterator>()) {
203245
return true;
204246
} else if constexpr (isBplusCandidate<typename T::iterator>() || isBplusCandidate<typename T::filtered_iterator>()) {
@@ -216,6 +258,8 @@ constexpr bool isHFMcTable()
216258
{
217259
if constexpr (isD0McCandidate<typename T::iterator>() || isD0McCandidate<typename T::filtered_iterator>()) {
218260
return true;
261+
} else if constexpr (isDplusMcCandidate<typename T::iterator>() || isDplusMcCandidate<typename T::filtered_iterator>()) {
262+
return true;
219263
} else if constexpr (isLcMcCandidate<typename T::iterator>() || isLcMcCandidate<typename T::filtered_iterator>()) {
220264
return true;
221265
} else if constexpr (isBplusMcCandidate<typename T::iterator>() || isBplusMcCandidate<typename T::filtered_iterator>()) {
@@ -238,6 +282,12 @@ constexpr bool isMatchedHFCandidate(T const& candidate)
238282
} else {
239283
return false;
240284
}
285+
} else if constexpr (isDplusCandidate<T>()) {
286+
if (std::abs(candidate.flagMcMatchRec()) == 1 << o2::aod::hf_cand_3prong::DecayType::DplusToPiKPi) {
287+
return true;
288+
} else {
289+
return false;
290+
}
241291
} else if constexpr (isLcCandidate<T>()) {
242292
if (std::abs(candidate.flagMcMatchRec()) == 1 << o2::aod::hf_cand_3prong::DecayType::LcToPKPi) {
243293
return true;
@@ -256,6 +306,12 @@ constexpr bool isMatchedHFCandidate(T const& candidate)
256306
} else {
257307
return false;
258308
}
309+
} else if constexpr (isDplusMcCandidate<T>()) {
310+
if (std::abs(candidate.flagMcMatchGen()) == 1 << o2::aod::hf_cand_3prong::DecayType::DplusToPiKPi) {
311+
return true;
312+
} else {
313+
return false;
314+
}
259315
} else if constexpr (isLcMcCandidate<T>()) {
260316
if (std::abs(candidate.flagMcMatchGen()) == 1 << o2::aod::hf_cand_3prong::DecayType::LcToPKPi) {
261317
return true;
@@ -289,6 +345,12 @@ bool isHFDaughterTrack(T& track, U& candidate, V const& /*tracks*/)
289345
} else {
290346
return false;
291347
}
348+
} else if constexpr (isDplusCandidate<U>()) {
349+
if (candidate.prong0Id() == track.globalIndex() || candidate.prong1Id() == track.globalIndex() || candidate.prong2Id() == track.globalIndex()) {
350+
return true;
351+
} else {
352+
return false;
353+
}
292354
} else if constexpr (isLcCandidate<U>()) {
293355
if (candidate.prong0Id() == track.globalIndex() || candidate.prong1Id() == track.globalIndex() || candidate.prong2Id() == track.globalIndex()) {
294356
return true;
@@ -340,11 +402,13 @@ auto matchedHFParticle(const T& candidate, const U& /*tracks*/, const V& /*parti
340402
* @param candidate HF candidate that is being checked
341403
* @param table the table to be sliced
342404
*/
343-
template <typename T, typename U, typename V, typename M, typename N>
344-
auto slicedPerHFCandidate(T const& table, U const& candidate, V const& perD0Candidate, M const& perLcCandidate, N const& perBplusCandidate)
405+
template <typename T, typename U, typename V, typename M, typename N, typename O>
406+
auto slicedPerHFCandidate(T const& table, U const& candidate, V const& perD0Candidate, M const& perDplusCandidate, N const& perLcCandidate, O const& perBplusCandidate)
345407
{
346408
if constexpr (isD0Candidate<U>()) {
347409
return table.sliceBy(perD0Candidate, candidate.globalIndex());
410+
} else if constexpr (isDplusCandidate<U>()) {
411+
return table.sliceBy(perDplusCandidate, candidate.globalIndex());
348412
} else if constexpr (isLcCandidate<U>()) {
349413
return table.sliceBy(perLcCandidate, candidate.globalIndex());
350414
} else if constexpr (isBplusCandidate<U>()) {
@@ -360,11 +424,13 @@ auto slicedPerHFCandidate(T const& table, U const& candidate, V const& perD0Cand
360424
* @param candidate HF candidate that is being checked
361425
* @param table the table to be sliced
362426
*/
363-
template <typename T, typename U, typename V, typename M, typename N, typename O>
364-
auto slicedPerHFCollision(T const& table, U const& /*candidates*/, V const& collision, M const& D0CollisionPerCollision, N const& LcCollisionPerCollision, O const& BplusCollisionPerCollision)
427+
template <typename T, typename U, typename V, typename M, typename N, typename O, typename P>
428+
auto slicedPerHFCollision(T const& table, U const& /*candidates*/, V const& collision, M const& D0CollisionPerCollision, N const& DplusCollisionPerCollision, O const& LcCollisionPerCollision, P const& BplusCollisionPerCollision)
365429
{
366430
if constexpr (isD0Table<U>() || isD0McTable<U>()) {
367431
return table.sliceBy(D0CollisionPerCollision, collision.globalIndex());
432+
} else if constexpr (isDplusTable<U>() || isDplusMcTable<U>()) {
433+
return table.sliceBy(DplusCollisionPerCollision, collision.globalIndex());
368434
} else if constexpr (isLcTable<U>() || isLcMcTable<U>()) {
369435
return table.sliceBy(LcCollisionPerCollision, collision.globalIndex());
370436
} else if constexpr (isBplusTable<U>() || isBplusMcTable<U>()) {
@@ -406,6 +472,8 @@ int getHFCandidatePDG(T const& /*candidate*/)
406472
{
407473
if constexpr (isD0Candidate<T>() || isD0McCandidate<T>()) {
408474
return static_cast<int>(o2::constants::physics::Pdg::kD0);
475+
} else if constexpr (isDplusCandidate<T>() || isDplusMcCandidate<T>()) {
476+
return static_cast<int>(o2::constants::physics::Pdg::kDPlus);
409477
} else if constexpr (isLcCandidate<T>() || isLcMcCandidate<T>()) {
410478
return static_cast<int>(o2::constants::physics::Pdg::kLambdaCPlus);
411479
} else if constexpr (isBplusCandidate<T>() || isBplusMcCandidate<T>()) {
@@ -423,6 +491,8 @@ int getHFTablePDG()
423491
{
424492
if constexpr (isD0Table<T>() || isD0McTable<T>()) {
425493
return static_cast<int>(o2::constants::physics::Pdg::kD0);
494+
} else if constexpr (isDplusTable<T>() || isDplusMcTable<T>()) {
495+
return static_cast<int>(o2::constants::physics::Pdg::kDPlus);
426496
} else if constexpr (isLcTable<T>() || isLcMcTable<T>()) {
427497
return static_cast<int>(o2::constants::physics::Pdg::kLambdaCPlus);
428498
} else if constexpr (isBplusTable<T>() || isBplusMcTable<T>()) {
@@ -442,6 +512,8 @@ float getHFCandidatePDGMass(T const& /*candidate*/)
442512
{
443513
if constexpr (isD0Candidate<T>() || isD0McCandidate<T>()) {
444514
return static_cast<float>(o2::constants::physics::MassD0);
515+
} else if constexpr (isDplusCandidate<T>() || isDplusMcCandidate<T>()) {
516+
return static_cast<float>(o2::constants::physics::MassDPlus);
445517
} else if constexpr (isLcCandidate<T>() || isLcMcCandidate<T>()) {
446518
return static_cast<float>(o2::constants::physics::MassLambdaCPlus);
447519
} else if constexpr (isBplusCandidate<T>() || isBplusMcCandidate<T>()) {
@@ -460,6 +532,8 @@ float getHFTablePDGMass()
460532
{
461533
if constexpr (isD0Table<T>() || isD0McTable<T>()) {
462534
return static_cast<float>(o2::constants::physics::MassD0);
535+
} else if constexpr (isDplusTable<T>() || isDplusMcTable<T>()) {
536+
return static_cast<float>(o2::constants::physics::MassDPlus);
463537
} else if constexpr (isLcTable<T>() || isLcMcTable<T>()) {
464538
return static_cast<float>(o2::constants::physics::MassLambdaCPlus);
465539
} else if constexpr (isBplusTable<T>() || isBplusMcTable<T>()) {
@@ -555,6 +629,72 @@ void fillD0CandidateTable(T const& candidate, U& D0ParTable, V& D0ParETable, M&
555629
}
556630
}
557631

632+
template <bool isMc, typename T, typename U, typename V, typename M, typename N>
633+
void fillDplusCandidateTable(T const& candidate, U& DplusParTable, V& DplusParETable, M& DplusMlTable, N& DplusMCDTable)
634+
{
635+
636+
DplusParTable(
637+
candidate.chi2PCA(),
638+
candidate.nProngsContributorsPV(),
639+
candidate.cpa(),
640+
candidate.cpaXY(),
641+
candidate.decayLength(),
642+
candidate.decayLengthXY(),
643+
candidate.decayLengthNormalised(),
644+
candidate.decayLengthXYNormalised(),
645+
candidate.ptProng0(),
646+
candidate.ptProng1(),
647+
candidate.ptProng2(),
648+
candidate.impactParameter0(),
649+
candidate.impactParameter1(),
650+
candidate.impactParameter2(),
651+
candidate.impactParameterNormalised0(),
652+
candidate.impactParameterNormalised1(),
653+
candidate.impactParameterNormalised2(),
654+
candidate.nSigTpcPi0(),
655+
candidate.nSigTofPi0(),
656+
candidate.nSigTpcTofPi0(),
657+
candidate.nSigTpcKa1(),
658+
candidate.nSigTofKa1(),
659+
candidate.nSigTpcTofKa1(),
660+
candidate.nSigTpcPi2(),
661+
candidate.nSigTofPi2(),
662+
candidate.nSigTpcTofPi2());
663+
664+
DplusParETable(
665+
candidate.xSecondaryVertex(),
666+
candidate.ySecondaryVertex(),
667+
candidate.zSecondaryVertex(),
668+
candidate.errorDecayLength(),
669+
candidate.errorDecayLengthXY(),
670+
candidate.rSecondaryVertex(),
671+
candidate.pProng0(),
672+
candidate.pProng1(),
673+
candidate.pProng2(),
674+
candidate.pxProng0(),
675+
candidate.pyProng0(),
676+
candidate.pzProng0(),
677+
candidate.pxProng1(),
678+
candidate.pyProng1(),
679+
candidate.pzProng1(),
680+
candidate.pxProng2(),
681+
candidate.pyProng2(),
682+
candidate.pzProng2(),
683+
candidate.errorImpactParameter0(),
684+
candidate.errorImpactParameter1(),
685+
candidate.errorImpactParameter2(),
686+
candidate.ct());
687+
688+
std::vector<float> mlScoresVector;
689+
auto mlScoresSpan = candidate.mlScores();
690+
std::copy(mlScoresSpan.begin(), mlScoresSpan.end(), std::back_inserter(mlScoresVector));
691+
DplusMlTable(mlScoresVector);
692+
693+
if constexpr (isMc) {
694+
DplusMCDTable(candidate.flagMcMatchRec(), candidate.originMcRec(), candidate.isCandidateSwapped());
695+
}
696+
}
697+
558698
template <bool isMc, typename T, typename U, typename V, typename M, typename N>
559699
void fillLcCandidateTable(T const& candidate, U& LcParTable, V& LcParETable, M& LcMlTable, N& LcMCDTable)
560700
{
@@ -712,6 +852,9 @@ void fillHFCandidateTable(T const& candidate, int32_t collisionIndex, U& HFBaseT
712852
if constexpr (isD0Candidate<T>()) {
713853
fillD0CandidateTable<isMc>(candidate, HFParTable, HFParETable, HFMlTable, HFMCDTable);
714854
}
855+
if constexpr (isDplusCandidate<T>()) {
856+
fillDplusCandidateTable<isMc>(candidate, HFParTable, HFParETable, HFMlTable, HFMCDTable);
857+
}
715858
if constexpr (isLcCandidate<T>()) {
716859
fillLcCandidateTable<isMc>(candidate, HFParTable, HFParETable, HFMlTable, HFMCDTable);
717860
}

PWGJE/DataModel/Jet.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ DECLARE_JET_TABLES_LEVELS(Charged, JTrackSub, HfD0Bases, HfD0PBases, "C");
179179
DECLARE_JET_TABLES_LEVELS(Full, JTrackSub, HfD0Bases, HfD0PBases, "F");
180180
DECLARE_JET_TABLES_LEVELS(Neutral, JTrackSub, HfD0Bases, HfD0PBases, "N");
181181
DECLARE_JET_TABLES_LEVELS(D0Charged, JTrackD0Sub, HfD0Bases, HfD0PBases, "D0");
182+
DECLARE_JET_TABLES_LEVELS(DplusCharged, JTrackDplusSub, HfDplusBases, HfDplusPBases, "DP");
182183
DECLARE_JET_TABLES_LEVELS(LcCharged, JTrackLcSub, HfLcBases, HfLcPBases, "Lc");
183184
DECLARE_JET_TABLES_LEVELS(BplusCharged, JTrackBplusSub, HfBplusBases, HfBplusPBases, "BP");
184185
DECLARE_JET_TABLES_LEVELS(V0Charged, JTrackSub, V0Cores, JV0Mcs, "V0");
@@ -219,6 +220,14 @@ using JetParticlesSubD0 = JMcParticleD0Subs;
219220
using McCollisionsD0 = o2::soa::Join<HfD0McCollBases, JD0McCollisionIds>;
220221
using CandidatesD0MCP = o2::soa::Join<HfD0PBases, JD0PIds>;
221222

223+
using CollisionsDplus = o2::soa::Join<HfDplusCollBases, JDplusCollisionIds>;
224+
using CandidatesDplusData = o2::soa::Join<HfDplusBases, HfDplusPars, HfDplusParEs, HfDplusSels, HfDplusMls, JDplusIds>;
225+
using CandidatesDplusMCD = o2::soa::Join<HfDplusBases, HfDplusPars, HfDplusParEs, HfDplusSels, HfDplusMls, HfDplusMcs, JDplusIds>;
226+
using JetTracksSubDplus = JTrackDplusSubs;
227+
using JetParticlesSubDplus = JMcParticleDplusSubs;
228+
using McCollisionsDplus = o2::soa::Join<HfDplusMcCollBases, JDplusMcCollisionIds>;
229+
using CandidatesDplusMCP = o2::soa::Join<HfDplusPBases, JDplusPIds>;
230+
222231
using CollisionsLc = o2::soa::Join<HfLcCollBases, JLcCollisionIds>;
223232
using CandidatesLcData = o2::soa::Join<HfLcBases, HfLcPars, HfLcParEs, HfLcSels, HfLcMls, JLcIds>;
224233
using CandidatesLcMCD = o2::soa::Join<HfLcBases, HfLcPars, HfLcParEs, HfLcSels, HfLcMls, HfLcMcs, JLcIds>;

PWGJE/DataModel/JetReducedDataHF.h

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,46 @@ DECLARE_SOA_TABLE(JDumD0MlDaus, "AOD", "JDumD0MLDAU",
6363
jdummyd0::DummyD0,
6464
o2::soa::Marker<2>);
6565

66+
namespace jdplusindices
67+
{
68+
DECLARE_SOA_INDEX_COLUMN(JCollision, collision);
69+
DECLARE_SOA_INDEX_COLUMN_FULL(Prong0, prong0, int, JTracks, "_0");
70+
DECLARE_SOA_INDEX_COLUMN_FULL(Prong1, prong1, int, JTracks, "_1");
71+
DECLARE_SOA_INDEX_COLUMN_FULL(Prong2, prong2, int, JTracks, "_2");
72+
DECLARE_SOA_INDEX_COLUMN(JMcCollision, mcCollision);
73+
DECLARE_SOA_INDEX_COLUMN(JMcParticle, mcParticle);
74+
} // namespace jdplusindices
75+
76+
DECLARE_SOA_TABLE_STAGED(JDplusCollisionIds, "JDPCOLLID",
77+
jdplusindices::JCollisionId);
78+
79+
DECLARE_SOA_TABLE_STAGED(JDplusMcCollisionIds, "JDPMCCOLLID",
80+
jdplusindices::JMcCollisionId);
81+
82+
DECLARE_SOA_TABLE_STAGED(JDplusIds, "JDPID",
83+
jdplusindices::JCollisionId,
84+
jdplusindices::Prong0Id,
85+
jdplusindices::Prong1Id,
86+
jdplusindices::Prong2Id);
87+
88+
DECLARE_SOA_TABLE_STAGED(JDplusPIds, "JDPPID",
89+
jdplusindices::JMcCollisionId,
90+
jdplusindices::JMcParticleId);
91+
92+
namespace jdummydplus
93+
{
94+
95+
DECLARE_SOA_COLUMN(DummyDplus, dummyDplus, bool);
96+
97+
} // namespace jdummydplus
98+
DECLARE_SOA_TABLE(JDumDplusParDaus, "AOD", "JDUMDPPARDAU",
99+
jdummydplus::DummyDplus,
100+
o2::soa::Marker<1>);
101+
102+
DECLARE_SOA_TABLE(JDumDplusMlDaus, "AOD", "JDUMDPMLDAU",
103+
jdummydplus::DummyDplus,
104+
o2::soa::Marker<2>);
105+
66106
namespace jlcindices
67107
{
68108
DECLARE_SOA_INDEX_COLUMN(JCollision, collision);

PWGJE/DataModel/JetSubstructure.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ DECLARE_SOA_COLUMN(JetNConstituents, jetNConstituents, int); //!
122122

123123
JETSUBSTRUCTURE_TABLES_DEF(C, "C", CJetCOs, "CJETCO", CEWSJetCOs, "CEWSJETCO", CMCDJetCOs, "CMCDJETCO", CMCPJetCOs, "CMCPJETCO");
124124
JETSUBSTRUCTURE_TABLES_DEF(D0C, "D0C", HfD0Bases, "HFD0BASE", HfD0Bases, "HFD0BASE", HfD0Bases, "HFD0BASE", HfD0PBases, "HFD0PBASE");
125-
JETSUBSTRUCTURE_TABLES_DEF(LcC, "LCC", HfLcBases, "HFLcBASE", HfLcBases, "HFLcBASE", HfLcBases, "HFLcBASE", HfLcPBases, "HFLcPBASE");
125+
JETSUBSTRUCTURE_TABLES_DEF(DplusC, "DPC", HfDplusBases, "HFDPBASE", HfDplusBases, "HFDPBASE", HfDplusBases, "HFDPBASE", HfDplusPBases, "HFDPPBASE");
126+
JETSUBSTRUCTURE_TABLES_DEF(LcC, "LCC", HfLcBases, "HFLCBASE", HfLcBases, "HFLCBASE", HfLcBases, "HFLCBASE", HfLcPBases, "HFLCPBASE");
126127
JETSUBSTRUCTURE_TABLES_DEF(BplusC, "BPC", HfBplusBases, "HFBPBASE", HfBplusBases, "HFBPBASE", HfBplusBases, "HFBPBASE", HfBplusPBases, "HFBPPBASE");
127128
JETSUBSTRUCTURE_TABLES_DEF(DielectronC, "DIELC", Dielectrons, "RTDIELECTRON", Dielectrons, "RTDIELECTRON", Dielectrons, "RTDIELECTRON", JDielectronMcs, "JDIELMC");
128129

0 commit comments

Comments
 (0)