60 likes | 168 Views
CSC global & local coordinates. A list of clusters and associated strips. Layer 1. Global positions. Layer 2. Layer 3. Layer 4. Strips #60 of each layer are at the same global position for ALL layers. Why?.
E N D
CSC global & local coordinates E. Lancon
A list of clusters and associated strips Layer 1 Global positions Layer 2 Layer 3 Layer 4 Strips #60 of each layer are at the same global position for ALL layers E. Lancon
Why? • There is only one common surface defined for every layer in CscRdoToCscPrepData.cxx • This surface is the center of the CSC module • All local coordinates are projected onto this surface for local->global transformations • Solution ? In CscRdoToCscPrepData.cxx : • From : const GlobalPosition* globalWirePos = descriptor->surface().localToGlobal( *localWirePos ); • To : const GlobalPosition* globalWirePos = descriptor->surface(channelId).localToGlobal( *localWirePos ); E. Lancon
global <-> local transformations • As the axis passing by the chamber center and orthogonal to the chamber entrance plane do no point to the origin (0,0) • An effective rotation of 0.266 degree is applied at center • Vary with depth (layer) inside module • See next slide E. Lancon
Amdb : • axis : normal to CSC entrance plane • chamber center is 35.517mm down CSC Transverse View Points to (0,0) Points to (0,0) • Geomodel : • Axis normal to CSC entrance plane • crosses at chamber center • This axis is used for .transform it is wrong… Does not Point to (0,0) E. Lancon
Consequence/solution? • Global->Local transformation wrong up to ~200 microns • CscRdoToCscPrepData.cxx, CscThresholdClusterBuilder.cxx and some others have to be modified, • Alternatives : • Surface::center shifted by 35.517mm • Surface::plane rotated according to position in depth? • 1. Looks the simplest? • The GeoModel looks OK. E. Lancon