Package muo_hit
Author: O.Peters (opeters@fnal.gov)
Package dependencies:
Purpose
This package holds all the information of reconstructed hits in the muon subdetector. It contains three different kinds of components:
Hits: Storage of processed hits. Hits are designed to be independent of external information, like the geometry or the angle of a track. Therefor, these hits are not calibrated or aligned, but hold the result of the conversion from raw data to more physical data, like times. For more detailed information about a hit, for example its global position, the corresponding GeometryHit (see below) should be used. This GeometryHit combines information of the calibration, alignment and the geometry to provide a more user friendly interface than the hit itself. Hits also store a pointer to calibration or alignment information.
HitCollections: Collections of hits, providing easy access to all hits or subsets of hits. HitCollections inherit from vector so they have all functionality of a vector, plus added functionality to get subcollections. HitCollections are produced by the muo_hitreco package (component MuoHitReco), and are stored in the persistant chunks, defined in package muo_hitreco.
GeometryHits: Adapter for hits, providing more detailed information about hits using external information. In general, GeometryHits provide the global position (+error) on the hits; in addition, they provide information specific to a certain type of hit (see below for a more detailed description of what each GeometryHit provides)
Components
MDTHit: A hit on one of the wires of the FAMUS subdetector. A MDT is only read out on one side; therefor it is not possible to know, using only the information from the MDT itself, where the hit occurred along the wire. Only the sum of the drift time and axial time is read out on the timer, and it is this time that is stored inside the hit. The distinction between the drift time and axial time is made in the MDTGeometryHit.
MDTGeometryHit: The adapter for MDTHits. Upon creation of the MDTGeometryHit, the hit in the MDT is assumed to have occurred at the middle of the wire. This defines the axial and drift time of the hit. The errors are taken to be the time it takes the signal to travel half the MDT wire. The position of the hit can be updated by providing the MDTGeometryHit with a MSCGeometryHit, which is a hit in the pixel system. (Note: we should add the functionality to give the MDTGeometryHit an estimated position of the track, so that the hit can be updated). The MDTGeometryHit provides access to the index of the hit, the global position of the hit, the drift time & distance (+ errors) and the axial time & distance (+ errors).
MDTHitCollection: Collection of MDTHits. This is basically a vector, adding extra functionality to get a subcollection of the MDTHits in the collection, based on MuoIndex. (Note: we should add the functionality to return a subcollection of hits based on h orj )
MSCHit: A hit on one of the pixels in the FAMUS, on of the cosmic caps or one of the A-j counters. The hit stores the time measured on the scintillator readout.
MSCGeometryHit: Adaptor for MSCHits. Using the MuoIndex stored in the MSCHit, it provides the global position of the scintillator hit. The hit is taken to have occurred in the middle of the scintillator. No information is as yet stored about the position within the scintillator where it was hit.
MSCHitCollection: Collection of MSCHits. This is basically a vector, adding extra functionality to get a subcollection of the MSCHits in the collection, based on MuoIndex. (Note: we should add the functionality to return a subcollection of hits based on h orj )
PDTHit: A hit on one of the wires of the WAMUS subdetector. Most of the wires in the WAMUS are paired, which means that the readout of drift time and axial time, instead of just one time, becomes possible. Therefor, a PDTHit stores the drift time and distance (+ errors). It is not possible to store the drift distance, because the drift time to distance relation has a dependence on the angle of the track which created the hit. Pad information is not yet implemented, but will be in the near future.
PDTGeometryHit: The adaptor for PDTHits. When no information about a track is present, it assumes a zero angle of the track (we should use the origin to define an angle!). Using this angle, the PDTGeometryHit provides information about drift distance, axial distance and the global position of the hit.
PDTHitCollection: Collection of PDTHits. Basically a vector, with added functionality to get a subcollection of PDTHits in the collection, based on MuoIndex. (Note: we should add the functionality to return a subcollection of hits based on h orj )
TODO:
Besides the italic points in the text above, there are some things that remain to be done for this package (not in any order of importance):