ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackPerfMonFlags Namespace Reference

Functions

 __createIDTPMConfigFlags ()
 IDTPM whole job properties.
 __createIDTPMTrkAnaConfigFlags ()
 IDTPM individual TrkAnalysis properties to be read from trkAnaCfgFile in JSON format.
 initializeIDTPMConfigFlags (flags)
 General config flag category for IDTPM tool job configuration.
 initializeIDTPMTrkAnaConfigFlags (flags)
 Create flags category and corresponding set of flags.

Function Documentation

◆ __createIDTPMConfigFlags()

InDetTrackPerfMonFlags.__createIDTPMConfigFlags ( )
private

IDTPM whole job properties.

Definition at line 6 of file InDetTrackPerfMonFlags.py.

6def __createIDTPMConfigFlags():
7 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
8 icf = AthConfigFlags()
9
10 icf.addFlag( "DirName", "InDetTrackPerfMonPlots/" )
11 icf.addFlag( "trkAnaNames", ["Default"] )
12 icf.addFlag( "plotsDefFormat", "JSON" )
13 icf.addFlag( "plotsDefFileList" , "InDetTrackPerfMon/PlotsDefFileList_default.txt" )
14 icf.addFlag( "plotsCommonValuesFile", "" )
15 icf.addFlag( "sortPlotsByChain", False )
16
17 icf.addFlag( "trkAnaCfgFile", '' )
18 icf.addFlag( 'outputFilePrefix','myIDTPM_out')
19 icf.addFlag( 'unpackTrigChains', False )
20 icf.addFlag( 'commonTrkAnaFlags', [] )
21 return icf
22
23

◆ __createIDTPMTrkAnaConfigFlags()

InDetTrackPerfMonFlags.__createIDTPMTrkAnaConfigFlags ( )
private

IDTPM individual TrkAnalysis properties to be read from trkAnaCfgFile in JSON format.

Definition at line 26 of file InDetTrackPerfMonFlags.py.

