Skip to content

Commit ef6e91f

Browse files
committed
Feat: initial mc support in producer
1 parent 2c3bc27 commit ef6e91f

File tree

12 files changed

+587
-82
lines changed

12 files changed

+587
-82
lines changed

PWGCF/Femto/Core/cascadeBuilder.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -379,8 +379,8 @@ class CascadeBuilder
379379
LOG(info) << "Initialization done...";
380380
}
381381

382-
template <modes::System system, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
383-
void fillCascades(T1 const& col, T2& collisionBuilder, T3& collisionProducts, T4& trackProducts, T5& cascadeProducts, T6 const& fullCascades, T7 const& fullTracks, T8& trackBuilder, T9& indexMap)
382+
template <modes::System system, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
383+
void fillCascades(T1 const& col, T2& collisionBuilder, T3& collisionProducts, T4& trackProducts, T5& cascadeProducts, T6 const& fullCascades, T7 const& fullTracks, T8& trackBuilder)
384384
{
385385
if (!mFillAnyTable) {
386386
return;
@@ -404,9 +404,9 @@ class CascadeBuilder
404404

405405
collisionBuilder.template fillCollision<system>(collisionProducts, col);
406406

407-
bachelorIndex = trackBuilder.template getDaughterIndex<modes::Track::kCascadeBachelor>(bachelor, trackProducts, collisionProducts, indexMap);
408-
posDaughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kV0Daughter>(posDaughter, trackProducts, collisionProducts, indexMap);
409-
negDaughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kV0Daughter>(negDaughter, trackProducts, collisionProducts, indexMap);
407+
bachelorIndex = trackBuilder.template getDaughterIndex<modes::Track::kCascadeBachelor>(bachelor, trackProducts, collisionProducts);
408+
posDaughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kV0Daughter>(posDaughter, trackProducts, collisionProducts);
409+
negDaughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kV0Daughter>(negDaughter, trackProducts, collisionProducts);
410410

411411
fillCascade(collisionProducts, cascadeProducts, cascade, col, bachelorIndex, posDaughterIndex, negDaughterIndex);
412412
}

PWGCF/Femto/Core/collisionBuilder.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ class CollisionBuilder
446446
return;
447447
}
448448

449-
if (mCollisionAleadyFilled) {
449+
if (mCollisionAlreadyFilled) {
450450
return;
451451
}
452452

@@ -488,17 +488,28 @@ class CollisionBuilder
488488
}
489489
}
490490

491-
mCollisionAleadyFilled = true;
491+
mCollisionAlreadyFilled = true;
492492
}
493493

494-
void reset()
494+
template <modes::System system, typename T1, typename T2, typename T3, typename T4, typename T5>
495+
void fillMcCollision(T1& collisionProducts, T2 const& col, T3 const& mcCols, T4& mcProducts, T5& mcBuilder)
496+
{
497+
if (mCollisionAlreadyFilled) {
498+
return;
499+
}
500+
this->template fillCollision<system>(collisionProducts, col);
501+
mcBuilder.template fillMcCollisionWithLabel<system>(mcProducts, col, mcCols);
502+
}
503+
504+
void
505+
reset()
495506
{
496-
mCollisionAleadyFilled = false;
507+
mCollisionAlreadyFilled = false;
497508
}
498509

499510
private:
500511
CollisionSelection<HistName> mCollisionSelection;
501-
bool mCollisionAleadyFilled = false;
512+
bool mCollisionAlreadyFilled = false;
502513
Zorro mZorro;
503514
bool mUseTrigger = false;
504515
int mRunNumber = -1;

PWGCF/Femto/Core/dataTypes.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ using TwoTrackResonanceType = uint16_t;
4949
using CascadeMaskType = uint16_t;
5050
using CascadeType = uint16_t;
5151

52+
// datatype for origin of mc particle
53+
using McOriginType = uint8_t;
54+
5255
// datatype for particles
5356
using ParticleType = uint16_t;
5457

PWGCF/Femto/Core/kinkBuilder.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,8 @@ class KinkBuilder
396396
LOG(info) << "Initialization done...";
397397
}
398398

399-
template <modes::System system, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
400-
void fillKinks(T1 const& col, T2& collisionBuilder, T3& collisionProducts, T4& trackProducts, T5& kinkProducts, T6 const& kinks, T7 const& tracks, T8& trackBuilder, T9& indexMap)
399+
template <modes::System system, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
400+
void fillKinks(T1 const& col, T2& collisionBuilder, T3& collisionProducts, T4& trackProducts, T5& kinkProducts, T6 const& kinks, T7 const& tracks, T8& trackBuilder)
401401
{
402402
if (!mFillAnyTable) {
403403
return;
@@ -422,7 +422,7 @@ class KinkBuilder
422422

423423
auto daughter = kink.template trackDaug_as<T7>();
424424
collisionBuilder.template fillCollision<system>(collisionProducts, col);
425-
daughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kKinkDaughter>(daughter, trackProducts, collisionProducts, indexMap);
425+
daughterIndex = trackBuilder.template getDaughterIndex<modes::Track::kKinkDaughter>(daughter, trackProducts, collisionProducts);
426426
if constexpr (modes::isEqual(kinkType, modes::Kink::kSigma)) {
427427
fillSigma(collisionProducts, kinkProducts, kink, daughterIndex);
428428
}

0 commit comments

Comments
 (0)