24def createTrackAnalysis( flags, name="TrackAnalysis", chains=[], label="", kak=None ):
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 from AthenaConfiguration.ComponentFactory import CompFactory
43
44 if isinstance( chains, list ) : chain = chains[0]
45 else : chain = chains
46
47 cs = chainString( chain )
48
49
50
51 from TrigIDR4Monitoring.ParticleSelectorConfig import ParticleSelectorCfg
52
53 from TrigIDR4Monitoring.MatchingConfig import TrackViewMatchingToolCfg
54
55
56
57
58
59
60
61
62
63 tool = CompFactory.IDTPM2.TrackAnalysis(name)
64
65
66
67 if flags.has("Reference") : tool.Reference = flags.Reference
68
69 if flags.has("ReferencePdgIdTag") : tool.ReferencePdgId = flags.ReferencePdgIdTag
70 if flags.has("MinTagPT") : tool.MinTagPT = flags.MinTagPT
71 if flags.has("MinTagMass") : tool.MinTagMass = flags.MinTagMass
72 if flags.has("MaxTagMass") : tool.MaxTagMass = flags.MaxTagMass
73
74 if flags.has("useDecorations") : tool.useDecorations = flags.useDecorations
75
76
77 if len(chains) > 1 :
78 tool.TagChain = chains[1]
79 if flags.has("ReferenceTag") : tool.ReferenceTag = flags.ReferenceTag
80 if flags.has("ReferencePdgIdTag") : tool.ReferencePdgIdTag = flags.ReferencePdgIdTag
81
82
83 if cs.vtx : tool.Fillers = [ "Tier0", "TrackParameters", "Resolutions", "Efficiencies", "SiHits", "TRTHits", "Vertices" ]
84 else : tool.Fillers = [ "Tier0", "TrackParameters", "Resolutions", "Efficiencies", "SiHits", "TRTHits" ]
85
86
87
88 montool = createMonTool( flags, label, chain, tool.Fillers )
89
90
91
92 tool.montool = montool
93
94
95
96
97 tool.ReferenceSelector = mktool( ParticleSelectorCfg( flags.RefSelector, name="ReferenceSelector_" + sanitise(name) ), kak )
98 tool.TestSelector = mktool( ParticleSelectorCfg( flags.TestSelector, name="TestSelector_" + sanitise(name) ), kak )
99
100 tool.TrackMatchingTool = mktool( TrackViewMatchingToolCfg( flags.Matcher, name="TrackViewMatchingTool_" + sanitise(name) ), kak )
101
102
103
104
105
106
107
108 return tool
109
110
111