-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Initialize cut parser earlier in NanoAODDQM module #44573
Conversation
There is a known threading problem involving ROOT where the cut parser initialization can fail if done during the Event loop.
If an unknown column name is used, issue an exception which contains the name of the column.
please test |
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44573/39728
|
A new Pull Request was created by @Dr15Jones for master. It involves the following packages:
@vlimant, @hqucms can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4bffac/38499/summary.html Comparison SummarySummary:
|
enable nano |
please test |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
-1 Failed Tests: RelVals-NANO RelVals-NANO
Comparison SummarySummary:
|
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4bffac/38508/summary.html Comparison SummarySummary:
NANO Comparison SummarySummary:
Nano size comparison Summary:
|
+1 |
PR description:
IB RelVals have been failing because the cut parser in NanoAODDQM sometimes fails to find methods of nanoaod::FlatTable. This has been seen before and is believe to be a threading issue in ROOT related to asking for the list of methods while other ROOT calls are happening. Moving the initialization to the constructor of the module should avoid this threading problem.
The code was changed so that instead of needing the FlatTable in order to ask it what are the available columns, now the code assumes any name not related to either a function call or a known method of FlatTable::RowView is a column name. This allows the cut parser to be fully initialized in the module constructor.
Additionally, using an invalid column name in a call to FlatTable::RowView::getAnyValue now throws an exception which contains the name of the invalid column.
PR validation:
New unit test passes.