ATLAS Offline Software
|
The Algorithm InDetRecStatistics produces a text summary of track-finding performance at the end of your Athena job. In addition, it can provide an ntuple with detailed tracking information. InDetRecStatistics is automatically configured and executed by InDetRecExample, and will provide statistics on any trackfinder that is turned on there.
You can obtain a sample statistics table by running InDetRecExample/jobOptions.py for any software release or nightly. Be sure to check the release/nightly recipes pages for any needed tags.
-Multiple Matches: There is additionally a category "multM" which is a measure of how often a given generated track is matched to a reconstructed track. It is defined as (# of reco tracks matched to a single generated particle - 1)/ (# of generated tracks)
The setting shown in the table and discussed above can be changed by overriding InDetRecStatistics's default parameters in InDetRecExample's jobOptions.py InDetRecExample already has InDetRecStatistics configured so all you need to is include at the end of jobOptions.py:
InDetRecStatistics.MyProperty = value;
For example:
InDetRecStatistics.NtupleSaveHits = true;
InDetRecStatistics can be easily integrated into your athena job. First you need a list of your TrackCollection Keys and a list of your Truth Track Collection Keys. You must have on truth collection for every reconstructed collection and they must already be in store gate. You also need a Track summary tool configured. Lastly you need to have an extrapolator in the tool service. Once you have this set up all you need to is make the necessary changes to share/InDetRecStatistics_fragment.py and include it in your jobOptions. If you'd like to change the properties you can follow the same instructions as for changing them in InDetRecExample.
The ntuple contains detailed information on generated tracks, reconstructed tracks, hits. This ntuple is used by the automated validation package InDetRTT to test nightly releases. We also use it for more manual release validation. In the process of this validation work, we have produced a collection of ROOT scripts that can be used to plot many quantities related to tracking performance: tracking efficiency, fake-rate, pulls, residuals and so on. The scripts can be found in the scripts/ directory; more on scripts below.
Variables in default ntuple:
event_ntracks: number of tracks per event
event_nhits: number of hits per event
event_nmctrack: number of generated tracks per event
event_eventNumber: event number
event_runNumber: run number
- Reconstructed Tracks -
track_ind: index of track in the full Track Collection.x
track_qoverpt: track charge over pt
track_eta: track eta
track_theta: track theta
track_cot: track cotangent theta
track_phi: track phi
track_d0: track impact parameter
track_z0: track position along beam pipe
track_error_theta: error on theta taken from track perigee error maxtix
track_error_d0: error on impact parameter taken from track perigee error maxtix
track_error_z0: error on beam pipe position taken from track perigee error matrix
track_error_phi: error on phi taken from track perigee error maxtix
track_error_cot: error on cotangent theta taken from track perigee error maxtix
track_error_qoverpt: error on charge/pt taken from track perigee error maxtix
track_chi2: track fit chi2
track_dof: track fit number of degrees of freedom
track_author: track author
track_hitpattern: bit map of hit layers per track
track_npixhits: number of pixel hits per track
track_nscthits: number of sct hits
track_ntrthits: number of trt hits
track_nhits: number of generated hits
- Track Summary Information (from Track Summary Tool)- m_track_nblayer: number of blayer hits
m_track_nbla_sh: number of blayer shared hits
m_track_npix_sh: number of pixel shared hits
m_track_nsct_sh: number of SCT shared hits
m_track_nbla_out: number of blayer outliers
m_track_nganged: number of ganged hits
m_track_npix_ho: number of pixel holes
m_track_nsct_ho: number of SCT holes
m_track_ntrt_highthr: number of high threshold trt hits
m_track_ntrt_highthrout: number of high threshold outliers
- Truth Track Information for Truth Tracks Matching Reconstructed Tracks -
track_truth_index: index of truth track in generated track collection.
track_truth_barcode: barcode of particle which created track
track_truth_pdgid: pdg id of particle that created track
track_truth_isvalid: is truth particle valid?
track_truth_prob: probability that track match is good
track_truth_available: if track matched = 1
track_truth_d0: impact parameter of generated track
track_truth_z0: generated track position along beam pipe
track_truth_phi: phi of generated track
track_truth_eta: eta of generated track
track_truth_theta: theta of generated track
track_truth_cot: cotangent theta of generated track
track_truth_qoverpt: generated charge/pt
track_truth_hasbeginvertex: 1 if generated track has begin vertex, 0 otherwise
track_truth_beginvertexx: x of begin vertex
track_truth_beginvertexy: y of begin vertex
track_truth_beginvertexz: z of begin vertex
track_truth_hasendvertex: 1 if track has end vertex, 0 otherwise
track_truth_endvertexx: x of end vertex
track_truth_endvertexy: y of end vertex
track_truth_endvertexz: z of end vertex
- Vertex - NtupleSavePV = true
event_reco_pvx: reconstructed x of primary vertex
event_reco_pvy: reconstructed y of primary vertex
event_reco_pvz: reconstructed z of primary vertex
event_true_pvx: generated x of primary vertex
event_true_pvy: generated y of primary vertex
event_true_pvz: generated z of primary vertex
-TRT- NtupleSaveTRT = true
track_nHLhits: number of high threshold hits : currently not filled
track_nLLhits: number of low threshold hits : currently not filled
track_HLratio: ratio of high to low threshold hits : currently not filled
-Reconstructed Hit- NtupleSaveHits = true
hit_type:
hit_recindex: event number
hit_globalx: Hit global x position
hit_globaly: Hit global y position
hit_globalz: Hit global z position
hit_dettype: Hit detector type location
hit_layer: Layer of hit
hit_isbarrel: if hit is in barrel = 1; otherwise 0
hit_errorcode:
hit_phi: phi of hit
hit_eta: eta of hit
hit_biasedresidualx: biased residual (no track refit) in x
hit_biasedresidualy: biased residual (no track refit) in y
hit_localxerror: local hit error in x
hit_localyerror: local hit error in y
hit_residualx: currently not filled
hit_residualy: currently not filled
- TRT Hit - NtupleSaveHits && NtupleSaveTRT
hit_driftRadius: hit drift radius
hit_trt_Residual : Residual of TRT-hit
hit_trt_Rtrack: Local R track prediction
hit_trt_Pull : Pull in R of TRT-hit
hit_trt_ErrTrk: local error of track perp. to straw
hit_trt_ErrHit: error of trt hit perp. to straw
hit_trt_highlevel:
hit_trt_strawlayer: strawlayer of hit
hit_trt_straw: straw of hit
hit_trt_module_phi: module phi (=sector) of hit
hit_trt_straw_x: x position of the wire
hit_trt_straw_y: y position of the wire
hit_trt_drifttime_raw: raw drifttime of TRT driftcircle
- Track Truth infrmation for all Truth Tracks
mctrack_eta
mctrack_theta
mctrack_cot
mctrack_phi
mctrack_recindex: this variable is incorrect, do not use it
mctrack_recindices: an array of indices of reconstructed tracks which are matched to the truth track
mctrack_recColl_id: an array of track COLLECTION indices of reco tracks matched to truth tracks
mctrack_pdgid
mctrack_barcode
mctrack_qoverpt
mctrack_d0
mctrack_z0
mctrack_perigeeok
mctrack_truth_available: number of reco tracks matched to mctrack
mctrack_truth_probs: array of hit matching fractions to reco tracks which are matched, the corresponding reco track index is in mctrack_recindices
mctrack_truth_prob: the highest probability of some reco track to match to mctrack (no info on which reco track)
mctrack_hasbeginvertex
mctrack_beginvertexx
mctrack_beginvertexy
mctrack_beginvertexz
mctrack_hasendvertex
mctrack_endvertexx
mctrack_endvertexy
mctrack_endvertexz
These are found in the /scripts directory, and are designed to run on the statistics ntuple to produce various plots.