Skip to content

Commit 8cacc4e

Browse files
committed
Feat: add dndeta task for pairs
1 parent 3b5175b commit 8cacc4e

16 files changed

Lines changed: 1732 additions & 143 deletions

‎PWGCF/Femto/Core/closePairRejection.h‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,11 @@ enum CprHist {
6060
};
6161

6262
// template configurable group for Cpr
63-
template <auto& Prefix>
63+
// DefaultCutAverage: default of cutAverage (e.g. false for pairs of generated particles, where no detector effects are present)
64+
template <auto& Prefix, bool DefaultCutAverage = true>
6465
struct ConfCpr : o2::framework::ConfigurableGroup {
6566
std::string prefix = std::string(Prefix);
66-
o2::framework::Configurable<bool> cutAverage{"cutAverage", true, "Apply CPR if the average deta-dphistar is below the configured values"};
67+
o2::framework::Configurable<bool> cutAverage{"cutAverage", DefaultCutAverage, "Apply CPR if the average deta-dphistar is below the configured values"};
6768
o2::framework::Configurable<bool> cutAnyRadius{"cutAnyRadius", false, "Apply CPR if the deta-dphistar is below the configured values at any radius"};
6869
o2::framework::Configurable<bool> cutElipsoidal{"cutElipsoidal", true, "If true, apply CPR as episoidal cut. If false use rectangluar cut."};
6970
o2::framework::Configurable<bool> plotAllRadii{"plotAllRadii", true, "Plot deta-dphi distribution at all radii"};
@@ -100,6 +101,7 @@ constexpr const char PrefixCprV0DaughterV0DaughterNeg[] = "CprV0DaughterV0Daught
100101
constexpr const char PrefixCprV0DaughterResoDaughterPos[] = "CprV0DaughterResoDaughterPos";
101102
constexpr const char PrefixCprV0DaughterResoDaughterNeg[] = "CprV0DaughterResoDaughterNeg";
102103
constexpr const char PrefixCprTrackCascadeBachelor[] = "CprTrackCascadeBachelor";
104+
constexpr const char PrefixCprMcParticleMcParticle[] = "CprMcParticleMcParticle";
103105

104106
// pairs
105107
using ConfCprTrackTrack = ConfCpr<PrefixCprTrackTrack>;
@@ -117,6 +119,7 @@ using ConfCprV0DaugherV0DaughterNeg = ConfCpr<PrefixCprV0DaughterV0DaughterNeg>;
117119
using ConfCprV0DaughterResoDaughterPos = ConfCpr<PrefixCprV0DaughterResoDaughterPos>;
118120
using ConfCprV0DaughterResoDaughterNeg = ConfCpr<PrefixCprV0DaughterResoDaughterNeg>;
119121
using ConfCprTrackCascadeBachelor = ConfCpr<PrefixCprTrackCascadeBachelor>;
122+
using ConfCprMcParticleMcParticle = ConfCpr<PrefixCprMcParticleMcParticle, false>; // generated particles, no cut by default
120123

121124
// tpc radii for computing phistar
122125
constexpr int Nradii = 9;

‎PWGCF/Femto/Core/collisionBuilder.h‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ struct ConfCollisionBits : o2::framework::ConfigurableGroup {
8282
o2::framework::Configurable<std::vector<float>> sphericityMin{"sphericityMin", {}, "Minimum sphericity"};
8383
o2::framework::Configurable<std::vector<float>> sphericityMax{"sphericityMax", {}, "Maximum sphericity"};
8484
o2::framework::Configurable<std::vector<std::string>> triggers{"triggers", {}, "List of all triggers to be used"};
85-
o2::framework::Configurable<datatypes::EventShapeDetectorType> eventPlaneAngleDetector{"eventPlaneAngleDetector", 0, "Detector used to estimate the event plane angle: 0 -> FT0C, 1 -> FT0A"};
86-
o2::framework::Configurable<datatypes::EventShapeDetectorType> qvecDetector{"qvecDetector", 0, "Detector used to estimate the Q-vector: 0 -> FT0C, 1 -> FT0A"};
87-
o2::framework::Configurable<datatypes::QvecHarmonicType> qvecHarmonic{"qvecHarmonic", 2, "Harmonic n of the Q-vector and event plane angle Psi_n: 2 -> elliptic, 3 -> triangular"};
85+
o2::framework::Configurable<int> eventPlaneAngleDetector{"eventPlaneAngleDetector", 0, "Detector used to estimate the event plane angle: 0 -> FT0C, 1 -> FT0A"};
86+
o2::framework::Configurable<int> qvecDetector{"qvecDetector", 0, "Detector used to estimate the Q-vector: 0 -> FT0C, 1 -> FT0A"};
87+
o2::framework::Configurable<int> qvecHarmonic{"qvecHarmonic", 2, "Harmonic n of the Q-vector and event plane angle Psi_n: 2 -> elliptic, 3 -> triangular"};
8888
};
8989

9090
struct ConfCcdb : o2::framework::ConfigurableGroup {
@@ -770,6 +770,7 @@ class CollisionBuilder
770770
collisionProducts.producedMultiplicityEstimators(
771771
col.multFT0A(),
772772
col.multFT0C(),
773+
col.numContrib(),
773774
col.multNTracksPVeta1(),
774775
col.multNTracksPVetaHalf(),
775776
col.trackOccupancyInTimeRange(),

‎PWGCF/Femto/Core/dndetaBuilder.h‎

Lines changed: 560 additions & 0 deletions
Large diffs are not rendered by default.

‎PWGCF/Femto/Core/dndetaHistManager.h‎

Lines changed: 567 additions & 0 deletions
Large diffs are not rendered by default.

‎PWGCF/Femto/Core/femtoUtils.h‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ inline double getPdgMass(int pdgCode)
9393
case kKPlus:
9494
mass = o2::constants::physics::MassKPlus;
9595
break;
96+
case kK0Short:
97+
mass = o2::constants::physics::MassK0Short;
98+
break;
9699
case kProton:
97100
mass = o2::constants::physics::MassProton;
98101
break;

‎PWGCF/Femto/Core/mcBuilder.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,19 @@ struct ConfMcCollisionFilters : o2::framework::ConfigurableGroup {
105105
template <auto& Prefix>
106106
struct ConfMcParticleSelection : o2::framework::ConfigurableGroup {
107107
std::string prefix = std::string(Prefix);
108-
// kinematic cuts for filtering tracks
108+
// kinematic cuts
109109
o2::framework::Configurable<float> ptMin{"ptMin", 0.2f, "Minimum pT"};
110110
o2::framework::Configurable<float> ptMax{"ptMax", 6.f, "Maximum pT"};
111111
o2::framework::Configurable<float> etaMin{"etaMin", -0.9f, "Minimum eta"};
112112
o2::framework::Configurable<float> etaMax{"etaMax", 0.9f, "Maximum eta"};
113113
o2::framework::Configurable<float> phiMin{"phiMin", 0.f, "Minimum phi"};
114114
o2::framework::Configurable<float> phiMax{"phiMax", 1.f * o2::constants::math::TwoPI, "Maximum phi"};
115+
// pdg code and charge
115116
o2::framework::Configurable<int> pdgCodeAbs{"pdgCodeAbs", 2212, "Absolute value of PDG code. Set sign of charge to -1 for antiparticle."};
116117
o2::framework::Configurable<int> chargeSign{"chargeSign", 1, "Particle charge sign: +1 for positive, -1 for negative, 0 for both"};
118+
// origin
119+
o2::framework::Configurable<bool> requireOrigin{"requireOrigin", false, "If true, only particles with the origin given in 'origin' are selected"};
120+
o2::framework::Configurable<int> origin{"origin", static_cast<int>(modes::McOrigin::kPhysicalPrimary), "Required mc origin, only used if requireOrigin is true (see modes::McOrigin; 2: physical primary)"};
117121
};
118122

119123
constexpr const char PrefixMcParticleSelection1[] = "McParticleSelection1";

‎PWGCF/Femto/Core/modes.h‎

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
#ifndef PWGCF_FEMTO_CORE_MODES_H_
1717
#define PWGCF_FEMTO_CORE_MODES_H_
1818

19-
#include "dataTypes.h"
20-
2119
#include "PWGCF/Femto/Core/dataTypes.h"
2220

2321
#include <cstdint>
@@ -185,6 +183,33 @@ constexpr const char* trackTypeToString(Track type)
185183
}
186184
}
187185

186+
enum class Trigger : uint8_t {
187+
kMinimumBias,
188+
kTrackTrack,
189+
kTrackV0,
190+
kTrackTrackTrack,
191+
kTrackTrackV0,
192+
kTriggerLast
193+
};
194+
195+
constexpr const char* triggerToString(Trigger trigger)
196+
{
197+
switch (trigger) {
198+
case Trigger::kMinimumBias:
199+
return "MinimumBias";
200+
case Trigger::kTrackTrack:
201+
return "TrackTrack";
202+
case Trigger::kTrackV0:
203+
return "TrackV0";
204+
case Trigger::kTrackTrackTrack:
205+
return "TrackTrackTrack";
206+
case Trigger::kTrackTrackV0:
207+
return "TrackTrackV0";
208+
default:
209+
return "UnknownTrigger";
210+
}
211+
}
212+
188213
enum class V0 : o2::analysis::femto::datatypes::V0Type {
189214
kLambda,
190215
kAntiLambda,

‎PWGCF/Femto/Core/pairBuilder.h‎

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -164,16 +164,16 @@ class PairTrackTrackBuilder
164164
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
165165
}
166166
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackTable, col, mTrackHistManager1, mPairHistManagerSe, mCprSe, mPcSe, pairOrder);
167-
} else {
168-
auto trackSlice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
169-
auto trackSlice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
170-
if (trackSlice1.size() < nLimitPartitionParticles || trackSlice2.size() < nLimitPartitionParticles) {
171-
return false;
172-
}
173-
mColHistManager.template fill<mode>(col);
174-
mCprSe.setMagField(col.magField());
175-
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackSlice2, trackTable, col, mTrackHistManager1, mTrackHistManager2, mPairHistManagerSe, mCprSe, mPcSe);
176167
}
168+
169+
auto trackSlice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
170+
auto trackSlice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
171+
if (trackSlice1.size() < nLimitPartitionParticles || trackSlice2.size() < nLimitPartitionParticles) {
172+
return false;
173+
}
174+
mColHistManager.template fill<mode>(col);
175+
mCprSe.setMagField(col.magField());
176+
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackSlice2, trackTable, col, mTrackHistManager1, mTrackHistManager2, mPairHistManagerSe, mCprSe, mPcSe);
177177
}
178178

