130 likes | 288 Views
ATLAS. Robust Alignment of the Inner Detector. Alignment Challenge Robust Alignment Code. Alignment Meeting – 1 st June 2005 Florian Heinemann. Uncertainties on module positions. µm RMS. Richard Hawkings, CERN-PH/ATT, January 2005. Alignment Challenge.
E N D
ATLAS Robust Alignment of the Inner Detector • Alignment Challenge • Robust Alignment • Code Alignment Meeting – 1st June 2005 Florian Heinemann
Uncertainties on module positions µm RMS Richard Hawkings, CERN-PH/ATT, January 2005
Alignment Challenge 5832 modules → 34992 DoF’s Don’t degrade intrinsic resolution > 20 % But know position only ~ 100 µm 6 DoF’s Get precision with software: At least ~ 10 µm For W mass ~ 1µm
Track based alignment Robust Alignment Gobal 2
Robust Alignment Idea: Use overlap residuals for determining relative module to module misalignment Overlap residual = outer hit residual – inner hit residual A ס ס B Mean of A – B ≈ 0
Robust Alignment Idea: Use overlap residuals for determining relative module to module misalignment Overlap residual = outer hit residual – inner hit residual ס ס ס Mean of A – B ≈ Relative misalignment
Robust Alignment z Rφ • Measure Rφ and z overlap residuals for each two overlaps • Use residuals also for barrel to barrel alignment • Danny Hindson: • Developed software prototype for Pixel and SCT barrel • Tested for inter-barrel module shifts in Rφ and z, but no rotations, no radius change • Tested for barrel to barrel alignment • Problems with sagitta distortions partly solved with E/p • Advantage: Simple, stable and covers most DoF • But: Like FSI and Global 2 might have problem to find simple modes • Need: • Migration to Athena • Further development like extension to endcap and sagitta removal New powerful classes available System of data handling changed Code must be invariant to further modifications Rewrite Code
Software Status • Develop in package /InDetAlignment/SiRobustAlign/SiRobustAlign-00-00-0* • Input: test.002928.romedig904.higgs120_tautau._000*.pool.root (Rome) • Reconstruction presently with xKalman • Use Trk::Track tracks from StoreGate • Classes used so far: Gives detector info class IToolSvc; class StoreGateSvc; class Identifier; class EventInfo; class AtlasDetectorID; class AlignSiModule; class AlignSiHit; namespace Trk { class Track; class TrackStateOnSurface; class INavigator; class IExtrapolator; class IPropagator; class RIO_OnTrack; class TrackParameters; } namespace InDetDD{ class SCT_DetectorManager; class PixelDetectorManager; } namespace AIDA { class IHistogram1D; } namespace SiRobustAlign { class HitOnModule; class RobustAlignAlg : public Algorithm { public: Own Algorithm } Main algorithm and new objects Track properties including hits
RobustAlignAlg First code in CVS • Loop over trackStateOnSurfaces() ->rioOnTrack() • Residuals, e.g Rφ = hit->localPosition().x() - trackParVector[Trk::locX] (local frame) • Mainly work on the rioOnTrack() level (ESD), but info like cluster size need prepRawData However, this is not what I want In contact with Edward Moyse Soon: Direct way to get global position implemented
Overlap residuals • 1st test version is running For single module overlaps: Need higher statistics → Use batch farm
Next steps Wait for Tool in InDetAlignDBTool (Richard) • Test with misalignment • Solve management of histograms • Get local misalignment for every module • Get uncertainties • Perform iterating and refitting • Extend to endcaps
Munich contribution • 3D residual – distance of closest approach (DOCA) • Calculate local 2 – sum over all tracks • Calculate derivatives by moving modules • Minimise 1st order approximation of 2 • Go one step in the right direction • No knowledge about achievable precision yet Possible help for iteration and refitting DOCA
Summary - Outlook • Migration started • Work together with Munich • First code is running • Aim: Barrel version running and tested in September • Still lots to do!