ATLAS Offline Software
Classes
FPGATrackSimHough1DShiftTool.h File Reference

Implements road finding using Elliot's simplified Hough transform. More...

#include "GaudiKernel/ServiceHandle.h"
#include "AthenaBaseComps/AthAlgTool.h"
#include "FPGATrackSimObjects/FPGATrackSimTypes.h"
#include "FPGATrackSimObjects/FPGATrackSimVectors.h"
#include "FPGATrackSimObjects/FPGATrackSimRoad.h"
#include "FPGATrackSimObjects/FPGATrackSimHit.h"
#include "FPGATrackSimObjects/FPGATrackSimFunctions.h"
#include "FPGATrackSimObjects/FPGATrackSimTrackPars.h"
#include "FPGATrackSimHough/IFPGATrackSimRoadFinderTool.h"
#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h"
#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h"
#include "FPGATrackSimConfTools/IFPGATrackSimEventSelectionSvc.h"
#include "TFile.h"
#include <string>
#include <vector>
#include <map>
#include <boost/dynamic_bitset_fwd.hpp>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FPGATrackSimHough1DShiftTool
 

Detailed Description

Implements road finding using Elliot's simplified Hough transform.

Author
Riley Xu - riley.nosp@m..xu@.nosp@m.cern..nosp@m.ch
Date
November 6th, 2020 Declarations in this file: class FPGATrackSimHough1DShiftTool : public AthAlgTool, virtual public FPGATrackSimRoadFinderToolI

Using the Lorentz force equation, one can relate the phi of a track and the coordinate of a single hit:

 q / pT = sin(phi_track - phi_hit) / (A * r)

 phi_track = phi_hit + asin(A * r * q / pT)

where A : 10^-4 GeV / (c*mm*e) q : charge of the particle pT : transverse momentum r : cylindrical radius of the hit from the beamline phi : in radians

Here, q/pT and phi_track are unknown. This equation forms a line in q/pT vs phi_track space. However, note that hits belonging to the same track will have lines that intersect at the track's q/pT and phi. In this manner, we can conduct road-finding by looking for intersections of these pT-phi lines.

Note that in the barrel, r is approximately constant in each layer. Then scanning q/pT is the same as shifting phi in each layer. If you find a q/pT such that, after the shifts, each layer has a hit at the same phi, that indicates a track with the given q/pT and phi.

Definition in file FPGATrackSimHough1DShiftTool.h.