This repository was archived by the owner on May 3, 2024. It is now read-only.
v1.4 : QoL Improvements
Many patches have been implemented, mostly focusing on improving Quality of Life while using Framework in ldmx-sw and developing ldmx-sw in Framework.
💥 Breaking Changes
- While #77 technically is a breaking change, no processor on ldmx-sw:trunk uses any of the
must*hints. The behavior ofshould*hints have stayed the same and so I am not making a big deal out of it. - #73 removes the
Framework/EventDef.hheader and so a few modules will need to be cleaned in order to remove any inclusions of that header. In addition, since the event dictionary is being generated in a different way, users should be encouraged to do a completely clean rebuild so conflicts can be avoided. This means they must not onlyrm -r buildbut alsocd Framework; git clean -xxfdto remove the previously generated files. - #87 changed
Event::existsto require a full-string match. i.e. if there are two collectionsMyCollectionandMyCollectionBeta, before #87Event::exists("MyCollection")would fail because two possibilities were found, now it will pass because onlyMyCollectionis found. The documentation points the user to useEvent::searchProductsdirectly if non-full-string-matching is required for a more complex search algorithm.
✨ Highlights
- allow for
.to exist within a configuration scripts file name (and not just its.pyextension) by running the configuration script as a Python script rather than importing it as a module #76 - rework storage control voting decision to actually separate
must*andkeep*hints into different levels of importance/priority #77 - prevent dumping of
TClassInfoerrors when closing the program early during processing by making sure to close up any open TFiles #78 - move generated LinkDef file into the
builddirectory so that developers don't need togit cleantheFrameworkmodule if an event object is changed or added #73 - store number of events started (a.k.a. the number of tries) in the run header for luminosity calculations #81
- performance monitoring of time at various important points in processing #83
- update searchProducts and exists to be more flexible and more understandable #87
What's Changed
- patch variable name so check is helpful by @tomeichlersmith in #72
- fix up run header retrieving procedure by @tomeichlersmith in #71
- move obtaining of event header address to as early as possible by @tomeichlersmith in #74
- leave file loop early when event limit reached by @tomeichlersmith in #75
- run the config file as a script and then retreive the handles by @tomeichlersmith in #76
- rework storage control decision making it a bit more flexible by @tomeichlersmith in #77
- move closing of event files into destructor by @tomeichlersmith in #78
- move fire to an app directory to avoid double compilation by @tomeichlersmith in #79
- update dictionary generation procedure by @tomeichlersmith in #73
- add a tries member and replace local variable with it by @tomeichlersmith in #80
- move numTries storage into run header by @tomeichlersmith in #81
- rudimentary performance monitoring by @tomeichlersmith in #83
- fully-specify the namespaces within logging macros by @tomeichlersmith in #84
- add ability of searchProducts to require full-string match by @tomeichlersmith in #87
- format the code according to the Google style by @tomeichlersmith in #89
Full Changelog: v1.3.6...v1.4.0