129 def makeAlgs (self, config) :
130 log = logging.getLogger('InDetTrackCalibrationConfig')
131
132 inputContainer = "InDetTrackParticles"
133 if self.inputContainer:
134 inputContainer = self.inputContainer
135 config.setSourceName (self.containerName, inputContainer)
136
137
138 if config.wantCopy (self.containerName) :
139 alg = config.createAlgorithm( 'CP::AsgShallowCopyAlg', 'InDetTrackShallowCopyAlg' )
140 alg.input = config.readName (self.containerName)
141 alg.output = config.copyName (self.containerName)
142
143
144 alg = config.createAlgorithm( 'CP::AsgSelectionAlg', 'InDetTrackEtaCutAlg' )
145 alg.selectionDecoration = 'selectEta' + self.postfix + ',as_bits'
146 config.addPrivateTool( 'selectionTool', 'CP::AsgPtEtaSelectionTool' )
147 alg.selectionTool.maxEta = self.maxEta
148 alg.particles = config.readName (self.containerName)
149 alg.preselection = config.getPreselection (self.containerName, '')
150 config.addSelection (self.containerName, '', alg.selectionDecoration)
151
152
153 if config.dataType() is not DataType.Data:
154 if not self.runBiasing:
155 log.warning('Disabling the biasing tool for now. This should not '
156 'be used in an analysis.')
157 else:
158 alg = config.createAlgorithm( 'CP::InDetTrackBiasingAlg', 'InDetTrackBiasingAlg' )
159 self.makeTrackBiasingTool(config,
160 alg,
161 self.biasD0,
162 self.biasZ0,
163 self.biasQoverPsagitta,
164 self.customRunNumber)
165 alg.inDetTracks = config.readName (self.containerName)
166 alg.inDetTracksOut = config.copyName (self.containerName)
167 alg.preselection = config.getPreselection (self.containerName, '')
168
169
170 if config.dataType() is not DataType.Data:
171 alg = config.createAlgorithm( 'CP::InDetTrackSmearingAlg', 'InDetTrackSmearingAlg' )
172 self.makeTrackSmearingTool(config,
173 alg,
174 self.smearingToolSeed,
175 self.calibFile)
176 alg.inDetTracks = config.readName (self.containerName)
177 alg.inDetTracksOut = config.copyName (self.containerName)
178 alg.preselection = config.getPreselection (self.containerName, '')
179
180 if self.minPt > 0 :
181 alg = config.createAlgorithm( 'CP::AsgSelectionAlg', 'InDetTrackPtCutAlg' )
182 alg.selectionDecoration = 'selectPt' + self.postfix + ',as_bits'
183 config.addPrivateTool( 'selectionTool', 'CP::AsgPtEtaSelectionTool' )
184 alg.selectionTool.minPt = self.minPt
185 alg.particles = config.readName (self.containerName)
186 alg.preselection = config.getPreselection (self.containerName, '')
187 config.addSelection (self.containerName, '', alg.selectionDecoration,
188 preselection=True)
189
190
191 alg = config.createAlgorithm( 'CP::InDetTrackExtraVarDecoratorAlg', 'ExtraVarDecorator' )
192 alg.inDetTracks = config.readName(self.containerName)
193
194 config.addOutputVar (self.containerName, 'pt_%SYS%', 'pt')
195 config.addOutputVar (self.containerName, 'eta_%SYS%', 'eta', noSys=True)
196 config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
197 config.addOutputVar (self.containerName, 'charge_%SYS%', 'charge', noSys=True)
198 config.addOutputVar (self.containerName, 'qOverP', 'qOverP')
199 config.addOutputVar (self.containerName, 'd0', 'd0')
200 config.addOutputVar (self.containerName, 'z0', 'z0')
201 config.addOutputVar (self.containerName, 'vz', 'vz', noSys=True)
202
203
204 if self.outputTrackSummaryInfo:
205 config.addOutputVar (self.containerName, 'numberOfInnermostPixelLayerHits', 'numberOfInnermostPixelLayerHits', noSys=True)
206 config.addOutputVar (self.containerName, 'numberOfPixelDeadSensors', 'numberOfPixelDeadSensors', noSys=True)
207 config.addOutputVar (self.containerName, 'numberOfPixelHits', 'numberOfPixelHits', noSys=True)
208 config.addOutputVar (self.containerName, 'numberOfPixelHoles', 'numberOfPixelHoles', noSys=True)
209 config.addOutputVar (self.containerName, 'numberOfPixelSharedHits', 'numberOfPixelSharedHits', noSys=True)
210 config.addOutputVar (self.containerName, 'numberOfSCTDeadSensors', 'numberOfSCTDeadSensors', noSys=True)
211 config.addOutputVar (self.containerName, 'numberOfSCTHits', 'numberOfSCTHits', noSys=True)
212 config.addOutputVar (self.containerName, 'numberOfSCTHoles', 'numberOfSCTHoles', noSys=True)
213 config.addOutputVar (self.containerName, 'numberOfSCTSharedHits', 'numberOfSCTSharedHits', noSys=True)
214 config.addOutputVar (self.containerName, 'numberOfTRTHits', 'numberOfTRTHits', noSys=True)
215 config.addOutputVar (self.containerName, 'numberOfTRTOutliers', 'numberOfTRTOutliers', noSys=True)
216
217