@@ -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