-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Primary vertex reconstruction: update configuration handling #43846
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43846/38677
|
A new Pull Request was created by @fabiocos (Fabio Cossutti) for master. It involves the following packages:
@perrotta, @nothingface0, @mandrenguyen, @saumyaphor4252, @consuegs, @tjavaid, @rvenditti, @cmsbuild, @jfernan2, @syuvivida, @antoniovagnerini can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
-1 Failed Tests: UnitTests RelVals RelVals-INPUT AddOn Unit TestsI found 14 errors in the following unit tests: ---> test TestDQMOnlineClient-beampixel_dqm_sourceclient had ERRORS ---> test TestDQMOnlineClient-beam_dqm_sourceclient had ERRORS ---> test TestDQMOnlineClient-sistrip_approx_dqm_sourceclient had ERRORS and more ... RelVals
Expand to see more relval errors ...RelVals-INPUT
Expand to see more relval errors ...
AddOn Tests
Expand to see more addon errors ...
|
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43846/38731
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
+1 |
+alca |
@cms-sw/dqm-l2 any comment? |
+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. @antoniovilela, @sextonkennedy, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
@@ -451,7 +457,7 @@ void PrimaryVertexProducer::fillDescriptions(edm::ConfigurationDescriptions& des | |||
desc.add<bool>("useMVACut", false); | |||
desc.add<double>("minTrackTimeQuality", 0.8); | |||
|
|||
descriptions.add("primaryVertexProducer", desc); | |||
descriptions.addDefault(desc); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change messes up ConfDB parsing because no explicit cfi file is generated. I assume descriptions.addWithDefaultLabel would work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by #44287
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC this change was intedended @fabiocos FYI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Martin-Grunewald the whole point of the work behind this PR was to get rid of duplicated definitions of the PV configuration, already achieved in #43592 , without the need to carry forward in any case the complete configuration for all cases as it was in this PR, following the discussion #43592 (comment) .
From you action I understand that in ConfDB you do not only need an explicit definition of offlinePrimaryVertex
, obviously granted by this PR, but also of primaryVertexProducer
, am I correct? In this case keeping the construction of any other configuration from this latter, as it was in #43592 , was the appropriate thing. Your fix on top of this PR basically vanishes the goal, although I understand it is needed.
I need to verify whether the original target might be recovered in some way exploiting the new was in which the fillDescription
is now written.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fabiocos
I think the only effect of changing from addDefault to addWithDefaultLabel is writing out a cfi file primaryVertexProducer_cfi.py in ../cfipython. Since such a file does not exist elsewhere in CMSSW nor is included/imported in any other cfi/cff/cfg file, this change should be safe as it does not change any behaviour. AFAIK addDefault does still enforce fillDescriptions (and supplies missing parameters), while for ConfDb parsing we need the full list of all possible top-level parameters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Martin-Grunewald it is not used now because I removed it form some configurations, but sooner or later it might come back, as it already happened. At this point I would like a confirmation that the alternative definitions of TkClusParameters
I have put in fillDescritption
is compatible with ConfDB needs. It defines three possible alternatives depending on the algortihm value, but just one is present by default in the output _cfi.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, is there in the IB integration a test where this issue can be possibly caught in time?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We (only) need the full set of top-level parameters in the cfi file for ConfDb parsing, as those are fixed by ConfDb. Any parameters within PSets etc. we can freely change/add/remove. So any variant of TkClusParameters content in the cfi file should be fine for ConfDb parsing.
Of course, the parameters used at HLT would need to be those supposed to be used at HLT, but that is a manual thing to check and to adjust (if it is not the default value).
Unfortunately for the ConfDb issue/problems related to not having all top-level parameters in the cfi file, or no cfi file at all, there is no test.
PR description:
This PR addresses issue #43787 following the primary vertex code reorganization made in #43592 . In particular:
PrimaryVertexProducer
is updated to provide a default, but no explicit cfi python at runtime;TkClusParameters
andlogical alternatives for* in order to prevent the need for all possible versions always present in the PSet definition.TkFilterParameters
RecoHI/HiTracking
code is neglected, as obsolete and anyway not properly working.*: as
HITrackFilterForPVFinding
is just an extension ofTrackFilterForPVFinding
and the outputPSet
has always the same nameTkFilterParameters
, the use of logical statements forPSet
likexor
does not really works correctly. Using the extended version to provide the overall default seems the cleanest and safest solution.PR validation:
Several benchmark reco configurations are expanded and compared to previous version. FWK calidation of parameters is tested at runtime for a number of benchmark cases.