Skip to content

Commit 13ca933

Browse files
committed
Template utility class to unique table types
1 parent 95b7e1e commit 13ca933

4 files changed

Lines changed: 51 additions & 12 deletions

File tree

PWGHF/TableProducer/derivedDataCreatorBplusToD0Pi.cxx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,16 @@ using namespace o2::analysis::hf_derived;
4444

4545
/// Writes the full information in an output TTree
4646
struct HfDerivedDataCreatorBplusToD0Pi {
47-
ProducesHfDerivedData rowsCommon;
47+
ProducesHfDerivedData<
48+
o2::aod::HfBplusBases,
49+
o2::aod::HfBplusCollBases,
50+
o2::aod::HfBplusCollIds,
51+
o2::aod::HfBplusMcCollBases,
52+
o2::aod::HfBplusMcCollIds,
53+
o2::aod::HfBplusMcRCollIds,
54+
o2::aod::HfBplusPBases,
55+
o2::aod::HfBplusPIds
56+
> rowsCommon;
4857
// Candidates
4958
Produces<o2::aod::HfBplusPars> rowCandidatePar;
5059
Produces<o2::aod::HfBplusParD0s> rowCandidateParD0;
@@ -60,6 +69,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
6069
Configurable<bool> fillCandidatePar{"fillCandidatePar", true, "Fill candidate parameters"};
6170
Configurable<bool> fillCandidateParD0{"fillCandidateParD0", true, "Fill D0 candidate parameters"};
6271
Configurable<bool> fillCandidateParE{"fillCandidateParE", true, "Fill candidate extended parameters"};
72+
Configurable<bool> fillCandidateSel{"fillCandidateSel", true, "Fill candidate selection flags"};
6373
Configurable<bool> fillCandidateMl{"fillCandidateMl", true, "Fill candidate selection ML scores"};
6474
Configurable<bool> fillCandidateMlD0{"fillCandidateMlD0", true, "Fill D0 candidate selection ML scores"};
6575
Configurable<bool> fillCandidateId{"fillCandidateId", true, "Fill original indices from the candidate table"};

PWGHF/TableProducer/derivedDataCreatorD0ToKPi.cxx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,16 @@ using namespace o2::analysis::hf_derived;
4444

4545
/// Writes the full information in an output TTree
4646
struct HfDerivedDataCreatorD0ToKPi {
47-
ProducesHfDerivedData rowsCommon;
47+
ProducesHfDerivedData<
48+
o2::aod::HfD0Bases,
49+
o2::aod::HfD0CollBases,
50+
o2::aod::HfD0CollIds,
51+
o2::aod::HfD0McCollBases,
52+
o2::aod::HfD0McCollIds,
53+
o2::aod::HfD0McRCollIds,
54+
o2::aod::HfD0PBases,
55+
o2::aod::HfD0PIds
56+
> rowsCommon;
4857
// Candidates
4958
Produces<o2::aod::HfD0Pars> rowCandidatePar;
5059
Produces<o2::aod::HfD0ParEs> rowCandidateParE;

PWGHF/TableProducer/derivedDataCreatorLcToPKPi.cxx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,16 @@ using namespace o2::analysis::hf_derived;
4242

4343
/// Writes the full information in an output TTree
4444
struct HfDerivedDataCreatorLcToPKPi {
45-
ProducesHfDerivedData rowsCommon;
45+
ProducesHfDerivedData<
46+
o2::aod::HfLcBases,
47+
o2::aod::HfLcCollBases,
48+
o2::aod::HfLcCollIds,
49+
o2::aod::HfLcMcCollBases,
50+
o2::aod::HfLcMcCollIds,
51+
o2::aod::HfLcMcRCollIds,
52+
o2::aod::HfLcPBases,
53+
o2::aod::HfLcPIds
54+
> rowsCommon;
4655
// Candidates
4756
Produces<o2::aod::HfLcPars> rowCandidatePar;
4857
Produces<o2::aod::HfLcParEs> rowCandidateParE;

PWGHF/Utils/utilsDerivedData.h

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,29 @@ struct ConfigurableHfDerivedData : o2::framework::ConfigurableGroup {
6464
o2::framework::Configurable<bool> fillParticleId{"fillParticleId", true, "Fill original MC indices"};
6565
};
6666

67+
template <
68+
typename HfBases,
69+
typename HfCollBases,
70+
typename HfCollIds,
71+
typename HfMcCollBases,
72+
typename HfMcCollIds,
73+
typename HfMcRCollIds,
74+
typename HfPBases,
75+
typename HfPIds
76+
>
6777
struct ProducesHfDerivedData : o2::framework::ProducesGroup {
6878
// Candidates
69-
o2::framework::Produces<o2::aod::HfBases> rowCandidateBase;
79+
o2::framework::Produces<HfBases> rowCandidateBase;
7080
// Collisions
71-
o2::framework::Produces<o2::aod::HfCollBases> rowCollBase;
72-
o2::framework::Produces<o2::aod::HfCollIds> rowCollId;
81+
o2::framework::Produces<HfCollBases> rowCollBase;
82+
o2::framework::Produces<HfCollIds> rowCollId;
7383
// MC collisions
74-
o2::framework::Produces<o2::aod::HfMcCollBases> rowMcCollBase;
75-
o2::framework::Produces<o2::aod::HfMcCollIds> rowMcCollId;
76-
o2::framework::Produces<o2::aod::HfMcRCollIds> rowMcRCollId;
84+
o2::framework::Produces<HfMcCollBases> rowMcCollBase;
85+
o2::framework::Produces<HfMcCollIds> rowMcCollId;
86+
o2::framework::Produces<HfMcRCollIds> rowMcRCollId;
7787
// MC particles
78-
o2::framework::Produces<o2::aod::HfPBases> rowParticleBase;
79-
o2::framework::Produces<o2::aod::HfPIds> rowParticleId;
88+
o2::framework::Produces<HfPBases> rowParticleBase;
89+
o2::framework::Produces<HfPIds> rowParticleId;
8090

8191
ConfigurableHfDerivedData const* conf;
8292
std::map<int, std::vector<int>> matchedCollisions; // indices of derived reconstructed collisions matched to the global indices of MC collisions
@@ -165,7 +175,8 @@ struct ProducesHfDerivedData : o2::framework::ProducesGroup {
165175
rowMcCollBase(
166176
mcCollision.posX(),
167177
mcCollision.posY(),
168-
mcCollision.posZ());
178+
mcCollision.posZ(),
179+
mcCollision.centFT0M());
169180
}
170181
if (conf->fillMcCollId.value) {
171182
rowMcCollId(

0 commit comments

Comments
 (0)