The proptest binary reads two lists of propagators and surfaces from the input file trf_proptest.input. It also reads the number of "events" to process; each event will consist of a randomly generated track which starts on an ideal cylinder 0.0001 cm from the beampipe. The code generates a random track (with ETrackGenerator) that lies within the specified ETrackGeneratorLimits. The track travels along each of the two paths specified in the input file. The two results comprise a single event in the final ntuple.
Excluding integrated tests, the physical components include:
Based on and reusing VTrackGenerator, this class randomly generates vectors and errors by drawing from a "flat" distribution between the ETrackGeneratorLimits. The random number generator is whatever VTrackGenerator uses (at the time of this writing, that is trfutil/RandomGenerator = RanluxEngine). Each track is created on a cylinder of radius 0.0001 cm (they have to start somewhere...).
This is a simple double-vector that forces the user to "load" it with a propagator and a surface at the same time. It restricts the construction proceedure to enforce uniformity.
This class performs all the work. It is constructed with two PropSurfList's. The method computeChi2(ETrack) will propagate the ETrack along both PropSurfLists and return the resulting two final tracks.
The binary executable of this file handles the input (from a file, using objstream) and the output (to an ntuple, using HepTuple). The "registration header" must be modified by users if they want to test propagators or surfaces that are new to the framework. See below for operating instructions.
trf_proptest currently depends on the following external packages:
A user that wishes to test propagators or surfaces that are new to the framework must introduce new dependencies.
If you want to test only the rudimentary propagators and surfaces that reside in trfcyl, trfdca, etc., or if you have completed the above, simply:
Execute trf_proptest (the binary file). It should report that it is making an ntuple with the specified number of events. When it is complete...
Go into paw and execute the trf_proptest.kumac file. This will make several diagnostic histograms and includes several macros to help you take a look at them.
The ntuple contains the following words:
The following are parameters specific to track 1. Any track has five parameters but they represent different coordinates depending on the surface. Below are listed the parameters for a cylindrical surface; if the user selects a different surface as the final, then the track coordinates will not as labeled below.
At the tree-level, the tracks should have identical parameters because they start and end in the same place. You should expect small differences if for instance you have different matter effects, which will change error matrices in the case of multiple scattering, or if you have different dE/dx losses.
Questions or comments to dladams@fnal.gov or jkrane@fnal.gov
.