179179
// mc
@@ -193,16 +193,16 @@ class PairTrackTrackBuilder
193193
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
194194
}
195195
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mTrackHistManager1, mPairHistManagerSe, mTrackCleaner1, mCprSe, mPcSe, pairOrder);
196-
} else {
197-
auto trackSlice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
198-
auto trackSlice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
199-
if (trackSlice1.size() < nLimitPartitionParticles || trackSlice2.size() < nLimitPartitionParticles) {
200-
return false;
201-
}
202-
mColHistManager.template fill<mode>(col, mcCols);
203-
mCprSe.setMagField(col.magField());
204-
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackSlice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mTrackHistManager1, mTrackHistManager2, mPairHistManagerSe, mTrackCleaner1, mTrackCleaner2, mCprSe, mPcSe);
205196
}
197+
198+
auto trackSlice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
199+
auto trackSlice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
200+
if (trackSlice1.size() < nLimitPartitionParticles || trackSlice2.size() < nLimitPartitionParticles) {
201+
return false;
202+
}
203+
mColHistManager.template fill<mode>(col, mcCols);
204+
mCprSe.setMagField(col.magField());
205+
return pairprocesshelpers::processSameEvent<mode>(trackSlice1, trackSlice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mTrackHistManager1, mTrackHistManager2, mPairHistManagerSe, mTrackCleaner1, mTrackCleaner2, mCprSe, mPcSe);
206206
}
207207

