Skip to content

time-based track reconstruction library

License

Notifications You must be signed in to change notification settings

MATHUSLA/tracker

Repository files navigation

MATHUSLA Particle Tracker

Codacy Badge

a time-based tracking library for particle physics experiments

Projects

Name Description Location (demo/) Status
Prototype MATHUSLA Test Stand at P1 prototype/ FUNCTIONAL
Box MATHUSLA Full Box box/ INCOMPLETE
ModuleBox MATHUSLA Full Box with Modules module_box/ INCOMPLETE

The tracking library comes with a project directory demo which holds the MATHUSLA Test Stand Prototype tracking code (see demo/prototype). More projects to be added soon.

Tracking Script

The tracking script is a configuration file which allows the user to specify details of the tracking algorithm. Here is a list of allowed keys and their associated value types.

Key Value Type Description
verbose-output boolean type of output to terminal
draw-events boolean type of event display mode
geometry-file file path path to GDML geometry file
geometry-map-file file path path to geometry map
geometry-default-time-error positive real default time resolution of detector volumes
statistics-directory directory path path to output statistics
statistics-file-prefix prefix string prefix name for output file
statistics-file-extension extension string extension to file (or filetype)
data-directory directory path path to ROOT data to be processed
data-file-extension extension string extension to file (or filetype)
data-position-keys string for each of R4 data key read-in for position
data-position-error-keys string for each of R4 data key read-in for position error
data-detector-key string data key read-in for detector
data-track-id-key string data key read-in for track id
data-parent-id-key string data key read-in for parent id
data-momentum-keys string for each of R4 data key read-in for momentum
time-smearing boolean mode for smearing time input on resolution
layer-axis R3 coordinate direction for track parameterization
layer-depth positive real layer size for geometry approximation
line-width positive real tolerance for line approximation
seed-size positive integer number of points per seed
event-density-limit positive real < 1 density limit before event is dropped

Building

The tracker comes with a simple build script called install which allows for build customization of the tracking library.

Here is a list of useful command line options:

Action Options for ./install
Build Only none
Build and Auto Run --run (see below)
Clean CMake Build --cmake --clean
More Options --help

After a successful run of ./install, the entire tracking library is built and all of the demo projects are installed. The build directory is created which stores all of the binaries and libraries associated with the tracker.

At the moment the tracking library only comes with one complete "project tracker" so running ./install --run will automatically run the prototype executable from build/demo/. Here is a list of command line options that the Prototype uses:

Action Short Options Long Options
Geometry File -g <filepath> --geometry=<filepath>
Detector Map -m <filepath> --map=<filepath>
ROOT Data Directory -d <directory> --data=<directory>
Custom Tracking Script -s <file> --script=<file>
Quiet Mode -q --quiet
Help -h --help

The tracking script can provide the all of the detail above to the tracker and will eventually replace all command line arguments.