Draft: Add the possibility of ignoring the overlay for specific conditions
If a file is part of the overlay, we can declare some of its conditions exceptions for the overlay, so that their value is always loaded from the database regardless the content of the overlay.
Updates to the value in memory are still recorded in the overlay dump, but ignored when the dump is loaded.
This feature is needed for Velo alignment studies where we need to bootstrap the alignment from the values in the database instead of using the measured alignment from the previous run.
Validated by
-
Core Software -
RTA -
Simulation
Merge request reports
Activity
Hi Marco,
Can you explain how to use this?
For the long term, I am thinking of something in addition to this: With a bit of work, we could inside the alignment split certain conditions by IOV: Given a set of runs, we could then align for velo-half constants at the single run level, while other constants are the same for all runs.
However, this requires that
a.) we can write the yaml files by IOV
b.) we can read the yaml files by IOV
For b) the current overlay methods don't work right? I guess that at this point, probably the right solution is not to work with overlays, but rather checkout a database instance, and directly write the files in the right folder in that instance. Is there an easier solution?
For a) we also don't have a solution yet. At the moment, we update the constants by with a call
dataSvc.update_alignment( DeIOV->detector(), dd4hepdelta );
(see here) and trigger the writing files with a call to
getDataSvc().write_alignments( out_dir );
(see here) I don't know if this can be made to work with iov-dependent conditions.
Edited by Wouter Hulsbergen