208208
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
@@ -474,16 +474,16 @@ class PairV0V0Builder
474474
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
475475
}
476476
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, trackTable, col, mV0HistManager1, mPairHistManagerSe, mCprSe, mPcSe, pairOrder);
477-
} else {
478-
auto v0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
479-
auto v0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
480-
if (v0Slice1.size() < nLimitPartitionParticles || v0Slice2.size() < nLimitPartitionParticles) {
481-
return false;
482-
}
483-
mColHistManager.template fill<mode>(col);
484-
mCprSe.setMagField(col.magField());
485-
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, v0Slice2, trackTable, col, mV0HistManager1, mV0HistManager2, mPairHistManagerSe, mCprSe, mPcSe);
486477
}
478+
479+
auto v0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
480+
auto v0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
481+
if (v0Slice1.size() < nLimitPartitionParticles || v0Slice2.size() < nLimitPartitionParticles) {
482+
return false;
483+
}
484+
mColHistManager.template fill<mode>(col);
485+
mCprSe.setMagField(col.magField());
486+
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, v0Slice2, trackTable, col, mV0HistManager1, mV0HistManager2, mPairHistManagerSe, mCprSe, mPcSe);
487487
}
488488

489489
// mc
@@ -503,16 +503,16 @@ class PairV0V0Builder
503503
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
504504
}
505505
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mV0HistManager1, mPairHistManagerSe, mV0Cleaner1, mCprSe, mPcSe, pairOrder);
506-
} else {
507-
auto v0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
508-
auto v0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
509-
if (v0Slice1.size() < nLimitPartitionParticles || v0Slice2.size() < nLimitPartitionParticles) {
510-
return false;
511-
}
512-
mColHistManager.template fill<mode>(col, mcCols);
513-
mCprSe.setMagField(col.magField());
514-
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, v0Slice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mV0HistManager1, mV0HistManager2, mPairHistManagerSe, mV0Cleaner1, mV0Cleaner2, mCprSe, mPcSe);
515506
}
507+
508+
auto v0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
509+
auto v0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
510+
if (v0Slice1.size() < nLimitPartitionParticles || v0Slice2.size() < nLimitPartitionParticles) {
511+
return false;
512+
}
513+
mColHistManager.template fill<mode>(col, mcCols);
514+
mCprSe.setMagField(col.magField());
515+
return pairprocesshelpers::processSameEvent<mode>(v0Slice1, v0Slice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mV0HistManager1, mV0HistManager2, mPairHistManagerSe, mV0Cleaner1, mV0Cleaner2, mCprSe, mPcSe);
516516
}
517517

