Tracker Recon
Restructuring Report
Analysis Group Meeting
September 13, 2004
- Goals of re-structuring TkrRecon
- TDS Class Restructuring
- Restructuring eliminates the TkrPatCand and TkrPatCandHit classes
- Output of Pattern Recognition/Input to Track Fit
- Replaced with new Track class
- Not used outside TkrRecon anyway...
- Modifications to TkrCluster
- Primary change is to include idents::TkrId instead of the old tower,
layer, view information previously stored there.
- Old "layer" in "recon order" anyway...
- TkrClusterCol class (with all of its methods) to become purely a Gaudi
ObjectContainer
- Most access methods will be moved to TkrQueryClustersTool in TkrUtil
- New Track class
- TkrTrack will be the TDS track object
- TkrTrackHit will be the TDS object containing the information for each hit
on the track
- TkrTrackParams will replace the TkrFitHit/TkrFitPar/TkrFitMatrix classes
which contain the track parameters (of each type) at each hit
- Biggest difference here is that TkrTrackParams is purely a data storage
class and all the "matrix/vector math" operations are moved to outside helper
classes
- TkrTrackCol will be an ObjectVector containing the TktTrack objects
- In principle, the new organization is Gaudi Converter compliant
- TkrVertex will also be modified to follow a new vertexing plan from Bill
Atwood
- All of these changes in the Event Package (at the bottom of the food
chain)
- Changes here the most painful as they trigger rebuilds of nearly all Glast
packages
- TkrRecon Restructuring
- Rationalize the code to make the current algorithms more easily understood
- For example: stop looping over "layers" (which are really planes beginning
at the top/front of the tracker
- Move key pieces of code to the areas they are truly related to
- For example: Kalman Filter hit finding code into pattern recognition
- So, when Tracker experts make modifications they modify the right code!
- Improve the track fitter to allow for easily changing input paramters
- Second pass recon, test modes, etc.
- Remove important calculations from the TDS classes
- Keep open the possibility of providing "hooks" for alternative recon modes
- TkrRecon a container package and make key pieces sub-packages?
- Have looked at but appears will be quite a bit of work
- Current Status
- Status of code retrofit of draft new classes into Recon
- TkrCluster integration:
- First draft (which includes idents::TkrId) integrated into code
- TkrClusterCol is now a pure ObjectVector (as opposed to a more complex
container class)
- TkrTrack integration:
- Integrated into Combo and Monte Carlo Pat Recs
- Also retrofit to other two (unused) pat recs but not tested
- Runs through the "generic" track fit
- "Old" track fits used in combo pat rec in previous form
- Runs through the TkrRecon vertexing
- Further upstream:
- All AnalysisNtuple tools that use tracks have been upgraded
- AcdRecon converted to use TkrTracks
- Have not addressed Root IO yet (but... is straightforward)
- TkrVertex:
- Current version modified to work with TkrTrack classes
- New version still in draft stage
- Overall
- Have generated and reconstructed events through the full chain (except
outputting the full root trees)
- All modified code placed into cvs in the users/TkrGroup area
- Builds against the head of GlastRelease (to stay as current as possible)
- Would like to branch the various packages and introduce the code into the
main cvs areas to ease future integration
- Have a fully built version of Gleam running this code on Glast-TS
- Warning: Have NOT updated the gui display code
- currently only supporting the Fred display code!
- A good time to make the switch?
- Still quite a bit to do
- Restructured TDS classes integrated (as much as possible) into current
code is first step
- Now need to evaluate these classes
- Begin restructuring TkrRecon itself in order to maximize use of the new
classes
- Current Schedule:
- Upcoming I&T Workshop will slow us down for next two weeks
- Original plan was:
- Finalize draft classes (for integration into code): end of July
- Integration into existing code and released for Tracker group use: end of
August
- First go round of restructured TkrRecon code in September
- Goal was to "push the button" on September 19
- Updated plan (including 2 week slide for I&T)
- September: Finalize structure of TDS classes, plan for restructuring
TkrRecon/TkrUtil (adding utility classes for accessing info from TkrTrack/TkrClusters)
- October: Implement these modifications
- Goal: push the button on October 22
- Use to the end of October to "fix" problems
- Re-integrate into the main code branch?
T.Usher Last Modified:
09/13/2004 08:36