Skip to content

larsoft v09_70_00

Compare
Choose a tag to compare
@lgarren lgarren released this 24 Mar 03:05
· 146 commits to develop since this release

LArSoft v09_70_00 Release Notes

list of LArSoft releases

Download instructions for larsoft v09_70_00

Download instructions for just larsoftobj v09_29_00

Purpose

  • approved PRs

New features

  • LArSoft/larwirecell#28
  • LArSoft/larreco#54
    • INormalizeCharge interface extension to allow per-event setup.
    • This request is for support to SBNSoftware/icaruscode#543.
    • The INormalizeCharge interface is extended to support a "setup" stage where the tool is expected to extract whatever it needs from the event.
    • A default no-op implementation is provided.
    • One of the implementations of this interface in icaruscode will use it to cache the detector clocks data.
    • Note that the current interface already allows access to the event on each normalisation call; therefore alternative approaches are also possible that do not change the interface at all, e.g. caching the detector clocks data at the first call, and for the following calls refresh the cache only if the event ID has changed. This approach has all the usual drawbacks (more cumbersome, has a minor overhead and makes multithreading more complicate).
  • LArSoft/larpandoracontent#51
    • This PR for larpandoracontent version v04_03_02 adds support for GitHub actions to be run in the PandoraPFA LArContent repository. Actions should be skipped in the LArSoft repository and no product changes are expected.
  • Particle Ancestry Map
    • LArSoft/lardataobj#34
    • Currently in the largeant processes (as of ~1 year ago) we are producing a std::map<int, std::set> which indicates the mapping of dropped track IDs (the set of ints) to their undropped ancestor (the key). This object should allow you to find the intended ancestor if you have a track ID for which you cannot access the MCParticle.
    • This object has a few flaws:
      • It doesn't have a name, which makes it very hard for analysers to know what it does (unless you know in advance).
      • It cannot be kept or dropped using the output and input commands in fcl (as a result of not having a name that can be recognised by these prescriptions).
      • When multiple instances of largeant are ran, the MergeSimSources (larsim) module doesn't merge these objects so you lose it from the event. Running multiple largeant instances is a pretty common approach in SBND (and I'm sure in other experiments).
      • Even if you hack the fcl file to keep the original maps, the track ID offsets applied in MergeSimSources are lost, so the maps values are garbage.
    • This PR produces a wrapper object in order to solve all of the above flaws. This also provides a few useful functions to access the information.
    • It will be accompanied by PRs in larg4 and larsim in order to produce the object, and have the ability to merge it.
    • In SBND this object isn't currently used in develop (I ran across this issue in a feature branch, which will later be prepared for develop) so shouldn't be a breaking change. The CI should help indicate whether any other repos use this object and will therefore need to update their usage.
    • LArSoft/larg4#45
    • Produce the new sim::ParticleAncestryMap rather than a raw std::map<int, std::set>
    • LArSoft/larsim#110
    • This PR adds the new sim::ParticleAncestryMap to the MergeSimSources module.

Bug fixes

Updated dependencies

Change List

larsoft v09_70_00

lareventdisplay v09_08_10

larexamples v09_06_08

larpandora v09_18_04

larsimrad v09_06_14

larsimdnn v09_02_14

larrecodnn v09_17_13

larwirecell v09_12_00

larana v09_12_03

larreco v09_17_04

larsim v09_32_02

larg4 v09_14_01

larevt v09_07_03

lardata v09_13_01

larcore v09_08_01

larpandoracontent v04_03_02

larsoftobj v09_29_00

larvecutils v09_02_00

lardataobj v09_14_00

lardataalg v09_13_03

larcorealg v09_10_00

larcoreobj v09_07_00

larfinder v09_00_01

larbatch v01_59_00

larutils v1_29_01