518518
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
@@ -761,16 +761,16 @@ class PairD0D0Builder
761761
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
762762
}
763763
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, trackTable, col, mD0HistManager1, mPairHistManagerSe, mCprSe, mPcSe, pairOrder);
764-
} else {
765-
auto d0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
766-
auto d0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
767-
if (d0Slice1.size() < nLimitPartitionParticles || d0Slice2.size() < nLimitPartitionParticles) {
768-
return false;
769-
}
770-
mColHistManager.template fill<mode>(col);
771-
mCprSe.setMagField(col.magField());
772-
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, d0Slice2, trackTable, col, mD0HistManager1, mD0HistManager2, mPairHistManagerSe, mCprSe, mPcSe);
773764
}
765+
766+
auto d0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
767+
auto d0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
768+
if (d0Slice1.size() < nLimitPartitionParticles || d0Slice2.size() < nLimitPartitionParticles) {
769+
return false;
770+
}
771+
mColHistManager.template fill<mode>(col);
772+
mCprSe.setMagField(col.magField());
773+
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, d0Slice2, trackTable, col, mD0HistManager1, mD0HistManager2, mPairHistManagerSe, mCprSe, mPcSe);
774774
}
775775

776776
// mc
@@ -790,16 +790,15 @@ class PairD0D0Builder
790790
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
791791
}
792792
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mD0HistManager1, mPairHistManagerSe, mD0Cleaner1, mCprSe, mPcSe, pairOrder);
793-
} else {
794-
auto d0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
795-
auto d0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
796-
if (d0Slice1.size() < nLimitPartitionParticles || d0Slice2.size() < nLimitPartitionParticles) {
797-
return false;
798-
}
799-
mColHistManager.template fill<mode>(col, mcCols);
800-
mCprSe.setMagField(col.magField());
801-
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, d0Slice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mD0HistManager1, mD0HistManager2, mPairHistManagerSe, mD0Cleaner1, mD0Cleaner2, mCprSe, mPcSe);
802793
}
794+
auto d0Slice1 = partition1->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
795+
auto d0Slice2 = partition2->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
796+
if (d0Slice1.size() < nLimitPartitionParticles || d0Slice2.size() < nLimitPartitionParticles) {
797+
return false;
798+
}
799+
mColHistManager.template fill<mode>(col, mcCols);
800+
mCprSe.setMagField(col.magField());
801+
return pairprocesshelpers::processSameEvent<mode>(d0Slice1, d0Slice2, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mD0HistManager1, mD0HistManager2, mPairHistManagerSe, mD0Cleaner1, mD0Cleaner2, mCprSe, mPcSe);
803802
}
804803

