Software for Liquid Argon time projection chambers
Note that a single example is often not enough for your real purpose.
We expect users to copy pieces from different examples to make up their solution, and theREADME
files try to highlight which are the most serviceable parts to be exported to other code.
Type | Short description | name | Where to find it | |
service | a simple service, following the factorization model | AtomicNumber |
larexamples:source:larexamples/Services/AtomicNumber | |
a simple service depending on other services | LArSoft’s detinfo::DetectorPropertiesServiceStandard has this feature |
|||
a simple service, with experiment-specific implementations | ShowerCalibrationGalore |
larexamples:source:larexamples/Services/ShowerCalibrationGalore | ||
similar to ShowerCalibrationGalore , but needs to know about new run and events |
TBD3 |
nowhere yet | ||
algorithm + module | a trivial reconstruction algorithm using services, with a unit test | RemoveIsolatedSpacePoints |
larexamples:source:larexamples/Algorithms/RemoveIsolatedSpacePoints | |
a trivial producer module with a integration test | will appear in the art workbook | |||
a trivial producer module with a lar_ci integration test |
TBD5 |
nowhere yet | ||
a module producing a new data product and its associations | TotallyCheatTracks |
larexamples:source:larexamples/Algorithms/TotallyCheatTracks | ||
analysis module | accesses reconstructed and simulated data | AnalysisExample |
larexamples:source:larexamples/AnalysisExample |
Tests are in the matching test/...
directory (for example, a service in larexamples/Services/AtomicNumber/Services
will have its tests in test/Services/AtomicNumberService/Services
).
A section in LArSoft doxygen page also lists most of the examples.
We provide a few examples of services.
How to pick the right one?
AtomicNumber
.ShowerCalibrationGalore
(nice name!)AtomicNumber
TBD3
to see how to add that feature on top of ShowerCalibrationGalore
TBD3
does not help youShowerCalibrationGalore
; the unit tests are for those very services, but the set up of the test environment is just the same.A guide to find your example:
RemoveIsolatedSpacePoints
AnalysisTree
is not in this case, since, for example, its output has to be parseable by other analyses.TBD5
shows you how to write one.TotallyCheatTracks
, does not explain how to design a data product, but it shows how to shove a well designed one into LArSoftRemoveIsolatedSpacePoints
or TBD5
TBD7
example; if some of the produced objects are from a new data product type, also check TotallyCheatTracks
.For questions or request of new examples, please contact Gianluca Petrillo or any person in the LArSoft project team.
… and, as of LArSoft 5, we are far from having converged on a single database access model or interface. ↩