New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replaced DQM histogram booking macro to regular methods inside IBooker #26161
Replaced DQM histogram booking macro to regular methods inside IBooker #26161
Conversation
Closing because work is still in progress. |
please test |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26161/8756
|
The tests are being triggered in jenkins. |
A new Pull Request was created by @andrius-k (Andrius) for master. It involves the following packages: DQM/Physics @andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
-1 Tested at: 2bae404 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found compilation warning when building: See details on the summary page.
I found compilation warning while trying to compile with clang. Command used:
See details on the summary page. |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
unhold |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
@fabiocos can we get this merged, and also the code-format PR for My work depends on this PR and touches many files in |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
PR description:
Changed a macro that would generate histogram booking calls to regular methods inside
IBooker
.Previous implementation was using a macro to generate a facade monitor element booking methods for DQMStore. Such approach saves some lines of code but code navigation becomes impossible and readability decreases.
Due to the fact that argument forwarding (
std::forward<Args>(args)...
) somehow caries out the type information of literal value arguments, different overloads are chosen after the update. Such cases were identified and fixed in this PR.The problematic methods are these two. When
0
literal value is passed to the fourth argument, the pointer overload is (incorrectly) selected because of two reasons:0
is a valid null pointer literal value, andPreviously the double version of the overload would be selected and the new behaviour is incorrect.
The fix is simple: finding all the cases where one of these two overloads are called and replacing zero literal values (i.e.
0
) with double literal values (i.e.0.0
or '0.').PR validation:
The calls mentioned above were found by temporarily changing the type of first overload from
double
toint
and compiling with-k
(keep going in case of errors) option. This resulted in an ambiguity (compiler error with a corresponding message) because0
literal value could be used for both methods without any implicit conversions.