Skip to content

Commit be6bd63

Browse files
committed
[PWGCF] Femto: Allow multiple registries for SH histograms
1 parent 715fed3 commit be6bd63

3 files changed

Lines changed: 89 additions & 39 deletions

File tree

PWGCF/Femto/Core/pairBuilder.h

Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,17 @@ class PairTrackTrackBuilder
8686
std::map<T11, std::vector<o2::framework::AxisSpec>> const& trackHistSpec1,
8787
std::map<T12, std::vector<o2::framework::AxisSpec>> const& trackHistSpec2,
8888
std::map<T13, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
89-
std::map<T14, std::vector<o2::framework::AxisSpec>> const& cprHistSpec)
89+
std::map<T14, std::vector<o2::framework::AxisSpec>> const& cprHistSpec,
90+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
91+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
9092
{
9193

9294
// check if correlate the same tracks or not
9395
mSameSpecies = confMixing.sameSpecies.value;
9496

9597
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
96-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
97-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
98+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
99+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
98100
mPc.template init<modeSe>(confPairCuts);
99101

100102
if (mSameSpecies) {
@@ -348,7 +350,9 @@ class PairV0V0Builder
348350
std::map<T17, std::vector<o2::framework::AxisSpec>> const& NegDauHistSpec2,
349351
std::map<T18, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
350352
std::map<T19, std::vector<o2::framework::AxisSpec>> const& cprHistSpecPos,
351-
std::map<T20, std::vector<o2::framework::AxisSpec>> const& cprHistSpecNeg)
353+
std::map<T20, std::vector<o2::framework::AxisSpec>> const& cprHistSpecNeg,
354+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
355+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
352356
{
353357
mSameSpecies = confMixing.sameSpecies.value;
354358

@@ -371,8 +375,8 @@ class PairV0V0Builder
371375
}
372376

373377
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
374-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
375-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
378+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
379+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
376380
mPc.template init<modeSe>(confPairCuts);
377381

378382
mV0Cleaner1.init(confV0Cleaner1);
@@ -612,7 +616,9 @@ class PairTrackD0Builder
612616
std::map<T13, std::vector<o2::framework::AxisSpec>>& posDauHistSpec,
613617
std::map<T14, std::vector<o2::framework::AxisSpec>>& negDauHistSpec,
614618
std::map<T15, std::vector<o2::framework::AxisSpec>>& pairHistSpec,
615-
std::map<T16, std::vector<o2::framework::AxisSpec>>& cprHistSpec)
619+
std::map<T16, std::vector<o2::framework::AxisSpec>>& cprHistSpec,
620+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
621+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
616622
{
617623
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
618624

@@ -635,12 +641,12 @@ class PairTrackD0Builder
635641
negDauPdg = PDG_t::kPiMinus;
636642
}
637643

638-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
644+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
639645
mPairHistManagerSe.setMass(confTrackSelection.pdgCodeAbs.value, 0, 0, confD0Selection.pdgCodeAbs.value, posDauPdg, negDauPdg);
640646
mPairHistManagerSe.setCharge(confTrackSelection.chargeAbs.value, 1);
641647
mCprSe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
642648

643-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
649+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
644650
mPairHistManagerMe.setMass(confTrackSelection.pdgCodeAbs.value, 0, 0, confD0Selection.pdgCodeAbs.value, posDauPdg, negDauPdg);
645651
mPairHistManagerMe.setCharge(confTrackSelection.chargeAbs.value, 1);
646652
mCprMe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
@@ -777,7 +783,9 @@ class PairTrackV0Builder
777783
std::map<T13, std::vector<o2::framework::AxisSpec>>& posDauHistSpec,
778784
std::map<T14, std::vector<o2::framework::AxisSpec>>& negDauHistSpec,
779785
std::map<T15, std::vector<o2::framework::AxisSpec>>& pairHistSpec,
780-
std::map<T16, std::vector<o2::framework::AxisSpec>>& cprHistSpec)
786+
std::map<T16, std::vector<o2::framework::AxisSpec>>& cprHistSpec,
787+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
788+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
781789
{
782790
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
783791

@@ -802,12 +810,12 @@ class PairTrackV0Builder
802810
}
803811
}
804812

