ATLAS Offline Software
Loading...
Searching...
No Matches
T2VertexBeamSpotConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentFactory import CompFactory
4
5from TrigT2BeamSpot.T2VertexBeamSpotMonitoring import (T2VertexBeamSpotMonitoring,
6 T2VertexBeamSpotToolMonitoring,
7 T2BSTrackFilterToolMonitoring,
8 T2TrackBeamSpotToolMonitoring)
9
10# track filter tool used by vertex tool
12 return CompFactory.getComp("PESA::T2BSTrackFilterTool")(
13 name = "TrackFilterVtx",
14 MonTool = T2BSTrackFilterToolMonitoring(flags).monTool,
15 TrackMinPt = 0.5, # Minimum track pT to be considered for vertexing
16 TrackMaxEta = 2.5, # Maximum absolute value of eta
17 TrackMaxZ0 = 200.0, # Maximum track Z0 to be considered for vertexing
18 TrackMaxD0 = 10.0, # Maximum track d0 to be considered for vertexing
19 TrackMaxZ0err = 5.0, # Maximum track Z0 error to be considered for vertexing
20 TrackMaxD0err = 5.0, # Maximum track d0 error to be considered for vertexing
21 TrackMinNDF = 2.0, # Minimum track NDF to be considered for vertexing
22 TrackMinQual = 0.0, # Minimum track chi^2/NDF to be considered for vertexing
23 TrackMaxQual = 10.0, # Maximum track chi^2/NDF to be considered for vertexing
24 TrackMinChi2Prob = 0.05, # Minimum track cumulative chi2 probability
25 TrackMinSiHits = 7, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
26 TrackMinPIXHits = 0, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
27 TrackMinSCTHits = 0, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
28 TrackMinTRTHits = -10, # Minimum # track TRT hits to be considered for vertexing
29 GoalSeedTracks = 500, # Number of tracks for local beamspot estimate
30 D0Chi2Cutoff = 25., # Cutoff on D0 Chi^2 for BS-based filtering
31 BeamSizeLS = 0.01, # Approximate beam size, mm
32 )
33
34# track filter tool used by track tool
36 return CompFactory.getComp("PESA::T2BSTrackFilterTool")(
37 name = "TrackFilterTrk",
38 MonTool = T2BSTrackFilterToolMonitoring(flags).monTool,
39 TrackMinPt = 0.5, # Minimum track pT to be considered for vertexing
40 TrackMaxEta = 2.5, # Maximum absolute value of eta
41 TrackMaxZ0 = 200.0, # Maximum track Z0 to be considered for vertexing
42 TrackMaxD0 = 10.0, # Maximum track d0 to be considered for vertexing
43 TrackMaxZ0err = 5.0, # Maximum track Z0 error to be considered for vertexing
44 TrackMaxD0err = 5.0, # Maximum track d0 error to be considered for vertexing
45 TrackMinNDF = 2.0, # Minimum track NDF to be considered for vertexing
46 TrackMinQual = 0.0, # Minimum track chi^2/NDF to be considered for vertexing
47 TrackMaxQual = 10.0, # Maximum track chi^2/NDF to be considered for vertexing
48 TrackMinChi2Prob = 0.05, # Minimum track cumulative chi2 probability
49 TrackMinSiHits = 7, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
50 TrackMinPIXHits = 0, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
51 TrackMinSCTHits = 0, # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
52 TrackMinTRTHits = -10, # Minimum # track TRT hits to be considered for vertexing
53 GoalSeedTracks = 500, # Number of tracks for local beamspot estimate
54 D0Chi2Cutoff = 10., # Cutoff on D0 Chi^2 for BS-based filtering
55 BeamSizeLS = 0.01, # Approximate beam size, mm
56 )
57
58
60 return CompFactory.getComp("PESA::T2VertexBeamSpotTool")(
61 name = "T2VertexBeamSpotTool",
62 MonTool = T2VertexBeamSpotToolMonitoring(flags).monTool,
63 TrackFilter = trackFilterForVertex(flags),
64 PrimaryVertexFitter = CompFactory.TrigPrimaryVertexFitter(zVariance=3.0, CreateTrackLists=True),
65
66 WeightClusterZ = True, # Use the track Z0 weighted cluster Z position as seed
67 ReclusterSplit = False, # Recluster split track collections before vertex fitting
68 ClusterPerigee = "beamspot",
69 nSplitVertices = 2, # Turn on (>1) or off vertex splitting
70 TotalNTrackMin = 4, # Minimum number of tracks required in an event
71 TrackSeedPt = 0.7, # Minimum track pT to be considered for seeding a vertex fit
72 TrackClusterDZ = 0.35, # Maximum distance between tracks considered as a cluster
73
74 VertexMinNTrk = 2, # Minimum # tracks in a cluster to be considered for vertexing
75 VertexMaxNTrk = 100, # Maximum # tracks in a cluster to be considered for vertexing (saves on time!)
76 VertexMaxXerr = 1., # Maximum resulting X error on vertex fit for "good" vertices
77 VertexMaxYerr = 1., # Maximum resulting Y error on vertex fit for "good" vertices
78 VertexMaxZerr = 10., # Maximum resulting Z error on vertex fit for "good" vertices
79 VertexMinQual = 0.0, # Minimum resulting chi^2/NDF on vertex fit for "good" vertices
80 VertexMaxQual = 100.0, # Maximum resulting chi^2/NDF on vertex fit for "good" vertices
81 VertexMinChi2Prob = -10.0, # Minimum cumulative chi2 probability, from CLHEP/GenericFunctions/CumulativeChiSquare.hh
82 VertexBCIDMinNTrk = 10, # Minimum # tracks in a vertex to be used for per-BCID monitoring
83
84 filterBS = True, # filter tracks w.r.t. beamspot
85 )
86
87
89 return CompFactory.getComp("PESA::T2TrackBeamSpotTool")(
90 name = "T2TrackBeamSpotTool",
91 TrackFilter = trackFilterForTrack(flags),
92 MonTool = T2TrackBeamSpotToolMonitoring(flags).monTool,
93 doLeastSquares = True,
94 doLogLikelihood = True,
95 beamSizeLS = 0.01, # Approximate beam size, mm
96 )
97
98
99# Setup for writing out all events seen by the BeamSpot algorithm
100def T2VertexBeamSpot_activeAllTE(flags, name="T2VertexBeamSpot_activeAllTE"):
101 return CompFactory.getComp("PESA::T2VertexBeamSpot")(
102 name,
103 doTrackBeamSpot = True, # run track-based calibration tool
104 TrackBeamSpotTool = InDetTrigMTTrackBeamSpotTool(flags),
105 BeamSpotTool = InDetTrigMTBeamSpotTool(flags),
106 MonTool = T2VertexBeamSpotMonitoring(flags).monTool
107 )
108
109
110if __name__=="__main__":
111 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
112 from AthenaConfiguration.AllConfigFlags import initConfigFlags
113
114 flags = initConfigFlags()
115 flags.lock()
116
117 cfg = MainServicesCfg(flags)
118 cfg.addEventAlgo( T2VertexBeamSpot_activeAllTE(flags) )
119 cfg.wasMerged()
T2VertexBeamSpot_activeAllTE(flags, name="T2VertexBeamSpot_activeAllTE")