180 likes | 295 Views
Data Challenge II Reconstruction Overview and Status -or- Don’t Panic Tracy Usher (representing a lot of people). Outline. Introduction Picture of where we are going Overview and status of TkrRecon Overview and status of CalRecon Picture of what will be implemented for DC-2 Summary.
E N D
Data Challenge II ReconstructionOverview and Status -or-Don’t Panic Tracy Usher (representing a lot of people)
Outline • Introduction • Picture of where we are going • Overview and status of TkrRecon • Overview and status of CalRecon • Picture of what will be implemented for DC-2 • Summary
IntroductionDefintion of Reconstruction • What do we mean by “Reconstruction”? • Reconstruction begins after the digitized information has been converted to a particular systems “processed” data: • TkrClusters in the Tracker • CalXtalRecData objects in the Cal • Allows for calibrations to be applied (particularly in the Cal) before getting into the business of reconstructing the event • Reconstruction ends (ideally) when the event has been categorized and the energy and incoming direction have been determined with no further corrections necessary • Just before writing to the PDS or production of ntuple • Note: currently some of the above is done in the merit/AnalysisNtuple stage • Hope to change this before done
IntroductionGeneral Strategy • Gaudi Algorithms • Algorithms define the reconstruction tasks and control the sequence in which they are performed • Gaudi Services • Provide “global” information across events (e.g. geometry) • Gaudi Tools • Implementation of specific reconstruction tasks • Interact with Algorithms through abstract interfaces to allow for straight forward interchangeability • Gaudi Transient Data Store (TDS) • Globally accessible repository containing the results of each reconstruction task • Provides communication between the stages of reconstruction
Key Not “Recon” Existing Algorithms New Algorithms Flow of ReconstructionGaudi Algorithm Sructure: The End Goal Digitization PDS/ntupleOutput CalReconPass I TkrReconPass I CalReconPass II TkrReconPass II AcdRecon EventSummary CalXtalRecAlg TkrClusterAlg TkrTrackFitAlg EventSummaryAlg CalClusterAlg TkrFilterAlg TkrVertexAlg AcdReconAlg TkrFindAlg CalEventEnergyAlg CalMipFinderAlg TkrTrackFitAlg CalEventEnergyAlg TkrVertexAlg
TkrReconOverview and Status • Major modifications to TkrRecon: • Restructuring/Streamlining of TDS output • Refactor much of the TkrRecon code • From pat rec through vertexing – pretty much all of it • Introduce new features • Filter step, test/alternative pat rec, etc. • Infrastructure • Hot/dead channels • Alignment • Etc. • Most tasks completed by around early Spring • Many rounds of bug fixes complete • Hot/dead channels, alignment starting to be tested • I&T folks have adopted latest TkrRecon • Beating it/us up on a regular basis
TkrReconTDS output • Streamline the main TDS output: • TkrClusters • TkrTrack • Now output of Track finding, modified by Track Fit • Contains global track parameters and a list of Hits for each silicon plane (existing or not) crossed from the first to last “real” hit of the track • TkrTrackHit • In turn contains TkrTrackParams containing the track fit parameters at each hit on the track • Also contains a track status word giving details of status of the track finding/fitting, describing parameters used, etc. • TkrVertex • Major changes include • addition of TkrTrackParams to provide a uniform method of extract track parameters • Vertex status word similar to that for tracks
TkrReconVarious Improvements • Track Finding: • Define common tool interface for Pattern Recognition code • Combo Pat Rec extensively refactored • Combinatoric search logic localized to ComboFindTrackTool • Utilizes a new FindTrackHitsTool • Utilized a Kalman Filter track following approach to associate hits to tracks • Track Fitting: • New implementation of Kalman Filter which provides control, via job options parameters, of: • Particle mass hypothesis (e.g. can fit muons “easily”) • Energy loss mechanism (radiation loss, Bethe-Bloch, etc.) • Hit error determination (e.g. slope corrected) • Various test options (e.g. turning off Multiple Scattering errors) • Adds new features: • “Smoother Memory” option – point at which subsequent hits on tracks no longer contribute to pointing • Hit Residuals fits – drops hits from fit to get “unbiased” residuals • “Recursive Fit” to fit for track energy • Etc.
TkrReconVarious Improvements (continued) • Vertexing: • Employ new/updated track combination strategy to improve quality of two track vertices • Output TkrTrackParams for consistency of use • Tracker Energy estimate via Multiple Scattering • Rewrite of “computeMSEnergy” for determining energy in Tracke from tracking alone (relying on multiple scattering) • Improvements to resolution, especially below ~200 MeV • Track Energy Assignment • New TkrTrackEnergyTool for apportioning total event energy to “best” two tracks in event • Implement Alignment shifts into reconstruction • In progress
TkrReconSome New Stuff • Tracker Filter Step • Goal: Do not attempt to run pat rec on “obvious” garbage events • Method: a fast “event shape” analysis to determine if hits in tracker appear to be “track-like” or “cloud-like” • Status: Testing a moments-analysis based method • Monte Carlo Pattern Recognition • Goals: • Perform end-to-end testing of track fitting and vertexing to determine limits to tracking provided the “right” hits. • Pattern Recognition Efficiency studies • Method: Combine MC output (McParticles and McPositionHits) and relate to TkrClusters to from MC tracks which can be fit and vertexed • Status: Working and used in some muon hit error studies • “Global” Pattern Recognition algorithm • Goal: Provide another method to study various Pattern Recognition issues and understand possible solutions • A Method: Use 3d space points (TkrPoints), linking possible combinations of hits to form track possibilities. Tracks formed from best unique combinations of allowed possibilities. • Status: Preliminary version available for testing • Is it needed?
CalReconOverview and Status • The Calorimeter is an information rich detector • Hodoscope: Think of as a low resolution strip detector • But with “pulse height” and longitudinal position information • Attempt to maximize use of this information • Break reconstruction into logical pieces • Provide interfaces to each step to allow easy introduction of new techniques • e.g. clustering • Provide new tools to aid in background rejection • e.g. MIP finding • Redefine TDS classes to easily include extra information • A work very much in progress at this point • First results of bailing wire and chewing gum version in Bill’s talk
CalReconNew Reconstruction Structure • Cal Clustering: CalClustersAlg • Associate hit crystals which are “connected” • Current method is to associate all hit crystals into a single cluster • Exploring alternate methods • Really aimed at enhancing background rejection or improving cluster centroid/axis determination • Cluster Finding Tool interface and TDS output defined, new tools can be switched in easily • Create TDS output: CalCluster • Total energy = sum of energies of crystals • Cluster centroid and axis • Some “quality” parameters • A clustering status word • Type of clustering algorithm run • Status of various calculations (in case they fail) • Classification of cluster (e.g. “miplike”) • One new/resurrected feature: • Cal Centroid position and axis are determined from a “moments analysis” as was done circa 1998 (?) • Appears to be much better at including position and energy position from each crystal than the line fitting version used more recently • Work in progress to resurrect the full iterative moments analysis
CalReconNew Reconstruction Structure • MIP Finding: CalMipFinderAlg • Goal: Search for collections of hit crystals which are consistent with the traversal of a Minimum Ionizing Particle • Very powerful background rejection tool • Details of this will be presented in Fred’s talk • Code is very nearly running within the new Gaudi/CalRecon structure • Stay tuned for further progress reports
CalReconNew Reconstruction Structure • Energy Correction Step: CalEventEnergyAlg • Two steps to this algorithm: • Run the collection of energy correction tools that exist • Select the “best” energy correction for the particular event • Energy Correction Tools exist for both passes of CalRecon: • CalRecon First Pass: • CalRawEnergyTool • no correction, outputs raw cluster parameters for first pass tracking • CalRecon Second Pass: • Shower profile fitting • Leakage Corrections • “Geometry” corrections • Etc.
CalReconNew Reconstruction Structure • Energy Correction Step: CalEventEnergyAlg • Results of each correction tool returned in a “standard” CalCorToolResult TDS object: • An identifier for the particular correction tool • A set of CalParams (energy, centroid position/axis and errors) • A “chi-square” • A status word • A list of correction tool specific output which can be used in the final energy determination step • Final Energy Selection Step: • Ultimate idea: use a classification tree to select best energy based on all returned information • Current studies: Use results of CalValsTool • Final Ouput to TDS: CalEventEnergy • “Best” Calorimeter Parameters • The now ubiquitous status word • List of CalCorToolResult objects from all correction tools
Key Not “Recon” Existing Algorithms New Algorithms Not Fully Ready Flow of ReconstructionGaudi Algorithm Sructure: Envisioned for DC-2 Digitization PDS/ntupleOutput CalReconPass I TkrReconPass I CalReconPass II TkrReconPass II AcdRecon EventSummary CalXtalRecAlg TkrClusterAlg TkrTrackFitAlg EventSummaryAlg CalClusterAlg TkrFilterAlg TkrVertexAlg AcdReconAlg TkrFindAlg CalEventEnergyAlg CalMipFinderAlg TkrTrackFitAlg CalEventEnergyAlg TkrVertexAlg
Summary • Since DC-1 both TkrRecon and CalRecon have undergone extensive restructuring • Improvements in the code • Improvements in the output • Implementation of new tools to aid event selection and analysis • As a result, should see improvements in • Background rejection • PSF Tail suppression (I hope!) • Energy Resolution • (Hopefully) reconstruction efficiency • First version now running • See Bill’s talk this afternoon for current results
BasicOptions.txt Reconstruction.Members={ "Sequencer/Cal1", "Sequencer/Tkr", "Sequencer/Cal2", "Sequencer/TkrIter", "Sequencer/Acd" }; // First pass of Cal Recon - full recon... Cal1.Members = { "CalXtalRecAlg", "CalClustersAlg/first", "CalMipFinderAlg", "CalEventEnergyAlg/RawEnergy" }; // First pass of Tkr Recon Tkr.Members = { "TkrReconAlg/FirstPass" }; // Second pass of Cal Recon - energy corrections only Cal2.Members = { "CalEventEnergyAlg/second" }; // Second pass of Tkr Recon TkrIter.Members = { "TkrReconAlg/Iteration" };