Integrated Tracking/Clustering Algorithm + Supporting Tools & Infrastructure Dmitry Onoprienko Kansas State University 2008 Linear Collider Workshop Chicago, November 2008
Hit Processing Framework & Algorithms Talk overview: org.lcsim - LCIO Tracking Virtual Segmentation Integrated Tracking/Clustering Tracker Object Model Hit Processing Framework & Algorithms PFA
LCIO based persistency Object model MCTruth MCTruthDriver Simulation output SimTrackerHit LCIO based persistency True pulse height in each channel IRawTrackerData ITrackerHit extends ITrackerObject : List<? extends ITrackerHit> getParentHits() List<? extends ITrackerHit> getClusters() List<? extends ITrackerPulse> getPulses() IRefFrame getRefFrame() Type getType() Hep3Vector getDimensions(); double getdEdx() double getTime() Hep3Vector getLocalPosition() Hep3Vecror getLocalErrors() Hep3Vector getPosition(IRefFrame referenceFrame) SymmetricMatrix getCovMatrix(IRefFrame referenceFrame) DAQ output IRawTrackerHit Calibrated signal in each channel ITrackerPulse Cluster: group of pulses that cannot be unambiguously separated + measurement ITrackerHit ITrackerHit Derived measurement ITrackerHit ITrackerHit
Virtual segmentation package Applied on top of arbitrary simulation geometry org.lcsim Geometry System Extendable Library of Segmenters + machinery for chaining SegmentationManager Segmenter Defines how sensitive volumes are tiled with Sensors. uses Hit processing framework creates creates Extendable Library of SensorTypes Hexagon Rectangle VSRawTrackerData Sensor WedgeSideParallel SensorType VSRawTrackerHit Cylinder Defines geometry and other parameters of a Sensor, how it is tiled with channels, what Type of hits it produces. Polygon VSTrackerPulse … VSTrackerHit
Virtual segmentation – recent improvements Geometry services SimTrackerHit multiple virtual Sensors Expanded library of SensorTypes Automatic “trivial” Segmenter for any planar geometry Automated stereo partner lookup Integration with event display
Hit Processing Extendable library of algorithms. SimTrackerHit ChargeCollectionDriver ChargeCollector MCTruth MCTruthDriver IRawTrackerData MergeDriver NoiseGenerator … and other tools DigitizationDriver Digitizer IRawTrackerHit Extendable library of algorithms. Includes both fast simplified algorithms (smearing, etc.) and full digitization (Tim Nelson, Nick Sinev) Decoder CalibrationDriver Calibrator ITrackerPulse Shortcut drivers available Clusterer ClusteringDriver HitMaker ITrackerHit StereoHitMaker StereoDriver Data exchange format: TrackerHitMap<K extends Identifiable, V> ITrackerHit
ITC package - Goals Modular, flexible, easily extendable Evolved from the original calorimeter assisted tracking package Calorimeter-seeded track finder (essential for Vs, kinked tracks, etc.) Aid “standard” track finder Track – cluster association High purity initial clustering with topological linking starting point for PFA Modular, flexible, easily extendable Designed to be configured for a particular use scenario
ITC – Basic algorithm Run “standard” track finder Cluster hits in each calorimeter layer into Dots (MIP trace) and Beads Seed first Rosaries from tracks Thread created Rosaries For each Calorimeter Layer : Create new Rosaries from unattached Dots Assign quality ratings to Rosaries, cut Remove duplicate parts For each Rosary : Propagate trajectory to the next layer Try to attach Dot (may branch) If unsuccessful, try to attach Bead If unsuccessful, If this is a single Dot Rosary with no attached track, try to attach Dot based on proximity Otherwise, attach Crack Check for Rosary termination condition If first termination, reverse direction If not terminated, update trajectory Rosary – chain of clusters, possibly with a track attached on one end. If entering tracker, and no track is attached to this Rosary Create track seed Extend into tracker, picking up hits new track(s) See if there is orphan track nearby – if yes, try to stitch.
Interface to geometry, propagation (Mostly) detector independent implementation IGeometry interface: List<CalModule> getModules() CalLayer getLayer(CalorimeterHit hit) CalModule getModule(CalorimeterHit hit) List<CalLayer> findNeighbors(CalLayer layer, Trajectory trajectory) void propagateToLayer(CalLayer targetLayer, Trajectory trajectory) CalLayer propagateToNextLayer(Trajectory trajectory, CalLayer currentLayer) CalLayer propagateToNextLayer(Trajectory trajectory) ………………………………………………………………….. Calorimeter CalModule CalLayer Default implementation available. Custom implementations can be provided to improve performance (adapter available).
Calorimeter Assisted Tracking – Efficiency Preliminary SiD02 detector, SM events @ 500 GeV Run seedtracker (by Rich Partridge), than ITC Looking at non-prompt tracks (origin outside R = 1 cm, Z = 1 cm cylinder) Reconstructable MCParticle: hits in at least 3 tracker layers, Pt > 200 MeV
ITC Algorithm - Status Next… Virtual segmentation – released Ongoing minor improvements, no changes to API Object model – released Minor changes to persistency mechanism expected Hope to align with “standard” LCIO interfaces Hit processing framework & algorithms – released Algorithms added as needed Integrated Tracking/Clustering package – functional, plan to release within a month Expect to switch to better fitter Next… Calorimeter assisted tracking – performance tune-up and characterization Use ITC algorithm in PFA