-
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
Migrate PixelTrackProducer and HLT to new seeding framework #17170
Migrate PixelTrackProducer and HLT to new seeding framework #17170
Conversation
A new Pull Request was created by @makortel (Matti Kortelainen) for CMSSW_9_0_X. It involves the following packages: Calibration/IsolatedParticles @perrotta, @cmsbuild, @civanch, @lveldere, @silviodonato, @cvuosalo, @arunhep, @ssekmen, @mdhildreth, @dmitrijus, @Martin-Grunewald, @franzoni, @ghellwig, @cerminar, @slava77, @fwyzard, @mmusich, @vanbesien, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here #13028 |
Pixel tracking does not currently check cluster multiplicity
25c2b8c
to
9944fe1
Compare
@cmsbuild, please test |
The tests are being triggered in jenkins. |
+1 |
@@ -272,6 +271,10 @@ HitPairEDProducer::HitPairEDProducer(const edm::ParameterSet& iConfig): | |||
else | |||
throw cms::Exception("Configuration") << "HitPairEDProducer requires either produceIntermediateHitDoublets or produceSeedingHitSets to be True. If neither are needed, just remove this module from your sequence/path as it doesn't do anything useful"; | |||
|
|||
auto clusterCheckTag = iConfig.getParameter<edm::InputTag>("clusterCheck"); | |||
if(clusterCheckTag.label() != "") | |||
clusterCheckToken_ = consumes<bool>(clusterCheckTag); |
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.
isn't this technically equivalent to what it was before?
That is, if the label is empty, you get an uninitialized token.
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.
I'd guess "no", but I don't know what consumes()
and getByToken()
do in practice if the product label is empty. My guess is that it does not lead to uninitialized token, but something else happens.
edm::Handle<bool> hclusterCheck; | ||
iEvent.getByToken(clusterCheckToken_, hclusterCheck); | ||
bool clusterCheckOk = true; | ||
if(!clusterCheckToken_.isUninitialized()) { |
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.
shouldn't this instead rely on a bool haveClusterCheck = clusterCheckTag.label() != ""
(computed at construction).
Otherwise it seems like we allow other undefined behavior (can a token be uninitialized for a non-empty label? .. or if the product was not added to the event in a given event)
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.
I have assumed that consumes()
would always return an initialized token, and hence I "abused" the initialization status here to check if the clusterCheckTag label was empty.
If it is preferred to not to rely on that, I can add an explicit boolean to deliver that information (if people prefer I can also add an explicit configuration parameter instead of relying empty InputTag
to deliver the intention to ignore cluster multiplicity check).
+1
somewhat minor comments from #17170 (comment) can be addressed later |
+1 |
+1 @makortel , are you planning on importing Calibration.IsolatedParticles.isoTrack_cff from anywhere ? |
@franzoni I have no idea what that file does or should do (or who uses or has been using it etc). I migrated it only because I found with Are you suggesting to remove it? :) |
@mmusich Thanks for the information. I presume the configs for "Hcal energy scale calibration via isolated tracks" are outside CMSSW as |
I am not suggesting to remove anything - my questions was to understand the implications of the change (which based on the release content alone, are none). |
I guess this is used to define the trigger paths (at the end of the file: |
@slava77 Regarding the exploitation of an uninitialized token in |
|
Thanks Chris. Slava, do you nevertheless want an explicit boolean member? |
On 1/27/17 6:56 AM, Matti Kortelainen wrote:
Thanks Chris. Slava, do you nevertheless want an explicit boolean member?
It looks like the logic will not change the way it is now.
So, a bool is not required.
…
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#17170 (comment)>, or
mute the thread
<https://github.com/notifications/unsubscribe-auth/AEdcbsQ67zBpZ733VjmmpUyHyaW1L0uGks5rWgWZgaJpZM4LivG2>.
|
This PR is a continuation of #16792 and #16635. It migrates the
PixelTrackProducer
to the new seeding framework, and migrates all instances of it andSeedGeneratorFromRegionHitsEDProducer
in the HLT (withcustomizeHLTforCMSSW.py
).Tested in CMSSW_9_0_X_2017-01-11-2300, no changes expected.
@rovere @VinInn @felicepantaleo @mtosi @JanFSchulte