805804
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
@@ -2079,15 +2078,15 @@ class PairMcParticleMcParticleBuilder
20792078
pairOrder = static_cast<pairprocesshelpers::PairOrder>(mDist(mRng));
20802079
}
20812080
return pairprocesshelpers::processSameEvent<mode>(mcParticleSlice, mcParticles, mcMothers, mcPartonicMothers, col, mMcParticleHistManager1, mPairHistManagerSe, mMcParticleCleaner1, mCprSe, mPcSe, pairOrder);
2082-
} else {
2083-
auto mcParticleSlice1 = partition1->sliceByCached(o2::aod::femtomcparticle::fMcColId, col.globalIndex(), cache);
2084-
auto mcParticleSlice2 = partition2->sliceByCached(o2::aod::femtomcparticle::fMcColId, col.globalIndex(), cache);
2085-
if (mcParticleSlice1.size() < nLimitPartitionParticles || mcParticleSlice2.size() < nLimitPartitionParticles) {
2086-
return false;
2087-
}
2088-
mColHistManager.template fill<mode>(col);
2089-
return pairprocesshelpers::processSameEvent<mode>(mcParticleSlice1, mcParticleSlice2, mcParticles, mcMothers, mcPartonicMothers, col, mMcParticleHistManager1, mMcParticleHistManager2, mPairHistManagerSe, mMcParticleCleaner1, mMcParticleCleaner2, mCprSe, mPcSe);
20902081
}
2082+
2083+
auto mcParticleSlice1 = partition1->sliceByCached(o2::aod::femtomcparticle::fMcColId, col.globalIndex(), cache);
2084+
auto mcParticleSlice2 = partition2->sliceByCached(o2::aod::femtomcparticle::fMcColId, col.globalIndex(), cache);
2085+
if (mcParticleSlice1.size() < nLimitPartitionParticles || mcParticleSlice2.size() < nLimitPartitionParticles) {
2086+
return false;
2087+
}
2088+
mColHistManager.template fill<mode>(col);
2089+
return pairprocesshelpers::processSameEvent<mode>(mcParticleSlice1, mcParticleSlice2, mcParticles, mcMothers, mcPartonicMothers, col, mMcParticleHistManager1, mMcParticleHistManager2, mPairHistManagerSe, mMcParticleCleaner1, mMcParticleCleaner2, mCprSe, mPcSe);
20912090
}
20922091

20932092
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>

0 commit comments

Comments
 (0)