26def __createIDTPMTrkAnaConfigFlags():
27 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
28 icf = AthConfigFlags()
29
30 # General properties
31 icf.addFlag( "enabled", True )
32 icf.addFlag( "anaTag", "" )
33 icf.addFlag( "SubFolder", "" )
34 # Test-Reference collections properties
35 icf.addFlag( "TestType", "Offline" )
36 icf.addFlag( "RefType", "Truth" )
37 icf.addFlag( "doTrigNavigation", False )
38 icf.addFlag( "TrigTrkKey" , "" )
39 icf.addFlag( "OfflineTrkKey" , "InDetTrackParticles" )
40 icf.addFlag( "TruthPartKey" , "TruthParticles" )
41 icf.addFlag( "TrigVtxKey" , "" )
42 icf.addFlag( "OfflineVtxKey" , "PrimaryVertices" )
43 icf.addFlag( "TruthVtxKey" , "TruthVertices" )
44 icf.addFlag( "pileupSwitch" , "HardScatter" )
45 # Cluster/space-point collections properties (for offline-type, ITk/ACTS only)
46 icf.addFlag( "doClusterValidation" , False )
47 icf.addFlag( "PixelClusterKey" , "" )
48 icf.addFlag( "StripClusterKey" , "" )
49 icf.addFlag( "PixelSpacePointKey" , "" )
50 icf.addFlag( "StripSpacePointKey" , "" )
51 icf.addFlag( "StripOverlapSpacePointKey", "" )
52 # Matching properties
53 icf.addFlag( "MatchingType" , "DeltaRMatch" )
54 icf.addFlag( "dRmax" , 0.05 )
55 icf.addFlag( "pTResMax" , -9.9 )
56 icf.addFlag( "truthProbCut" , 0.5 )
57 # Trigger-specific properties
58 icf.addFlag( "ChainNames" , [] )
59 icf.addFlag( "RoiKey" , "" )
60 icf.addFlag( "ChainLeg" , -1 )
61 icf.addFlag( "doTagNProbe" , False )
62 icf.addFlag( "RoiKeyTag" , "" )
63 icf.addFlag( "ChainLegTag" , 0 )
64 icf.addFlag( "RoiKeyProbe" , "" )
65 icf.addFlag( "ChainLegProbe" , 1 )
66 # Offline tracks selection properties
67 icf.addFlag( "SelectOfflineObject", "" )
68 icf.addFlag( "OfflineQualityWP" , "", help="Apply track quality selection cuts to the reconstructed tracks, if blank no selections is done" )
69 icf.addFlag( "DoOfflineSelection", False )
70 icf.addFlag( "offlMaxZ0SinTheta", -9999. )
71 icf.addFlag( "offlMinNInnermostLayerHits", -9999. )
72 icf.addFlag( "offlMinNBothInnermostLayersHits", -9999. )
73 icf.addFlag( "offlMaxNInnermostLayerSharedHits",-9999. )
74 icf.addFlag( "offlMinNSiHits", -9999. )
75 icf.addFlag( "offlMaxNSiSharedHits", -9999. )
76 icf.addFlag( "offlMaxNSiHoles", -9999. )
77 icf.addFlag( "offlMinNPixelHits", -9999. )
78 icf.addFlag( "offlMaxNPixelSharedHits", -9999. )
79 icf.addFlag( "offlMaxNPixelHoles", -9999. )
80 icf.addFlag( "offlMinNSctHits", -9999. )
81 icf.addFlag( "offlMaxNSctSharedHits", -9999.)
82 icf.addFlag( "offlMaxNSctHoles", -9999. )
83 icf.addFlag( "offlMaxChiSq", -9999. )
84 icf.addFlag( "offlMaxChiSqperNdf", -9999. )
85 icf.addFlag( "offlMinPt" , -9999.)
86 icf.addFlag( "offlMaxPt" , -9999. )
87 icf.addFlag( "offlMinEta" , -9999. )
88 icf.addFlag( "offlMaxEta" , -9999. )
89 icf.addFlag( "offlMinPhi" , -9999. )
90 icf.addFlag( "offlMaxPhi" , -9999. )
91 icf.addFlag( "offlMinD0" , -9999. )
92 icf.addFlag( "offlMaxD0" , -9999. )
93 icf.addFlag( "offlMinZ0" , -9999. )
94 icf.addFlag( "offlMaxZ0" , -9999. )
95 icf.addFlag( "offlMinQoPT" , -9999. )
96 icf.addFlag( "offlMaxQoPT" , -9999. )
97 icf.addFlag( "offlMaxAbsEta" , -9999. )
98 icf.addFlag( "offlMinAbsEta" , -9999. )
99 icf.addFlag( "offlMinAbsPhi" , -9999. )
100 icf.addFlag( "offlMaxAbsPhi" , -9999. )
101 icf.addFlag( "offlMinAbsD0" , -9999. )
102 icf.addFlag( "offlMaxAbsD0" , -9999. )
103 icf.addFlag( "offlMinAbsZ0" , -9999. )
104 icf.addFlag( "offlMaxAbsZ0" , -9999. )
105 icf.addFlag( "offlMinAbsQoPT" , -9999. )
106 icf.addFlag( "offlMaxAbsQoPT" , -9999. )
107
108 icf.addFlag( "offlEtaBins" , [] )
109 icf.addFlag( "offlMinHitsVector" , [] )
110 icf.addFlag( "offlMinPtVector" , [] )
111 icf.addFlag( "offlMaxD0Vector" , [] )
112 icf.addFlag( "offlMaxZ0Vector" , [] )
113 icf.addFlag( "offlMinProb" , -9999. )
114 icf.addFlag( "ObjectQuality" , "Medium" )
115 icf.addFlag( "TauType" , "RNN" )
116 icf.addFlag( "TauNprongs" , 1 )
117 icf.addFlag( "TruthProbMin" , 0.5 )
118 # Truth particles selection properties
119 icf.addFlag( "SelectTruthObject" , "" )
120 icf.addFlag( "truthMinPt" , -9999., help="Apply minimum pt cut to truth particle" )
121 icf.addFlag( "truthMaxPt" , -9999., help="Apply maximum pt cut to truth particle" )
122 icf.addFlag( "truthMinEta" , -9999., help="Apply minimum eta cut to truth particle" )
123 icf.addFlag( "truthMaxEta" , -9999., help="Apply maximum eta cut to truth particle" )
124 icf.addFlag( "truthMinPhi" , -9999., help="Apply minimum phi cut to truth particle" )
125 icf.addFlag( "truthMaxPhi" , -9999., help="Apply maximum phi cut to truth particle" )
126 icf.addFlag( "truthMinD0" , -9999., help="Apply minimum d0 cut to truth particle" )
127 icf.addFlag( "truthMaxD0" , -9999., help="Apply maximum d0 cut to truth particle" )
128 icf.addFlag( "truthMinZ0" , -9999., help="Apply minimum z0 cut to truth particle" )
129 icf.addFlag( "truthMaxZ0" , -9999., help="Apply maximum z0 cut to truth particle" )
130 icf.addFlag( "truthMinQoPT" , -9999., help="Apply minimum q/pt cut to truth particle" )
131 icf.addFlag( "truthMaxQoPT" , -9999., help="Apply maximum q/pt cut to truth particle" )
132 icf.addFlag( "truthMinAbsEta" , -9999., help="Apply minimum |eta| cut to truth particle" )
133 icf.addFlag( "truthMaxAbsEta" , -9999., help="Apply maximum |eta| cut to truth particle" )
134 icf.addFlag( "truthMinAbsPhi" , -9999., help="Apply minimum |phi| cut to truth particle" )
135 icf.addFlag( "truthMaxAbsPhi" , -9999., help="Apply maximum |phi| cut to truth particle" )
136 icf.addFlag( "truthMinAbsD0" , -9999., help="Apply minimum |d0| cut to truth particle" )
137 icf.addFlag( "truthMaxAbsD0" , -9999., help="Apply maximum |d0| cut to truth particle" )
138 icf.addFlag( "truthMinAbsZ0" , -9999., help="Apply minimum |z0| cut to truth particle" )
139 icf.addFlag( "truthMaxAbsZ0" , -9999., help="Apply maximum |z0| cut to truth particle" )
140 icf.addFlag( "truthMinAbsQoPT" , -9999., help="Apply minimum |q/pt| cut to truth particle" )
141 icf.addFlag( "truthMaxAbsQoPT" , -9999., help="Apply maximum |q/pt| cut to truth particle" )
142 icf.addFlag( "truthPdgId" , -9999., help="Apply pdgId selection to truth particle" )
143
144 icf.addFlag( "truthMinParentPt" , -9999. )
145 icf.addFlag( "truthMaxParentPt", -9999. )
146
147
148 # Jet-track matching properties
149 icf.addFlag( "JetContainerName", "InTimeAntiKt4TruthJets" )
150 icf.addFlag( "maxTrkJetDR", 0.4 )
151 icf.addFlag( "jetMinAbsEta", -9999. )
152 icf.addFlag( "jetMaxAbsEta", 4.0 )
153 icf.addFlag( "jetMinPt", 1000.0 )
154 icf.addFlag( "jetMaxPt", 5000000.0 )
155 # Histogram properties
156 icf.addFlag( "plotTrackParameters" , True )
157 icf.addFlag( "plotTrackParametersErrors", False )
158 icf.addFlag( "plotTrackMultiplicities" , True )
159 icf.addFlag( "plotEfficiencies" , True )
160 icf.addFlag( "plotTechnicalEfficiencies", False )
161 icf.addFlag( "useActsSiMeasurements" , False )
162 icf.addFlag( "plotResolutions" , True )
163 icf.addFlag( "plotFakeRates" , True )
164 icf.addFlag( "unlinkedAsFakes" , True )
165 icf.addFlag( "plotDuplicateRates" , False )
166 icf.addFlag( "plotHitsOnTracks" , True )
167 icf.addFlag( "plotHitsOnTracksExpert" , False )
168 icf.addFlag( "plotHitsOnTracksReference", False )
169 icf.addFlag( "plotHitsOnMatchedTracks" , False )
170 icf.addFlag( "plotHitsOnFakeTracks" , False )
171 icf.addFlag( "plotVertexParameters" , True )
172 icf.addFlag( "useSelectedVertexTracks" , False )
173 icf.addFlag( "plotOfflineElectrons" , False )
174 icf.addFlag( "ResolutionMethod" , "iterRMS" )
175
176 return icf
177

