The reconstruction evaluation chain is intended to be a tool for studying the performance of the reconstruction chain in depth, using simulated data.
The evaluator software, while important, has not been updated to work with the latest reconstruction software. It needs to be tested again, and probably some parts of it should be rethought and rewritten.
Much of what the evaluation software does is comparing reconstructed objects (clusters, roads, etc.) to the simulated data. To do this, the software needs to know which PISA tracks created which PISA hits, which PISA hits contributed to each struck tube in the MuID, etc. The information that the software uses is stored in various tables:
munhits
contains the PISA hits in the MuID; each entry also lists which PISA track ("true" track number) produced the hit. This table comes from the PISA event file.
fkin
contains the PISA tracks in the event. This table also comes from the PISA event file.
dMuiDCMGhitRel
lists which PISA hits (given by the row number in the munhits table) contributed to each struck tube in the MuID (given by the "hardware" address of the corresponding MuID channel). Produced in the response chain (modules mMuiReadout and mMuiChannelGhitRel), and saved to a "rawrel" or "eval" file.
dMuiClusterRawRel
lists the raw hits (given by the dMuiRawIndex field in the dMuiRaw table) associated with each cluster (given by the dMuiClusterIndex field in the dMuiClusters table). Based purely on reconstruction, not on PISA data; comes from the mMuiClusterFinder call in the reconstruction chain.
dMuiRoadClusterRel
lists the clusters (given by the dMuiClusterIndex field in the dMuiClusters table) attached to each road (given by the dMuiRoadIndex field in the dMuiRoads table). Based purely on reconstruction, not on PISA data; comes from the mMuiRoadFinder call in the reconstruction chain.
These tables are the "fundamental" quantities, which are used to derive other useful data. Taking the data from these tables, the software fills various other relational tables:
dMuiRawGhitRel
lists which PISA hits (given by the row number in the munhits table) contributed to each struck tube in the MuID (given by the dMuiRawIndex field in the dMuiRaw table). This is essentially a more useful expression of the data in the dMuiDCMGhitRel table. Filled by the mMuiFillRawGhitRel module.
dMuiFkinRawRel
lists which PISA tracks (given by the PISA "true" track number) contributed to each struck tube in the MuID (given by the dMuiRawIndex field in the dMuiRaw table). Filled by the mMuiFillRawFkinRel module.
dMuiClusterFkinRel
lists which PISA tracks (given by the PISA "true" track number) contributed to each cluster (given by the dMuiClusterIndex field in the dMuiClusters table). Filled by the mMuiFillClusterFkinRel module.
dMuiRoadFkinRel
lists which PISA tracks (given by the PISA "true" track number) contributed to each road (given by the dMuiRoadIndex index in the dMuiRoads table). Filled by the mMuiFillRoadFkinRel module.
dMuiRoadRawRel
lists the raw hits (given by the dMuiRawIndex field in the dMuiRaw table) attached to each road (given by the dMuiRoadIndex field in the dMuiRoads table). Based purely on reconstruction, not on PISA data.
The cluster-finder evaluator, implemented in the mMuiClusterEval module, provides performance measurements for the cluster-finder software.
The input data to mMuiClusterEval include the following tables: munhits, fkin, dMuiRaw, dMuiClusters, dMuiClusterRawRel, dMuiFkinRawRel, and dMuiClusterFkinRel.
mMuiClusterEval fills the following histograms (the name of each histogram is given in parentheses):
(hClusterMatchQuality) the ratio of the number of hits that a PISA track contributed to a cluster to the total number of hits in that cluster. The histogram contains one entry for each combination of cluster and PISA track, where that track contributed hits to the cluster.
(hClusterContribCount) the number of PISA tracks that contributed one or more hits to the cluster.
(hClusterGtrackHits) the number of hits in a cluster versus the total number of hits in the MuID panel containing the cluster from a single PISA track. The histogram contains one entry for each combination of cluster and PISA track, where that track contributed hits to the cluster.
(hHClusterDeltaY and hHClusterDeltaZ) the difference between the cluster centroid position (in Y and Z) and the position of each PISA hit that contributed to the MuID raw hits in the cluster. This is calculated for clusters of hits in horizontal two-packs.
(hVClusterDeltaX and hVClusterDeltaZ) the difference between the cluster centroid position (in X and Z) and the position of each PISA hit that contributed to the MuID raw hits in the cluster. This is calculated for clusters of hits in vertical two-packs.
The road-finder evaluator, implemented in the mMuiRoadEval module, provides performance measurements for the road-finder software.
The input data to mMuiRoadEval include the following tables: munhits, fkin, dMuiRaw, dMuiRoads, dMuiFkinRawRel, and dMuiRoadFkinRel.
Several of the histograms are made subject to cuts on the road PISA-track match quality, the ratio of the number of hits that a PISA track contributed to a road to the total number of hits in that road. There are two such cuts available: a dominant contributor cut, which sets the minimum quality for a road and PISA track to be considered well-matched, and a false road cut, which sets the maximum quality for false roads. These cuts are set at run time using the dMuiRoadEvalControl table.
mMuiRoadEval fills the following histograms (the name of each histogram is given in parentheses):
(hPtotAllGTracks, hThetaAllGTracks, and hPhiAllGTracks) Momentum, polar angle and azimuthal angle distributions for PISA tracks. These histograms have one entry for each PISA track that has at least one horizontal and one vertical hit in both the second and third gaps.
(hPtotFoundGTracks, hThetaFoundGTracks, hPhiFoundGTracks) Momentum, polar angle and azimuthal angle distributions for PISA tracks. These histograms have one entry for each PISA track that has at least one horizontal and one vertical hit in both the second and third gaps, and at least one road passing the dominant contributor cut.
(hPtotExcessGTracks, hThetaExcessGTracks, hPhiExcessGTracks) Momentum, polar angle and azimuthal angle distributions for PISA tracks. These histograms are filled for each PISA track that at least one horizontal and one vertical hit in both the second and third gaps, and has more than one road passing the dominant contributor cut. For each such road beyond the first, one entry is added for that PISA track.
(hAllMatchQuality) the match quality of each road. The histogram contains one entry for each combination of road and PISA track, where that track contributed hits to the road.
(hG3MatchQuality) the match quality of each road reaching the fourth gap. The histogram contains one entry for each combination of road and PISA track, where that track contributed hits to the road.
(hG4MatchQuality) the match quality of each road reaching the fifth (last) gap. The histogram contains one entry for each combination of road and PISA track, where that track contributed hits to the road.
(hDominantMatchQuality) the match quality of the dominant PISA track (the one with the highest match quality). This histogram has one entry for each road.
(hRoadContribCount) the number of PISA tracks that contributed one or more hits to the road.
(hEfficEvent) ratio of the number of "found" PISA tracks (those having at least one horizontal and one vertical hit in both the second and third gaps, and with at least one road passing the dominant contributor cut) to the number of PISA tracks with at least one horizontal and one vertical hit in both the second and third gaps.
(hExcessEvent) ratio of the number of "excess" roads (if more than one road passes the dominant contributor cut for a given PISA track, the other roads are considered excess) in the event to the number of "found" PISA tracks (those having at least one horizontal and one vertical hit in both the second and third gaps, and with at least one road passing the dominant contributor cut).
(hGhostRoads) number of roads per event for which no PISA track exceeded the false road threshold.
(hAllGTrackCount) number of PISA tracks per event.
(hSeedGTrackCount) number of PISA tracks per event with at least one horizontal and one vertical hit in both the second and third gaps.
(hG3GTrackCount) number of PISA tracks per event with at least one horizontal and one vertical hit in both the second and third gaps, and reaching at least the fourth gap.
(hG4GTrackCount) number of PISA tracks per event with at least one horizontal and one vertical hit in both the second and third gaps, and reaching the fifth (last) gap.