-
Notifications
You must be signed in to change notification settings - Fork 37
Add example fcl to run reco and trigger in one job #485
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
base: main
Are you sure you want to change the base?
Conversation
|
Hi @michaelmackenzie,
which require these tests: build. @Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main. ⌛ The following tests have been triggered for d8d65f1: build (Build queue - API unavailable) |
|
☀️ The build tests passed at d8d65f1.
N.B. These results were obtained from a build of this Pull Request at d8d65f1 after being merged into the base branch at 408fdd7. For more information, please check the job page here. |
|
📝 The HEAD of |
brownd1978
left a comment
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.
Is the intent of this sequence to verify the trigger as it was run Online? If so, what is the point of running reco in this job?
It seems as if this config overrides the standard configuration Offline of configuration (ie makePH), so the reco results will be different from running Production/reco/Reco.fcl (ie what Pass1 runs). Is that the intent?
| @@ -0,0 +1,43 @@ | |||
| # | |||
| # Drop the trigger results and re-run the trigger in addition to standard reco | |||
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.
There doen't seem to be any action associated with this comment: is it planned to add this functionality or is the comment out-of-date?
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 comment was meant to give the intent of the fcl as a whole, rather than for a specific line.
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 missed the #include of drop_trigger.
When re-processing early MDC2020 data dropping the trigger was required to avoid problems with evolved schema, but AFAIK that's not true today. Are there other technical reasons why the drop needs to be embedded in this script? If not, it could be mixed in at the final .fcl stage.
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'm not positive if it's necessary, but the intent here was to produce a reco file with a single version of Online-configured reco instead of multiple versions.
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.
Could this script be useful for comparing past/new triggers in a single job, event by 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.
It's possible, but I imagine you would need many input tag updates to not confuse the modules of which versions to select (e.g. TrigMakeSH --> TrigMakeSH:Reco).
|
The goal here was to provide an example of how to re-run Offline and Online reco on an existing digi input, replacing the previous trigger results with updated ones. This is useful for trigger development, where you can produce a new reco dataset from an existing digi dataset after trigger updates, without the need for reproduction/mixing of the entire digi dataset. This is primarily useful for the "Triggerable" events in the digi dataset, which should be independent of the actual trigger decision. |
|
I don't have a problem with the combining of re-running trigger with Offline reco, but I'm curious why just rerunning the trigger isn't itself a valid and complete test. |
|
I think re-running the trigger and validating the results are identical is a useful test for Pass 1. The intent of this PR was to add an example fcl to produce a new reco dataset with updated trigger configurations, without the need for re-digitization or mixing. I wasn't intending this to be for this validation stage. Perhaps this is something that should be a separate Pass 1 fcl, without any Offline reco run? I don't believe any of the prolog changes should affect Offline reco modules. I ran 100 CE+ events with OnSpill.fcl and OnSpillTrig.fcl and used the validation tools, where I only saw changes in the Online distributions (which was expected in this case). |
This reconstruction version will allow one to update the trigger reconstruction/results without the need for re-running the digitization stage (which can be very expensive in the case of producing mixed samples).