805-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
813+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
806814
mPairHistManagerSe.setMass(confTrackSelection.pdgCodeAbs.value, 0, 0, confV0Selection.pdgCodeAbs.value, pdgCodePosDau, pdgCodeNegDau);
807815
mPairHistManagerSe.setCharge(confTrackSelection.chargeAbs.value, 1);
808816
mCprSe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
809817

810-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
818+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
811819
mPairHistManagerMe.setMass(confTrackSelection.pdgCodeAbs.value, 0, 0, confV0Selection.pdgCodeAbs.value, pdgCodePosDau, pdgCodeNegDau);
812820
mPairHistManagerMe.setCharge(confTrackSelection.chargeAbs.value, 1);
813821
mCprMe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
@@ -940,19 +948,21 @@ class PairTrackTwoTrackResonanceBuilder
940948
std::map<T11, std::vector<o2::framework::AxisSpec>> const& posDauHistSpec,
941949
std::map<T12, std::vector<o2::framework::AxisSpec>> const& negDauHistSpec,
942950
std::map<T13, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
943-
std::map<T14, std::vector<o2::framework::AxisSpec>> const& cprHistSpec)
951+
std::map<T14, std::vector<o2::framework::AxisSpec>> const& cprHistSpec,
952+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
953+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
944954
{
945955
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
946956

947957
mTrackHistManager.template init<modeSe>(registry, trackHistSpec, confTrackSelection);
948958
mResonanceHistManager.template init<modeSe>(registry, resonanceHistSpec, confResonanceSelection, posDauHistSpec, negDauHistSpec);
949959

950-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
960+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
951961
mPairHistManagerSe.setMass(confTrackSelection.pdgCodeAbs.value, confResonanceSelection.pdgCodeAbs.value);
952962
mPairHistManagerSe.setCharge(confTrackSelection.chargeAbs.value, 1);
953963
mCprSe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
954964

955-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
965+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
956966
mPairHistManagerMe.setMass(confTrackSelection.pdgCodeAbs.value, confResonanceSelection.pdgCodeAbs.value);
957967
mPairHistManagerMe.setCharge(confTrackSelection.chargeAbs.value, 1);
958968
mCprMe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
@@ -1064,19 +1074,21 @@ class PairV0TwoTrackResonanceBuilder
10641074
std::map<T15, std::vector<o2::framework::AxisSpec>> const& ResonanceNegDauHistSpec,
10651075
std::map<T16, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
10661076
std::map<T17, std::vector<o2::framework::AxisSpec>> const& cprHistSpecPos,
1067-
std::map<T18, std::vector<o2::framework::AxisSpec>> const& cprHistSpecNeg)
1077+
std::map<T18, std::vector<o2::framework::AxisSpec>> const& cprHistSpecNeg,
1078+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
1079+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
10681080
{
10691081
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
10701082

10711083
mV0HistManager.template init<modeSe>(registry, v0HistSpec, confV0Selection, V0posDauHistSpec, V0negDauHistSpec);
10721084
mResonanceHistManager.template init<modeSe>(registry, resonanceHistSpec, confResonanceSelection, ResonancePosDauHistSpec, ResonanceNegDauHistSpec);
10731085

1074-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1086+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
10751087
mPairHistManagerSe.setMass(confV0Selection.pdgCodeAbs.value, confResonanceSelection.pdgCodeAbs.value);
10761088
mPairHistManagerSe.setCharge(1, 1); // set charge to 1
10771089
mCprSe.init(registry, cprHistSpecPos, cprHistSpecNeg, confCprPos, confCprNeg);
10781090

1079-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1091+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
10801092
mPairHistManagerMe.setMass(confV0Selection.pdgCodeAbs.value, confResonanceSelection.pdgCodeAbs.value);
10811093
mPairHistManagerMe.setCharge(1, 1); // set charge to 1
10821094
mCprMe.init(registry, cprHistSpecPos, cprHistSpecNeg, confCprPos, confCprNeg);
@@ -1176,7 +1188,9 @@ class PairTrackKinkBuilder
11761188
std::map<T12, std::vector<o2::framework::AxisSpec>> const& kinkHistSpec,
11771189
std::map<T13, std::vector<o2::framework::AxisSpec>> const& chaDauHistSpec,
11781190
std::map<T14, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
1179-
std::map<T15, std::vector<o2::framework::AxisSpec>> const& cprHistSpec)
1191+
std::map<T15, std::vector<o2::framework::AxisSpec>> const& cprHistSpec,
1192+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
1193+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
11801194
{
11811195
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
11821196

@@ -1186,12 +1200,12 @@ class PairTrackKinkBuilder
11861200
mTrackCleaner.init(confTrackCleaner);
11871201
mKinkCleaner.init(confKinkCleaner);
11881202

1189-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1203+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
11901204
mPairHistManagerSe.setMass(confTrackSelection.pdgCodeAbs.value, confKinkSelection.pdgCodeAbs.value);
11911205
mPairHistManagerSe.setCharge(confTrackSelection.chargeAbs.value, 1); // abs charge of kink daughter is always 1
11921206
mCprSe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
11931207

1194-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1208+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
11951209
mPairHistManagerMe.setMass(confTrackSelection.pdgCodeAbs.value, confKinkSelection.pdgCodeAbs.value);
11961210
mPairHistManagerMe.setCharge(confTrackSelection.chargeAbs.value, 1); // abs charge of kink daughter is always 1
11971211
mCprMe.init(registry, cprHistSpec, confCpr, confTrackSelection.chargeAbs.value);
@@ -1337,7 +1351,9 @@ class PairTrackCascadeBuilder
13371351
std::map<T16, std::vector<o2::framework::AxisSpec>> const& negDauHistSpec,
13381352
std::map<T17, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
13391353
std::map<T18, std::vector<o2::framework::AxisSpec>> const& cprHistSpecBachelor,
1340-
std::map<T19, std::vector<o2::framework::AxisSpec>> const& cprHistSpecV0Daughter)
1354+
std::map<T19, std::vector<o2::framework::AxisSpec>> const& cprHistSpecV0Daughter,
1355+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
1356+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
13411357
{
13421358
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
13431359

@@ -1347,12 +1363,12 @@ class PairTrackCascadeBuilder
13471363
mTrackCleaner.init(confTrackCleaner);
13481364
mCascadeCleaner.init(confCascadeCleaner);
13491365

1350-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1366+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
13511367
mPairHistManagerSe.setMass(confTrackSelection.pdgCodeAbs.value, confCascadeSelection.pdgCodeAbs.value);
13521368
mPairHistManagerSe.setCharge(confTrackSelection.chargeAbs.value, 1);
13531369
mCprSe.init(registry, cprHistSpecBachelor, cprHistSpecV0Daughter, confCprBachelor, confCprV0Daughter, confTrackSelection.chargeAbs.value);
13541370

1355-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1371+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
13561372
mPairHistManagerMe.setMass(confTrackSelection.pdgCodeAbs.value, confCascadeSelection.pdgCodeAbs.value);
13571373
mPairHistManagerMe.setCharge(confTrackSelection.chargeAbs.value, 1);
13581374
mCprMe.init(registry, cprHistSpecBachelor, cprHistSpecV0Daughter, confCprBachelor, confCprV0Daughter, confTrackSelection.chargeAbs.value);
@@ -1480,15 +1496,17 @@ class PairMcParticleMcParticleBuilder
14801496
std::map<T13, std::vector<o2::framework::AxisSpec>> const& mcParticleHistSpec1,
14811497
std::map<T14, std::vector<o2::framework::AxisSpec>> const& mcParticleHistSpec2,
14821498
std::map<T15, std::vector<o2::framework::AxisSpec>> const& pairHistSpec,
1483-
std::map<T16, std::vector<o2::framework::AxisSpec>> const& cprHistSpec)
1499+
std::map<T16, std::vector<o2::framework::AxisSpec>> const& cprHistSpec,
1500+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesSe = {},
1501+
std::vector<o2::framework::HistogramRegistry*> const& shRegistriesMe = {})
14841502
{
14851503

14861504
// check if correlate the same tracks or not
14871505
mSameSpecies = confMixing.sameSpecies.value;
14881506

14891507
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
1490-
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1491-
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing);
1508+
mPairHistManagerSe.template init<modeSe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesSe);
1509+
mPairHistManagerMe.template init<modeMe>(registry, pairHistSpec, confPairBinning, confPairCuts, confMixing, shRegistriesMe);
14921510
mPc.template init<modeSe>(confPairCuts);
14931511

14941512
if (mSameSpecies) {

0 commit comments

Comments
 (0)