◆ initializeIDTPMConfigFlags()

InDetTrackPerfMonFlags.initializeIDTPMConfigFlags ( flags)

General config flag category for IDTPM tool job configuration.

Definition at line 179 of file InDetTrackPerfMonFlags.py.

179def initializeIDTPMConfigFlags(flags):
180 flags.addFlagsCategory( "PhysVal.IDTPM",
181 __createIDTPMConfigFlags , prefix=True )
182
183 flags.addFlag( 'Output.doWriteAOD_IDTPM', False )
184 flags.addFlag( 'Output.AOD_IDTPMFileName', 'myIDTPM_out.AOD_IDTPM.pool.root' )
185 return flags
186
187

◆ initializeIDTPMTrkAnaConfigFlags()

InDetTrackPerfMonFlags.initializeIDTPMTrkAnaConfigFlags ( flags)

Create flags category and corresponding set of flags.

Definition at line 189 of file InDetTrackPerfMonFlags.py.

189def initializeIDTPMTrkAnaConfigFlags( flags ):
190 # Set output file names
191 prefix = flags.PhysVal.IDTPM.outputFilePrefix
192 if 'HIST.root' in prefix :
193 flags.PhysVal.OutputFileName = prefix
194 flags.Output.AOD_IDTPMFileName = prefix.replace( 'HIST', 'AOD_IDTPM.pool' )
195 else :
196 flags.PhysVal.OutputFileName = prefix + '.HIST.root'
197 flags.Output.AOD_IDTPMFileName = prefix + '.AOD_IDTPM.pool.root'
198
199 # Default TrackAnalysis configuration flags category
200 flags.addFlagsCategory( "PhysVal.IDTPM.Default",
201 __createIDTPMTrkAnaConfigFlags,
202 prefix=True )
203
204 # Common TrackAnalysis configuration flags category
205 # to override individual flags in all the trkanalyses configurations with a common value
206 flags.addFlagsCategory( "PhysVal.IDTPM.Common",
207 __createIDTPMTrkAnaConfigFlags,
208 prefix=True )
209
210
211 commonTrkAnaFlags_new = []
212 for f in flags.PhysVal.IDTPM.commonTrkAnaFlags :
213 if "PhysVal.IDTPM.Common." not in f :
214 commonTrkAnaFlags_new.append( "PhysVal.IDTPM.Common."+f )
215 else : commonTrkAnaFlags_new.append(f)
216
217 # Update PhysVal.IDTPM.Common flags category with values parsed from commonTrkAnaFlags_new
218 # This is used to keep flags values of the correct/consitent type
219 if commonTrkAnaFlags_new :
220 flags.fillFromArgs( listOfArgs=commonTrkAnaFlags_new )
221
222 from InDetTrackPerfMon.ConfigUtils import getTrkAnaDicts
223 analysesDict = getTrkAnaDicts( flags )
224 trkAnaNames = []
225
226 if analysesDict:
227 for trkAnaName, trkAnaDict in analysesDict.items():
228 # Append TrkAnalysisName to list
229 trkAnaNames.append( trkAnaName )
230
231 # separate flag category for each TrkAnalysis
232 flags.addFlagsCategory( "PhysVal.IDTPM."+trkAnaName,
233 __createIDTPMTrkAnaConfigFlags,
234 prefix=True )
235
236 # set flags from values in trkAnaDict
237 for fname, fvalue in trkAnaDict.items():
238
239 if fname.startswith( "_comment" ): continue
240
241 setattr( flags.PhysVal.IDTPM, trkAnaName+"."+fname, fvalue )
242
243 # override flags for this trkAna with common ones from commonTrkAnaFlags
244 for cflag in commonTrkAnaFlags_new :
245 cfname = cflag.split('=')[0].split('.')[-1] # parsing only the name of the flag
246 cfvalue = getattr( flags.PhysVal.IDTPM.Common, cfname ) # getting its value in the correct type
247 setattr( flags.PhysVal.IDTPM, trkAnaName+"."+cfname, cfvalue )
248
249
251 types = [ getattr( flags.PhysVal.IDTPM, trkAnaName+".TestType" ),
252 getattr( flags.PhysVal.IDTPM, trkAnaName+".RefType" ) ]
253 if "Trigger" in types :
254 setattr( flags.PhysVal.IDTPM, trkAnaName+".doTrigNavigation", True )
255
256 if trkAnaNames:
257 flags.PhysVal.IDTPM.trkAnaNames = trkAnaNames
258
259 return flags
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177