Feature #17099
Make standard geometry available in gallery environment
Description
This issue tracks the effort to have LArSoft standard geometry available to programs in gallery C++ environments.
Goals and restrictions¶
The goal is to have the standard geometry working in gallery. Restrictions apply:- the target environment won't need any LArSoft package depending on art
- the accepted dependencies are all and only the ones currently in
larsoftobj
(which includegallery
andlardataobj
), plus the repository where the new code will reside - the only supported language is C++
- the only supported geometry code is the one using the "standard" channel mapping currently provided in
larcore
These items can be extended on demand after this feature is implemented. Also, the implementation should attempt not to deliberately prevent any of the features outside the "supported" area defined above.
Related issues
Associated revisions
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Ran update script for code move from larcore to larcorealg (issue #17099)
Added update script for code move from larcore to larcorealg (issue #17099)
History
#1 Updated by Gianluca Petrillo over 3 years ago
- Status changed from New to Assigned
- Assignee set to Gianluca Petrillo
- Estimated time set to 40.00 h
#2 Updated by Gianluca Petrillo over 3 years ago
I updated the repository larcorealg
to work with new LArSoft. Not published (yet).
#3 Updated by Gianluca Petrillo over 3 years ago
Code has been moved from larcore
into laocorealg
:
- all geometry code (except art services and service interfaces)
- the configuration file
geometry_lartpcdetector.fcl
- the GDML description of the "standard" LArTPC detector
- all utilities in
TestUtils
- all utilities in
CoreUtils
, exceptServiceUtil.h
andServiceProviderWrappers.h
(which are art-specific) - all unit tests pertaining moved code
Note that the GDML schema directory was already empty, thus saving me from a choice in there.
The full GIT history of the files is expected to have been retained.
In addition, new functions have been added in a lar::standalone
namespace to facilitate the initialisation of geometry service provider and related facilities (FHiCL configuration parsing and message facility), aimed for use with environments like gallery.
These changes have been applied on the develop
branch of larcorealg
. They are breaking changes, and the branch has not been pushed yet.
The corresponding files have been removed from larcore
. These changes have been applied on the feature/gp_Issue17099
branch of larcore
. The branch has been published.
A script has been added to feature/gp_Issue17099
branch of larsoft
, which performs all the necessary changes on the source code (see below). This information has been added to Breaking Changes LArSoft wiki page.
This script has also been run on develop
branch of LArSoft repositories larcore, lardata, larevt, larreco, larsim, larana, lareventdisplay, larpandora and larexamples, and on experiment repositories argoneutcode, dunetpc, lariatsoft, sbndcode and uboonecode. The result has been pushed in each repository also as branch feature/gp_Issue17099
. The remaining LArSoft repositories do not require changes.
All branches are updated to LArSoft develop
(based on v06_42_00
).
#4 Updated by Gianluca Petrillo over 3 years ago
- File gallery_geometry_minimal_test.cxx gallery_geometry_minimal_test.cxx added
- File gallery_geometry_test.cxx gallery_geometry_test.cxx added
Unit tests are successfully completed.
Also, a minimal program has been compiled (attached) and run in a UPS+gallery environment, as well as a non-minimal one (also attached).
The minimal test includes in its Doxygen documentation the instructions to compile it.
The tests were run using the LArTPC geometry from test_geometry.fcl
configuration distributed in larcorealg
.
#5 Updated by Gianluca Petrillo over 3 years ago
The script to update the code has been successfully used to update the whole LArSoft and experiment develop
branches.
It has the usual usage pattern of the SerialSubstitution.py
-based scripts:
v06_43_00-UpdateGeometryToLArCoreAlg.py -Uv sourceDirwill print all the actions to be performed in the specified directories (current one if not specified). Adding the argument
--doit
will also apply those changes:v06_43_00-UpdateGeometryToLArCoreAlg.py -Uv --doit sourceDir
The script can safely rerun multiple times, as it does not change the code already updated.
The script is stored in
larsoft/bin
directory, and uses a library in larsoft/bin/python
. Setting up larsoft
UPS product is expected to configure the environment so that the script can be run just by name (that is, the bin
directory is added to the execution search path list, and the python
directory to the python module search path list).
Note that the name of the script is still subject to change at the time of this note.
#6 Updated by Gianluca Petrillo over 3 years ago
- % Done changed from 0 to 90
Updated completion fraction. Known pending items:
- push
larcorealg
develop
branch (will make it impossible to compile withlarcore
develop
untilfeature/gp_Issue17099
branches are merged) - confirm the name of the update script
#7 Updated by Gianluca Petrillo over 3 years ago
Changes to larcorealg
have been pushed into develop
and master
branches (the latter, by accident).
#8 Updated by Gianluca Petrillo over 3 years ago
- Status changed from Assigned to Resolved
- % Done changed from 90 to 100
Code has been merged into LArSoft v06_43_00.
#9 Updated by Gianluca Petrillo over 3 years ago
- Blocks Feature #17177: Add backtracker (LarSoft service) information for the reconstruction-truth matching into GALLERY framework. added
#10 Updated by Gianluca Petrillo over 3 years ago
- Status changed from Resolved to Closed
Ran update script for code move from larcore to larcorealg (issue #17099)