A gmake all of this package will build a binary, L3TrackAnalyze_x, which can be run with typical framework options as in e.g. runall #!/bin/sh ./L3TrackAnalyze_x -rcp l3ftrack_analysis/rcp/runL3TrackAna_x.rcp \ -input_file listfile:allRun187176.list The file allRun187176.list contains a list of the data files I used. There is a certain amount of setting up you need to do in order to run this code: 1. After setting up your release, setup D0RunII p16.01.00 SRT_QUAL=maxopt, you need to copy some configuration files into the directory in which you run. Execute the script $SRT_PUBLIC_CONTEXT/tsim_l3/bin/initScriptRunner.sh (You should only need to do this once). 2. You need to make sure you have a correct version of l3calib.ev for the data you are using. 3. Also, for post-shutdown data you should get l3cft_dead_fibres.dat which should be in the directory where you run. This file comes from the CFT unpack tool package, l3fcftunpack. 4. You will need a suitable tools.lst file depending which tracker you want to test. I have examples for the GlobalTtracker, Pete's HTrack tool and my CFT-only tracker, L3TCFTTrack. 5. If you want to test a new tracker you can simply add the relevant definitions to tools.rcp and make a suitable tools.lst with any parameters it needs. You will also need to add an L3_TOOL_DECL line for it in my code at the top of l3ftrack_analysis/src/L3TrackAnalyze.cpp where the other tools are declared (and of course you will need to build the executable with a copy of you tool in the same release area). That's about it for the first stage I think. Running the executable should produce a root file, l3cfttrk.root, which contains a root tree of interesting variables. I will probably add a few more things for the final version. Also, I would like to be able to figure out how to get the timing statistics for the tools. In the root file you have for each event all the track parameters and errors for the offline tracks (from d0reco), transformed into Level3 form for ease of comparison, and the track parameters and errors (which may be meaningless) for the Level3 tracks. The Level3 tracks are generated by running the tracker within the executable, so the input data files need to be output from reco which has the raw data chunk retained. The same analysis should work either with real data or Monte Carlo data that has been through d0reco, although I have only successfully tested it using real data so far. I may have some problem with MC files to sort out. Phase 2: the actual analysis. Once you have generated the root file the analysis is very fast, using a root macro analysis.C and analysis.h . This will be supplied in a standard version in the macros directory of the package. Compiling the macro properly is highly recommended. It runs MUCH faster that way, i.e. seconds rather than minutes. In root do: .L analysis.C+ analysis a a.Loop() Make sure you also have the beamspot.dat file as the macro adjusts the DCA findability cuts to take account of the actual beamspot position. This will run with the default cuts and produce 2 pages of standard plots. Mnay other histograms also exist and can be examined. A few more standard plots are in the process of being added. The macro does track matching based on the axial track parameters only by default, but using the stereo is an option. Look at the methods Options, Params, Bins, Findability to see what you can change.