-
Notifications
You must be signed in to change notification settings - Fork 4.6k
HLT:75e33_trackingOnly and a related reference workflow #48706
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
Changes from all commits
3f7b5a9
15f0133
dea6f22
2cec6f9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| import FWCore.ParameterSet.Config as cms | ||
|
|
||
| from ..sequences.HLTBeginSequence_cfi import * | ||
| from ..sequences.HLTTrackingSequence_cfi import * | ||
|
|
||
| MC_TRK = cms.Path( | ||
| HLTBeginSequence | ||
| + HLTTrackingSequence | ||
| ) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -134,6 +134,7 @@ | |
| fragment.load("HLTrigger/Configuration/HLT_75e33/paths/MC_Ele5_Open_L1Seeded_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/paths/MC_Ele5_Open_Unseeded_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/paths/MC_JME_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/paths/MC_TRK_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/psets/CkfBaseTrajectoryFilter_block_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/psets/ckfBaseTrajectoryFilterP5_cfi") | ||
| fragment.load("HLTrigger/Configuration/HLT_75e33/psets/CkfTrajectoryBuilder_cfi") | ||
|
|
@@ -365,6 +366,7 @@ | |
|
|
||
| fragment.MC_JME, | ||
| fragment.MC_BTV, | ||
| fragment.MC_TRK, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Both
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wanted to follow the pattern that exists in Run3 (and probably was in Run2), to have a tracking-only path, similar to
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @rovere Your comment appears to imply that a path that at the moment is logically a subset of an existing path, such path is not allowed. Then, logically, it sounds like paths that include the most of modules are preferred.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ciao @slava77 my only "doubt" is related to having different MC paths in the "central" Menu that, in the end, will do/trigger "full" reco (or at least full tracking) on all events, no matter what. And, in fact, you have added a dedicated "menu" to run that path only.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding the full menu, I was following the same path as in If your comment is arguing against a definition of a separate "menu", I would take an alternative solution using Still, to be clear, what is your proposal?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I am not aware of that. Do you have more details about it?
That would definitely make it less useful. The other reason to keep in the main menu is to exercise it via MC relvals over all the events without filters. The run-3 menu is more complicated and I am not sure any other path would run exactly that in the shadow.
it doesn't need to be and not we won't ensure it.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
(the discussion apparently goes back to the above, as it sounds like with some vague arguments the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @slava77 it is not that is not acceptable. At the current state of development it is simply useless. You cannot directly use it, you cannot directly time it. When we will be in a position to isolate paths, we can revisit this.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I had in mind the regular TimerService
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
for the timing purposes, I can see with the FastTimer DQM output timing by path enabled by process.FastTimerService.enableDQM = True
process.FastTimerService.enableDQMbyPath = True
process.FastTimerService.enableDQMbyModule = True
process.FastTimerService.dqmModuleTimeResolution = 10
process.FastTimerService.dqmPathTimeResolution = 50
Incrementally this seems to make sense (BTV and JME overlap), that the total times are meaningful.
Or am I misleading myself?
|
||
| fragment.MC_Ele5_Open_Unseeded, | ||
| fragment.MC_Ele5_Open_L1Seeded, | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| import FWCore.ParameterSet.Config as cms | ||
|
|
||
| from .HLT_75e33_cff import fragment | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. while this is very convenient for you I guess, it creates a lot of unnecessary obfuscation in the dump of the menu (unneeded sequences). Also it tricks the integration test script to run the whole list of paths in the test of this menu, see section
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what would be a relatively maintainable solution? I thought that a completely independently defined table is not practical for maintenance and it's more appropriate to have a way to pick a path from an existing menu. Related to the log, it seems like an issue with the tool: only empty L1 paths will run in addition to Should I loop over paths and
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
this is not what the tool shows. Or do you imply that's what the tools should show?
perhaps it's a better solution.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
the tool (
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I know what the tool does since I wrote. It expects a a configuration not clogged with paths that are not run.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. would you consider using
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
sure. But it does not solve the clutter of unneeded configuration caused by the addition of this file.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just for the record, your suggestion at https://github.com/cms-sw/cmssw/pull/48706/files#r2267520688 was implemented at #48721 |
||
|
|
||
|
|
||
| for p in dir(fragment): | ||
| att = getattr(fragment, p) | ||
| if isinstance(att, cms.Path) and p not in ["MC_TRK", "HLTriggerFinalPath", "HLTAnalyzerEndpath"]: | ||
| delattr(fragment, p) | ||
| del att | ||
|
|
||
| fragment.schedule = cms.Schedule(*[ | ||
| fragment.MC_TRK, | ||
| fragment.HLTriggerFinalPath, | ||
| fragment.HLTAnalyzerEndpath, | ||
| ]) | ||


Uh oh!
There was an error while loading. Please reload this page.