70 likes | 207 Views
Jeffery T. Mitchell (Brookhaven National Laboratory). PHENIX Upgrade Detectors: Reconstruction Software Status. PHENIX TPC/HBD Upgrade Meeting – 11/19/03. Outline: Building the reconstruction software template Data flow example What’s next? Example “results”. Building the Template.
E N D
Jeffery T. Mitchell (Brookhaven National Laboratory) PHENIX Upgrade Detectors: Reconstruction Software Status PHENIX TPC/HBD Upgrade Meeting – 11/19/03 • Outline: • Building the reconstruction software template • Data flow example • What’s next? • Example “results”
Building the Template • A demonstration of the implementation of a “complete” reconstruction software chain (currently GEANT to DST output) now exists. • Fills preliminary hit and track DST objects for the Silicon (SVX), HBD, and TPC upgrades. • Objects are defined as separate lists of individual objects (Example: TpcClusterList is a list of TpcCluster objects) • Runs within the Fun4All framework under Redhat 8. • Observes the current PHENIX inheritence scheme for backward compatibility. • Includes the first working implementation of PISA Input within the Fun4All framework. • Plugs seamlessly into the current central arm reconstruction framework.
A Template Flowchart tpcTrackList, tpcTrack PISA output: PISAEvent.root (ancHbd) Analysis Methods (for example, fill histograms) run as separate module. “Perfect” track reconstruction PISA Event reader (analogy: offline/packages/gea) tpcClusterList, tpcCluster tpcGhitList, tpcGhit “Perfect” cluster reconstruction
Where to find the current reconstruction software templates • Code is in the repository at offline/analysis/upgrades/tpc, /hbd, /svx, /upg. • See the README file in offline/analysis/upgrades for instructions on running the template. • Browse the software on the web from links on http://www.phenix.bnl.gov/WWW/software/luxor/upgrades.html. • Next: Continue testing and debugging with HIJING events. Begin implementing true pattern recognition modules.
Reconstruction Algorithm Development Ideas • Project central arm PHTracks to the upgrade detectors: • Needed: 1) Define the Geometry Objects for the upgrade detectors, 2) Extend the PHTrack class to project to the upgrade detectors, 3) Generate a new Look-up table with projections to the upgrade detectors. What already exists almost takes care of the rest. • Define the track model. Look for any correlations that may help. • Write the track association. Kalman filter – outside-in or inside-out? Follow-your-nose?
PHTrack PHENIX central arm global track base class Data members: PHPolyLine polyLine; // the shape of the track long trackIndex; // Pointer to CglTrack short arm; // Arm number PHPolyLine projections; // Calculated projections PHPolyLine projErrors; // Projection errors PHPointerList<PHVector> directions; // List of vectors at projections PHPointerList<PHBoolean> ifIntersect; // Flags for intersection tests Virtual methods include: PHBoolean projectToVertex(PHLine&, PHPoint&) PHBoolean projectToDch (PHLine&, PHPoint&) PHBoolean projectToPc1 (PHLine&, PHPoint&) PHBoolean projectToPc2 (PHLine&, PHPoint&) PHBoolean projectToPc3 (PHLine&, PHPoint&) PHBoolean projectToCrk (PHLine&, PHPoint&) PHBoolean projectToTec (PHLine&, PHPoint&) PHBoolean projectToTof (PHLine&, PHPoint&) PHBoolean projectToPbSc (PHLine&, PHPoint&) PHBoolean projectToPbGl (PHLine&, PHPoint&) double pathLengthToCrk() = 0; double pathLengthToTof() = 0; double pathLengthToEmc() = 0;