100 likes | 268 Views
Study of L1 CA track finder with new STS geometry and possibilities of parallel computing. Ivan Kisel (KIP, Uni-Heidelberg), Irina Rostovtseva (ITEP Moscow). Adaptation to the New STS Geometry. The STS geometry is changing Previously in each STS station the hits had the
E N D
Study of L1 CA track finder with new STS geometry and possibilities of parallel computing Ivan Kisel (KIP, Uni-Heidelberg), Irina Rostovtseva(ITEP Moscow)
Adaptation to the New STS Geometry • The STS geometry is changing Previously in each STS station the hits had the same Zhit == Zstation . Now in the new geometry the sensors can have overlaps and are positioned at 8 different Z with ∆Z = Zhit – Zstation ≤ 0.25cm. sts_Standard_s3055AAFK5.ExpE.geo → sts_Standard_s3055AAFK5.SecD.geo With the new geometry old L1TrackFinder lost ~20% efficiency. In future the value of max( ∆Z ) might change. => L1TrackFinder should be adapted to the new geometry. The tracking efficiency vs ∆Z should be studied.
Extrapolation between hits from neighbour stations • For the new STS geometry the most problematic part of the track finder is the extrapolation of tracks through the inhomogeneous magnetic field between neighbour stations • L1/CPU trigger reco needs a fast and simple algorithm with well-controlled precision (both for trigger and off-line) • The full extrapolation from each hit to each sensor would be too computationally expensive, therefore the task was split in two steps: • Extrapolation of the track to Zstation • Extrapolation from Zstation to Zhit Equation of motion in the magnetic field: For small extrapolation distances, one can assume: The solution is a parabolic function obtained using the Tailor expansion. • For L1 track finder it is very important to investigate possibility to use only the linear part and neglect the quadratic term O(∆Z2)
Estimate of the quadratic term ΔX+ X ΔX+ = ΔZ·tanα + R(cosα - √1- (sinα - ΔZ/R)2 ) ΔX– = -ΔZ·tanα + R(cosα - √1- (sinα + ΔZ/R)2 ) ΔX– tanα=|px / pz|, cos α=|pz / p|, . . . and ( sinα≤ 1 – ΔZ/R ) R The neglected quadratic term O(∆Z2) ≤ ∆X+ withR = p / k q B ΔZ Z ΔZ α Zstation
Study the validity of the linear extrapolation UrQMD MC central Au+Au 25AGeV Efficiency and fraction of killed tracks ok up to ∆Z = Zhit - Zstation < ~0.2cm
Modifications of the track finder • Extrapolation through inhomogeneous magnetic field of the track candidate to the center of the station ( Zstation ), ∆Z ~ 5cm • Linear extrapolation of the track candidate to Zhit inside the station, ∆Z < ~0.25cm (neglecting dE/dx, mult. scattering, field variation and O(∆Z2)) • Use Zhit instead of Zstation for tracklet construction and in the Kalman filter track fit => After the modifications the L1 CA track finder has the same high efficiency with the new STS geometry
Creation of tracklets Pseudocode 01 void CATrackFinder(){ 02 for (step = 0; step <= 2; step++){ 03 if (step == 0) MinMom = 1.0; else MinMom = 0.2; 04 if (step <= 1) TargetConstrHit(ht); else NoTargetConstrHit(ht); 05 for (sta = NStation-2; sta >= 0; sta--){ // --- loop over stations 06 L = sta; M = sta + 1; 07 Duplets_LM = CreateDuplets(); 08 if (sta == NStation-1){ 09 Duplets_MR = Duplets_LM; // --- Overwrite doublets 10 continue; 11 } 12 Triplets_LM = CreateTriplets(Duplets_LM, Duplets_MR); 13 vTriplets.Add(Triplets_LM); 14 Duplets_MR = Duplets_LM; // --- Overwrite doublets 15 ... 16 } // --- end of loop over stations 17 } Duplet - track segment in 2 adjacent stations Triplet - duplets of 3 consecutive stations which share a common hit Duplets and triplets were constructed sequentially from station 8 to station 1 On each step the duplets from the previous pair of stations were overwritten
Pseudocode modified for parallelization • Creation of triplets can be separated from creation of duplets because duplets use no information about triplets • Creation of duplets in each pair of stations does not depend on the previously created duplets and also allows parallelization 01 void CATrackFinder(){ 02 for (step = 0; step <= 2; step++){ 03 if (step == 0) MinMom = 1.0; else MinMom = 0.2; 04 if (step <= 1) TargetConstrHit(ht); else NoTargetConstrHit(ht); 05 for (sta = NStation-2; sta >= 0; sta--){ // --- 1st loop over stations 06 L = sta; M = sta + 1; 07 Duplets_LM = CreateDuplets(); 08 Duplets_LM_safe[sta] = Duplets_LM; // --- save the doublets 09 } // --- end of 1st loop over stations . . . 10 for (sta = NStation-3; sta >= 0; sta--){ // --- 2nd loop over stations 11 Duplets_LM = Duplets_LM_safe[sta ]; 12 Duplets_MR = Duplets_LM_safe[sta+1]; 13 Triplets_LM = CreateTriplets(Duplets_LM, Duplets_MR); 14 vTriplets.Add(Triplets_LM); 15 ... 16 } // --- end of 2nd loop over stations 17 . . .
1 2 3 4 5 6 7 8 Creation of tracklets modified for future parallelization • Same tracking efficiency • Same computation time • Increase of memory for intermediate storage of duplets in all stations • Storing all duplets might even further increase the efficiency (recovery in case of triplets lost due to dead channels) Possibility to recover duplets (and even tracks in some extreme cases!)
Summary and Plans • Track finder was modified to allow for the STS geometry with overlapping sensors at different Z The full efficiency (~97%) was recovered and the updated L1TrackFinder has been included in the STSDevelopment version (thanks Radek!) • Efficiency vs. ∆Z = Zhit – Zstation has been studied: linear extrapolation looks valid up to ∆Z < ~0.2cm • The algorithm was further modified to enable parallel construction of tracklets in future • Adaptation to the realistic STS detector response (with realistic digitization and clusterization) • Continue work on parallelization