Feature #11323
Milestone #10328: Complete Phase II of Architecture Revision
Feature #10327: ShowerReco3D
Port ShowerReco3D code from LArLite into LArSoft
Description
A rewritten version of ShowerReco3D
code is being actively developed and used in LArLite.
The ShowerReco3D
version present in LArSoft is outdated beyond recovery.
The new version should be ported again to LArSoft.
History
#1 Updated by Gianluca Petrillo over 5 years ago
- Category set to Reconstruction
- Status changed from New to Assigned
- Assignee set to Corey Adams
- Target version set to architecture_phase1
Corey Adams has kindly offered to lead the port of LArLite's ShowerReco3D
into LArSoft.
A general guideline is to try to minimize and track the changes in the code during translation.
Therefore permanent changes to both LArLite and LArSoft are expected to bring the two sides closer.
Corey has identified some conflicts:
ClusterRecoUtil
containscluster::cluster_params
data structure andcluster::ClusterParamsAlg
algorithm class that are used within LArSoft for clustering; LArLite has deeply changed them, but LArSoft needs at least temporary a legacy support for the old algorithmsShowerReco3D
algorithms have been rewritten; this is the core of the translationShowerReco3D
framework has been tweaked tooCMTool
tools have been updated too; they are used byShowerReco3D
, but also by a couple of cluster merging modules
The plan of action is:
- merge
cluster::cluster_params
so that the resulting structure is a superset of LArLite and LArSoft - move the current LArLite's
cluster::ClusterParamsAlg
into a different namespace - extend LArLite's
cluster::ClusterParamsAlg
to fill the few members that have been added in LArSoft:- charge RMS
- charge statistics based on hit ADC sum (waveform) instead of charge (fit)
- charge at the initial and final point
ShowerReco3D
framework in LArSoft will be tweaked to work with the new algorithms, but LArLite's won't be directly portedCMTool
will also be portedShowerReco3D
algorithms will be ported- a plan for the solution of conflicts in cluster merging algorithms is deferred until its extents are clear
At a later point, LArSoft may wrap the new cluster-related algorithms from ClusterParamsAlg
into the interface used by clustering, making them interchangeable with the "standard" clustering algorithms that derive from the old LArLite shower code ported in January 2015. At that point we may propose an update of the standard algorithms.
#2 Updated by Corey Adams over 5 years ago
Here are some updates.
First, I had to add a service module in lardata/Utilities/GeometryHelper.h/cxx, which is a module that is very similar to Geometry Utilities. GeometryUtilities was used in the old shower reconstruction and we found some bugs. We rewrote the code in a way that should be much more maintainable, and didn't remove GeometryUtilties but instead made a new module. The code I ported into Utilities is not a service module from the larsoft sense, but it could be. I am not an expert on making those so I didn't include all the proper art connections.
I have made feature branches in cadams_showerRecoMerge for both lardata and larreco, based off of larsoft v04_32_01. In larreco, I have merged ClusterParams.h to include the new members from larlite and also the new members from larsoft. It compiles but I haven't run yet.
At the moment, all of CMTool and ClusterRecoUtil has had the major framework changes applied, and I'm chasing down the 100 little bugs that showed up and broke the build.
#3 Updated by Katherine Lato over 4 years ago
- Target version deleted (
architecture_phase1)
This is not associated with the architecture phase 1 work, so we changed that field.
#4 Updated by Katherine Lato over 4 years ago
- Status changed from Assigned to Rejected
This fell out of scope for Phase II of the architecture work. It became the responsibility of the experiment.
#5 Updated by Katherine Lato over 4 years ago
- Status changed from Rejected to Closed