@@ -88,7 +88,7 @@ enum CascadeHist {
8888
8989constexpr std::size_t MaxSecondary = 3 ;
9090
91- template <const char * Prefix>
91+ template <auto & Prefix>
9292struct ConfCascadeBinning : o2::framework::ConfigurableGroup {
9393 std::string prefix = Prefix;
9494 o2::framework::ConfigurableAxis pt{" pt" , {{600 , 0 , 6 }}, " Pt" };
@@ -104,7 +104,7 @@ using ConfXiBinning = ConfCascadeBinning<PrefixXiBinning>;
104104constexpr const char PrefixOmegaBinning[] = " OmegaBinning" ;
105105using ConfOmegaBinning = ConfCascadeBinning<PrefixOmegaBinning>;
106106
107- template <const char * Prefix>
107+ template <auto & Prefix>
108108struct ConfCascadeQaBinning : o2::framework::ConfigurableGroup {
109109 std::string prefix = Prefix;
110110 o2::framework::Configurable<bool > plot2d{" plot2d" , true , " Enable 2d Qa histograms" };
@@ -170,50 +170,55 @@ constexpr std::array<histmanager::HistInfo<CascadeHist>, kCascadeHistLast> HistT
170170 {kSecondaryOther , o2::framework::HistType::kTH2F , " hFromSecondaryOther" , " Particles from every other secondary decay; p_{T} (GeV/#it{c}); cos(#alpha)" }},
171171};
172172
173- #define CASCADE_HIST_ANALYSIS_MAP (conf ) \
174- {kPt , {conf.pt }}, \
175- {kEta , {conf.eta }}, \
176- {kPhi , {conf.phi }}, \
177- {kMass , {conf.mass }}, \
178- {kSign , {conf.sign }}, \
179- {kPtVsMass , {conf.pt , conf.mass }},
180173
174+ // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
175+ #define CASCADE_HIST_ANALYSIS_MAP (conf ) \
176+ {kPt , {(conf).pt }}, \
177+ {kEta , {(conf).eta }}, \
178+ {kPhi , {(conf).phi }}, \
179+ {kMass , {(conf).mass }}, \
180+ {kSign , {(conf).sign }}, \
181+ {kPtVsMass , {(conf).pt , (conf).mass }},
182+
183+ // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
181184#define CASCADE_HIST_MC_MAP (conf ) \
182- {kTruePtVsPt , {conf.pt , conf.pt }}, \
183- {kTrueEtaVsEta , {conf.eta , conf.eta }}, \
184- {kTruePhiVsPhi , {conf.phi , conf.phi }}, \
185- {kPdg , {conf.pdgCodes }}, \
186- {kPdgMother , {conf.pdgCodes }}, \
187- {kPdgPartonicMother , {conf.pdgCodes }},
188-
185+ {kTruePtVsPt , {(conf).pt , (conf).pt }}, \
186+ {kTrueEtaVsEta , {(conf).eta , (conf).eta }}, \
187+ {kTruePhiVsPhi , {(conf).phi , (conf).phi }}, \
188+ {kPdg , {(conf).pdgCodes }}, \
189+ {kPdgMother , {(conf).pdgCodes }}, \
190+ {kPdgPartonicMother , {(conf).pdgCodes }},
191+
192+ // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
189193#define CASCADE_HIST_QA_MAP (confAnalysis, confQa ) \
190- {kCosPa , {confQa.cosPa }}, \
191- {kDecayDauDca , {confQa.dauDcaAtDecay }}, \
192- {kTransRadius , {confQa.transRadius }}, \
193- {kLambdaCosPa , {confQa.lambdaCosPa }}, \
194- {kLambdaDauDca , {confQa.lambdaDauDca }}, \
195- {kLambdaTransRadius , {confQa.lambdaTransRadius }}, \
196- {kLambdaDcaToPv , {confQa.lambdaDcaToPv }}, \
197- {kPtVsEta , {confAnalysis.pt , confAnalysis.eta }}, \
198- {kPtVsPhi , {confAnalysis.pt , confAnalysis.phi }}, \
199- {kPhiVsEta , {confAnalysis.phi , confAnalysis.eta }}, \
200- {kPtVsCosPa , {confAnalysis.pt , confQa.cosPa }}, \
201- {kMassXi , {confQa.massXi }}, \
202- {kMassOmega , {confQa.massOmega }}, \
203- {kPtVsMassXi , {confAnalysis.pt , confQa.massXi }}, \
204- {kPtVsMassOmega , {confAnalysis.pt , confQa.massOmega }}, \
205- {kMassXiVsMassOmega , {confQa.massXi , confQa.massOmega }},
206-
194+ {kCosPa , {(confQa).cosPa }}, \
195+ {kDecayDauDca , {(confQa).dauDcaAtDecay }}, \
196+ {kTransRadius , {(confQa).transRadius }}, \
197+ {kLambdaCosPa , {(confQa).lambdaCosPa }}, \
198+ {kLambdaDauDca , {(confQa).lambdaDauDca }}, \
199+ {kLambdaTransRadius , {(confQa).lambdaTransRadius }}, \
200+ {kLambdaDcaToPv , {(confQa).lambdaDcaToPv }}, \
201+ {kPtVsEta , {(confAnalysis).pt , (confAnalysis).eta }}, \
202+ {kPtVsPhi , {(confAnalysis).pt , (confAnalysis).phi }}, \
203+ {kPhiVsEta , {(confAnalysis).phi , (confAnalysis).eta }}, \
204+ {kPtVsCosPa , {(confAnalysis).pt , (confQa).cosPa }}, \
205+ {kMassXi , {(confQa).massXi }}, \
206+ {kMassOmega , {(confQa).massOmega }}, \
207+ {kPtVsMassXi , {(confAnalysis).pt , (confQa).massXi }}, \
208+ {kPtVsMassOmega , {(confAnalysis).pt , (confQa).massOmega }}, \
209+ {kMassXiVsMassOmega , {(confQa).massXi , (confQa).massOmega }},
210+
211+ // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
207212#define CASCADE_HIST_MC_QA_MAP (confAnalysis, confQa ) \
208- {kNoMcParticle , {confAnalysis.pt , confQa.cosPa }}, \
209- {kPrimary , {confAnalysis.pt , confQa.cosPa }}, \
210- {kFromWrongCollision , {confAnalysis.pt , confQa.cosPa }}, \
211- {kFromMaterial , {confAnalysis.pt , confQa.cosPa }}, \
212- {kMissidentified , {confAnalysis.pt , confQa.cosPa }}, \
213- {kSecondary1 , {confAnalysis.pt , confQa.cosPa }}, \
214- {kSecondary2 , {confAnalysis.pt , confQa.cosPa }}, \
215- {kSecondary3 , {confAnalysis.pt , confQa.cosPa }}, \
216- {kSecondaryOther , {confAnalysis.pt , confQa.cosPa }},
213+ {kNoMcParticle , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
214+ {kPrimary , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
215+ {kFromWrongCollision , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
216+ {kFromMaterial , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
217+ {kMissidentified , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
218+ {kSecondary1 , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
219+ {kSecondary2 , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
220+ {kSecondary3 , {( confAnalysis) .pt , ( confQa) .cosPa }}, \
221+ {kSecondaryOther , {( confAnalysis) .pt , ( confQa) .cosPa }},
217222
218223template <typename T>
219224auto makeCascadeHistSpecMap (const T& confBinningAnalysis)
@@ -253,6 +258,7 @@ std::map<CascadeHist, std::vector<o2::framework::AxisSpec>> makeCascadeMcQaHistS
253258#undef CASCADE_HIST_QA_MAP
254259#undef CASCADE_HIST_MC_QA_MAP
255260
261+
256262constexpr char PrefixXiQa[] = " XiQA/" ;
257263constexpr char PrefixXi[] = " Xi/" ;
258264constexpr char PrefixOmegaQa[] = " OmegaQa/" ;
@@ -267,10 +273,10 @@ constexpr std::string_view McDir = "MC/";
267273// / \class FemtoDreamEventHisto
268274// / \brief Class for histogramming event properties
269275// template <femtomodes::Mode mode>
270- template <const char * cascadePrefix,
271- const char * bachelorPrefix,
272- const char * posDauPrefix,
273- const char * negDauPrefix,
276+ template <auto & cascadePrefix,
277+ auto & bachelorPrefix,
278+ auto & posDauPrefix,
279+ auto & negDauPrefix,
274280 modes::Cascade cascade>
275281class CascadeHistManager
276282{
0 commit comments