ATLAS Offline Software
PIXELVALID.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 #!/usr/bin/env python
3 # ====================================================================
4 # PIXELVALID.py
5 # Component accumulator version
6 # IMPORTANT: this is NOT an AOD based derived data type but one built
7 # during reconstruction from HITS or RAW. It consequently has to be
8 # run from Reco_tf
9 # ====================================================================
10 
11 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory import CompFactory
13 from AthenaConfiguration.Enums import MetadataCategory
14 from AthenaCommon.CFElements import seqAND
15 from AthenaCommon.Constants import INFO
16 
17 # Main algorithm config
18 
19 def PIXELVALID_ANDToolCfg(flags, name='PIXELVALID_ANDTool'):
20  acc = ComponentAccumulator()
21 
22  sel_muon1 = 'Muons.pt > 25*GeV && Muons.ptcone40/Muons.pt < 0.3 && Muons.passesIDCuts'
23  sel_muon2 = 'Muons.pt > 20*GeV && Muons.ptcone40/Muons.pt < 0.3 && Muons.passesIDCuts'
24  draw_zmumu = '( count ( DRZmumuMass > 70*GeV && DRZmumuMass < 110*GeV ) >= 1 ) '
25  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (InvariantMassToolCfg,xAODStringSkimmingToolCfg,FilterCombinationANDCfg)
26  PIXELVALID_ZmumuMass = acc.getPrimaryAndMerge(InvariantMassToolCfg(
27  flags, name="PIXELVALID_ZmumuMass",
28  ContainerName = "Muon",
29  ObjectRequirements = sel_muon1,
30  SecondObjectRequirements = sel_muon2,
31  MassHypothesis = 105.66,
32  SecondMassHypothesis = 105.66,
33  StoreGateEntryName = "DRZmumuMass"))
34 
35  PIXELVALID_SkimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
36  flags,
37  name="PIXELVALID_SkimmingTool",
38  expression=draw_zmumu))
39 
40  PIXELVALID_ANDTool = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
41  flags,
42  name,
43  FilterList=[PIXELVALID_ZmumuMass,PIXELVALID_SkimmingTool]))
44 
45  acc.addPublicTool(PIXELVALID_ANDTool, primary=True)
46  return acc
47 
48 
49 def PIXELVALID_ZTAUTAUCfg(flags, name='PIXELVALID_ZTAUTAU'):
50  acc = ComponentAccumulator()
51 
52 # sel_mu = '(Muons.pt > 29*GeV) && Muons.passesIDCuts'
53  sel_mu = '(Muons.pt > 10*GeV) && Muons.passesIDCuts'
54  muRequirement = '( count( '+sel_mu+' ) == 1 )'
55 # sel_tau = '(TauJets.pt > 30.0*GeV) && (TauJets.RNNJetScoreSigTrans>0.55) && ( TauJets.nTracks == 3)'
56  sel_tau = '(TauJets.pt > 10.0*GeV)'
57 # tauRequirement = '( count( '+sel_tau+' ) == 1 )'
58  tauRequirement = '( count( '+sel_tau+' ) > 0 )'
59  draw_taumuh = muRequirement+' && '+tauRequirement
60  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (xAODStringSkimmingToolCfg)
61  PIXELVALID_ZTAUTAU = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
62  name="PIXELVALID_ZTAUTAU",
63  expression=draw_taumuh))
64 
65  acc.addPublicTool(PIXELVALID_ZTAUTAU, primary=True)
66  return acc
67 
68 
69 def PIXELVALIDKernelCommonCfg(flags, name='PIXELVALIDKernelCommon'):
70  acc = ComponentAccumulator()
71 
72  # ====================================================================
73  # AUGMENTATION TOOLS
74  # ====================================================================
75  augmentationTools = []
76 
77  # Add unbiased track parameters to track particles
78  from DerivationFrameworkInDet.InDetToolsConfig import (TrackToVertexWrapperCfg)
79  PIXELVALIDTrackToVertexWrapper = acc.getPrimaryAndMerge(TrackToVertexWrapperCfg(
80  flags,
81  name="PIXELVALIDTrackToVertexWrapper",
82  DecorationPrefix="PIXELVALID"))
83  augmentationTools.append(PIXELVALIDTrackToVertexWrapper)
84 
85  from DerivationFrameworkInDet.InDetToolsConfig import (UsedInVertexFitTrackDecoratorCfg)
86  PIXELVALIDUsedInFitDecorator = acc.getPrimaryAndMerge(UsedInVertexFitTrackDecoratorCfg(flags))
87  augmentationTools.append(PIXELVALIDUsedInFitDecorator)
88 
89  # @TODO eventually computed for other extra outputs. Possible to come up with a solution to use a common Z0AtPV if there is more than one client ?
90  from DerivationFrameworkInDet.InDetToolsConfig import TrackParametersAtPVCfg
91  DFCommonZ0AtPV = acc.getPrimaryAndMerge(TrackParametersAtPVCfg(
92  flags, name="PIXELVALID_DFCommonZ0AtPV",
93  Z0SGEntryName="PIXELVALIDInDetTrackZ0AtPV"))
94  augmentationTools.append(DFCommonZ0AtPV)
95 
96  from DerivationFrameworkInDet.PixelNtupleMakerConfig import (EventInfoPixelModuleStatusMonitoringCfg)
97  DFEI = acc.getPrimaryAndMerge(EventInfoPixelModuleStatusMonitoringCfg(flags))
98  augmentationTools.append(DFEI)
99 
100  # ====================================================================
101  # SKIMMING TOOLS
102  # ====================================================================
103  skimmingTools = []
104  if flags.InDet.DRAWZSelection:
105  PIXELVALID_ANDTool = acc.getPrimaryAndMerge(PIXELVALID_ANDToolCfg(flags))
106  skimmingTools.append(PIXELVALID_ANDTool)
107 
108  if flags.InDet.PixelDumpMode==3:
109  PIXELVALID_ZTAUTAU = acc.getPrimaryAndMerge(PIXELVALID_ZTAUTAUCfg(flags))
110  skimmingTools.append(PIXELVALID_ZTAUTAU)
111 
112  # ====================================================================
113  # CREATE THE DERIVATION KERNEL ALGORITHM AND PASS THE ABOVE TOOLS
114  # ====================================================================
115  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
116  name,
117  AugmentationTools = augmentationTools,
118  SkimmingTools = skimmingTools,
119  ThinningTools = [],
120  RunSkimmingFirst = True))
121 
122  return acc
123 
124 def PIXELVALIDThinningKernelCfg(flags, name="PIXELVALIDThinningKernel", StreamName=""):
125  acc = ComponentAccumulator()
126 
127  # ====================================================================
128  # THINNING TOOLS
129  # ====================================================================
130  thinningTools = []
131 
132  # MC truth thinning
133  if flags.Input.isMC:
134  from DerivationFrameworkInDet.InDetToolsConfig import (IDTRKVALIDTruthThinningToolCfg)
135  thinningTools.append(acc.getPrimaryAndMerge(IDTRKVALIDTruthThinningToolCfg(flags, StreamName=StreamName)))
136 
137  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
138  name,
139  AugmentationTools=[],
140  ThinningTools=thinningTools,
141  OutputLevel=INFO))
142  return acc
143 
144 
145 def PIXELVALIDKernelCfg(flags, name="PIXELVALIDKernel", StreamName=""):
146  """Configure the derivation framework driving algorithm (kernel) for PIXELVALID"""
147  acc = ComponentAccumulator()
148 
149  PIXELVALIDSequenceName='PIXELVALIDSequence'
150  acc.addSequence(seqAND(PIXELVALIDSequenceName))
151 
152  acc.merge(PIXELVALIDKernelCommonCfg(flags),sequenceName=PIXELVALIDSequenceName)
153 
154  from InDetConfig.InDetPrepRawDataToxAODConfig import InDetPrepDataToxAODCfg
155  acc.merge(InDetPrepDataToxAODCfg(flags),sequenceName=PIXELVALIDSequenceName)
156 
157  # ====================================================================
158  # AUGMENTATION TOOLS
159  # ====================================================================
160  tsos_augmentationTools = []
161 
162  from DerivationFrameworkInDet.InDetToolsConfig import DFTrackStateOnSurfaceDecoratorCfg
163  DFTSOS = acc.getPrimaryAndMerge(DFTrackStateOnSurfaceDecoratorCfg(flags))
164  tsos_augmentationTools.append(DFTSOS)
165 
166  PixelStoreMode = flags.InDet.PixelDumpMode
167  if flags.InDet.PixelDumpMode==3:
168  PixelStoreMode = 1
169 
170 
171  if flags.InDet.PixelDumpMode != 4:
172  from DerivationFrameworkInDet.PixelNtupleMakerConfig import PixelNtupleMakerCfg
173  PixelMonitoringTool = acc.getPrimaryAndMerge(PixelNtupleMakerCfg(flags,
174  name = "PixelMonitoringTool",
175  StoreMode = PixelStoreMode))
176  tsos_augmentationTools.append(PixelMonitoringTool)
177 
178  # shared between IDTIDE and PIXELVALID
179  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
180  name,
181  AugmentationTools=tsos_augmentationTools,
182  ThinningTools=[],
183  OutputLevel=INFO))
184 
185  acc.merge(PIXELVALIDThinningKernelCfg(flags, StreamName=StreamName), sequenceName=PIXELVALIDSequenceName)
186 
187  return acc
188 
189 # Main config
190 def PixelVALIDCfg(flags):
191  """Main config fragment for PIXELVALID"""
192  acc = ComponentAccumulator()
193 
194  # Main algorithm (kernel)
195  if flags.Detector.GeometryID:
196  acc.merge(PIXELVALIDKernelCfg(flags, StreamName = 'StreamDAOD_PIXELVALID'))
197 
198  # =============================
199  # Define contents of the format
200  # =============================
201  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
202  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
203  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
204  PIXELVALIDSlimmingHelper = SlimmingHelper(
205  "PIXELVALIDSlimmingHelper",
206  NamesAndTypes = flags.Input.TypedCollections,
207  flags = flags)
208 
209  AllVariables = []
210  StaticContent = []
211  SmartCollections = []
212  ExtraVariables = []
213 
214  PixelStoreMode = flags.InDet.PixelDumpMode
215  if flags.InDet.PixelDumpMode==3:
216  PixelStoreMode = 1
217 
218  if flags.InDet.PixelDumpMode == 4:
219  PixelStoreMode = 3
220 
221 
222  if PixelStoreMode==1:
223  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
224  "EventInfo": "xAOD::EventInfo", "EventInfoAux": "xAOD::EventAuxInfo",
225  "Muons": "xAOD::MuonContainer", "MuonsAux": "xAOD::MuonAuxContainer",
226  "Electrons": "xAOD::ElectronContainer",
227  "ElectronsAux": "xAOD::ElectronAuxContainer",
228  "Photons": "xAOD::PhotonContainer",
229  "PhotonsAux": "xAOD::PhotonAuxContainer",
230  "JetETMissNeutralParticleFlowObjects": "xAOD::FlowElementContainer",
231  "JetETMissNeutralParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
232  "JetETMissChargedParticleFlowObjects": "xAOD::FlowElementContainer",
233  "JetETMissChargedParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
234  "TauJets": "xAOD::TauJetContainer",
235  "TauJetsAux": "xAOD::TauJetAuxContainer",
236  "InDetTrackParticles": "xAOD::TrackParticleContainer",
237  "InDetTrackParticlesAux": "xAOD::TrackParticleAuxContainer",
238  "InDetLargeD0TrackParticles": "xAOD::TrackParticleContainer",
239  "InDetLargeD0TrackParticlesAux": "xAOD::TrackParticleAuxContainer",
240  "PixelMSOSs": "xAOD::TrackStateValidationContainer",
241  "PixelMSOSsAux": "xAOD::TrackStateValidationAuxContainer",
242  "Kt4EMTopoOriginEventShape": "xAOD::EventShape",
243  "Kt4EMTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
244  "Kt4LCTopoOriginEventShape": "xAOD::EventShape",
245  "Kt4LCTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
246  "NeutralParticleFlowIsoCentralEventShape": "xAOD::EventShape",
247  "NeutralParticleFlowIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
248  "NeutralParticleFlowIsoForwardEventShape": "xAOD::EventShape",
249  "NeutralParticleFlowIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo",
250  "TopoClusterIsoCentralEventShape": "xAOD::EventShape",
251  "TopoClusterIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
252  "TopoClusterIsoForwardEventShape": "xAOD::EventShape",
253  "TopoClusterIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo",
254  "MET_Calo": "xAOD::MissingETContainer",
255  "MET_CaloAux": "xAOD::MissingETAuxContainer",
256  "MET_Track": "xAOD::MissingETContainer",
257  "MET_TrackAux": "xAOD::MissingETAuxContainer",
258  "MET_LocHadTopo": "xAOD::MissingETContainer",
259  "MET_LocHadTopoRegions": "xAOD::MissingETContainer",
260  "MET_LocHadTopoAux": "xAOD::MissingETAuxContainer",
261  "MET_LocHadTopoRegionsAux": "xAOD::MissingETAuxContainer",
262  "MET_Core_AntiKt4LCTopo": "xAOD::MissingETContainer",
263  "MET_Reference_AntiKt4LCTopo": "xAOD::MissingETContainer",
264  "MET_Core_AntiKt4LCTopoAux": "xAOD::MissingETAuxContainer",
265  "MET_Reference_AntiKt4LCTopoAux": "xAOD::MissingETAuxContainer"})
266 
267  SmartCollections += ["Muons", "Electrons", "Photons"]
268 
269  AllVariables += ["EventInfo",
270  "JetETMissNeutralParticleFlowObjects",
271  "JetETMissChargedParticleFlowObjects",
272  "InDetTrackParticles",
273  "InDetLargeD0TrackParticles",
274  "PixelMSOSs",
275  "Kt4EMTopoOriginEventShape",
276  "Kt4LCTopoOriginEventShape",
277  "NeutralParticleFlowIsoCentralEventShape",
278  "NeutralParticleFlowIsoForwardEventShape",
279  "TopoClusterIsoCentralEventShape",
280  "TopoClusterIsoForwardEventShape"]
281 
282  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
283  "TauJets": "xAOD::TauJetContainer",
284  "TauJetsAux": "xAOD::TauJetAuxContainer",
285  "Kt4EMPFlowEventShape": "xAOD::EventShape",
286  "Kt4EMPFlowEventShapeAux": "xAOD::EventShapeAuxInfo",
287  "PrimaryVertices": "xAOD::VertexContainer",
288  "PrimaryVerticesAux": "xAOD::VertexAuxContainer",
289  "AntiKt4EMTopoJets": "xAOD::JetContainer",
290  "AntiKt4EMTopoJetsAux": "xAOD::JetAuxContainer",
291  "AntiKt4EMPFlowJets": "xAOD::JetContainer",
292  "AntiKt4EMPFlowJetsAux": "xAOD::JetAuxContainer",
293  "BTagging_AntiKt4EMTopo": "xAOD::BTaggingContainer",
294  "BTagging_AntiKt4EMTopoAux": "xAOD::BTaggingAuxContainer",
295  "BTagging_AntiKt4EMPFlow": "xAOD::BTaggingContainer",
296  "BTagging_AntiKt4EMPFlowAux": "xAOD::BTaggingAuxContainer"})
297 
298  ExtraVariables += ["TauJets.ABS_ETA_LEAD_TRACK.ClusterTotalEnergy.ClustersMeanCenterLambda.ClustersMeanEMProbability.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac.ClustersMeanSecondLambda.EMFRACTIONATEMSCALE_MOVEE3.EMFracFixed.GhostMuonSegmentCount.LeadClusterFrac.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.NNDecayModeProb_3pXn.PFOEngRelDiff.PanTau_DecayModeExtended.TAU_ABSDELTAETA.TAU_ABSDELTAPHI.TAU_SEEDTRK_SECMAXSTRIPETOVERPT.UpsilonCluster.absipSigLeadTrk.chargedFELinks.etHotShotDR1.etHotShotDR1OverPtLeadTrk.etHotShotWin.etHotShotWinOverPtLeadTrk.etaCombined.hadLeakFracFixed.leadTrackProbHT.mCombined.mu.nConversionTracks.nFakeTracks.nModifiedIsolationTracks.nVtxPU.neutralFELinks.passThinning.phiCombined.ptCombined.ptIntermediateAxisEM.rho"]
299  ExtraVariables += ["PrimaryVertices.sumPt2.x.y.z"]
300 
301  AllVariables += ["Kt4EMPFlowEventShape",
302  "AntiKt4EMTopoJets", "AntiKt4EMPFlowJets",
303  "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4EMPFlow"]
304 
305  if flags.Input.isMC:
306  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
307  "AntiKt4TruthJets": "xAOD::JetContainer",
308  "AntiKt4TruthJetsAux": "xAOD::JetAuxContainer",
309  "JetInputTruthParticles": "xAOD::TruthParticleContainer",
310  "JetInputTruthParticlesNoWZ": "xAOD::TruthParticleContainer",
311  "TruthEvents": "xAOD::TruthEventContainer",
312  "TruthEventsAux": "xAOD::TruthEventAuxContainer",
313  "TruthParticles": "xAOD::TruthParticleContainer",
314  "TruthParticlesAux": "xAOD::TruthParticleAuxContainer",
315  "egammaTruthParticles": "xAOD::TruthParticleContainer",
316  "egammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
317  "MuonTruthParticles": "xAOD::TruthParticleContainer",
318  "MuonTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
319  "LRTegammaTruthParticles": "xAOD::TruthParticleContainer",
320  "LRTegammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
321  "TruthVertices": "xAOD::TruthVertexContainer",
322  "TruthVerticesAux": "xAOD::TruthVertexAuxContainer",
323  "MET_Truth": "xAOD::MissingETContainer",
324  "MET_TruthRegions": "xAOD::MissingETContainer",
325  "MET_TruthAux": "xAOD::MissingETAuxContainer",
326  "MET_TruthRegionsAux": "xAOD::MissingETAuxContainer"})
327 
328  AllVariables += ["AntiKt4TruthJets",
329  "JetInputTruthParticles",
330  "JetInputTruthParticlesNoWZ",
331  "TruthEvents",
332  "TruthParticles",
333  "egammaTruthParticles",
334  "MuonTruthParticles",
335  "LRTegammaTruthParticles",
336  "TruthVertices"]
337 
338  list_aux = ["BHadronsFinal", "BHadronsInitial", "BQuarksFinal",
339  "CHadronsFinal", "CHadronsInitial", "CQuarksFinal",
340  "HBosons", "Partons", "TQuarksFinal", "TausFinal",
341  "WBosons", "ZBosons"]
342  for item in list_aux:
343  label = "TruthLabel"+item
344  labelAux = label+"Aux"
345  PIXELVALIDSlimmingHelper.AppendToDictionary.update(
346  {label: "xAOD::TruthParticleContainer",
347  labelAux: "xAOD::TruthParticleAuxContainer"})
348  AllVariables += [label]
349  # End of isMC block
350 
351  # Trigger info is actually stored only when running on data...
352  PIXELVALIDSlimmingHelper.IncludeTriggerNavigation = True
353  PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent = True
354 
355  if PixelStoreMode==2:
356  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
357  "EventInfo": "xAOD::EventInfo", "EventInfoAux": "xAOD::EventAuxInfo",
358  "PixelMonitoringTrack": "xAOD::TrackParticleContainer",
359  "PixelMonitoringTrackAux": "xAOD::TrackParticleAuxContainer"})
360 
361  AllVariables += ["EventInfo",
362  "PixelMonitoringTrack"]
363 
364  if flags.Input.isMC:
365  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
366  "TruthEvents": "xAOD::TruthEventContainer",
367  "TruthEventsAux": "xAOD::TruthEventAuxContainer",
368  "TruthParticles": "xAOD::TruthParticleContainer",
369  "TruthParticlesAux": "xAOD::TruthParticleAuxContainer"})
370 
371  AllVariables += ["TruthEvents",
372  "TruthParticles"]
373 
374  list_aux = ["BHadronsFinal", "BHadronsInitial", "BQuarksFinal",
375  "CHadronsFinal", "CHadronsInitial", "CQuarksFinal",
376  "HBosons", "Partons", "TQuarksFinal", "TausFinal",
377  "WBosons", "ZBosons"]
378  for item in list_aux:
379  label = "TruthLabel"+item
380  labelAux = label+"Aux"
381  PIXELVALIDSlimmingHelper.AppendToDictionary.update(
382  {label: "xAOD::TruthParticleContainer",
383  labelAux: "xAOD::TruthParticleAuxContainer"})
384  AllVariables += [label]
385  # End of isMC block
386 
387 
388  if PixelStoreMode == 3:
389  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
390  "EventInfo": "xAOD::EventInfo", "EventInfoAux": "xAOD::EventAuxInfo",
391  "InDetTrackParticles": "xAOD::TrackParticleContainer",
392  "InDetTrackParticlesAux": "xAOD::TrackParticleAuxContainer"})
393 
394  AllVariables += ["EventInfo",
395  "InDetTrackParticles"]
396 
397  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
398  "PrimaryVertices": "xAOD::VertexContainer",
399  "PrimaryVerticesAux": "xAOD::VertexAuxContainer"})
400 
401  ExtraVariables += ["PrimaryVertices.sumPt2.x.y.z"]
402 
403  if flags.Input.isMC:
404  PIXELVALIDSlimmingHelper.AppendToDictionary.update({
405  "TruthEvents": "xAOD::TruthEventContainer",
406  "TruthEventsAux": "xAOD::TruthEventAuxContainer",
407  "TruthParticles": "xAOD::TruthParticleContainer",
408  "TruthParticlesAux": "xAOD::TruthParticleAuxContainer",
409  "TruthVertices": "xAOD::TruthVertexContainer",
410  "TruthVerticesAux": "xAOD::TruthVertexAuxContainer"})
411 
412  AllVariables += ["TruthEvents",
413  "TruthParticles",
414  "TruthVertices"]
415 
416  list_aux = ["BHadronsFinal", "BHadronsInitial", "BQuarksFinal",
417  "CHadronsFinal", "CHadronsInitial", "CQuarksFinal",
418  "HBosons", "Partons", "TQuarksFinal", "TausFinal",
419  "WBosons", "ZBosons"]
420  for item in list_aux:
421  label = "TruthLabel"+item
422  labelAux = label+"Aux"
423  PIXELVALIDSlimmingHelper.AppendToDictionary.update(
424  {label: "xAOD::TruthParticleContainer",
425  labelAux: "xAOD::TruthParticleAuxContainer"})
426  AllVariables += [label]
427  # End of isMC block
428 
429  # Trigger info is actually stored only when running on data...
430  PIXELVALIDSlimmingHelper.IncludeTriggerNavigation = True
431  PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent = True
432 
433 
434  PIXELVALIDSlimmingHelper.AllVariables = AllVariables
435  PIXELVALIDSlimmingHelper.StaticContent = StaticContent
436  PIXELVALIDSlimmingHelper.SmartCollections = SmartCollections
437  PIXELVALIDSlimmingHelper.ExtraVariables = ExtraVariables
438 
439  # Output stream
440  PIXELVALIDItemList = PIXELVALIDSlimmingHelper.GetItemList()
441  acc.merge(OutputStreamCfg(flags, "DAOD_PIXELVALID",
442  ItemList=PIXELVALIDItemList, AcceptAlgs=["PIXELVALIDKernelCommon"]))
443 
444  if flags.InDet.PixelDumpMode == 4:
445  acc.merge(SetupMetaDataForStreamCfg(
446  flags, "DAOD_PIXELVALID", AcceptAlgs=["PIXELVALIDKernelCommon"],
447  createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
448  else:
449  acc.merge(SetupMetaDataForStreamCfg(
450  flags, "DAOD_PIXELVALID", AcceptAlgs=["PIXELVALIDKernelCommon"],
451  createMetadata=[MetadataCategory.CutFlowMetaData]))
452 
453  return acc
python.InDetPrepRawDataToxAODConfig.InDetPrepDataToxAODCfg
def InDetPrepDataToxAODCfg(flags)
Definition: InDetPrepRawDataToxAODConfig.py:160
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.PixelNtupleMakerConfig.EventInfoPixelModuleStatusMonitoringCfg
def EventInfoPixelModuleStatusMonitoringCfg(flags, name="EventInfoPixelModuleStatusMonitoring", **kwargs)
Definition: PixelNtupleMakerConfig.py:23
python.DerivationFrameworkToolsConfig.FilterCombinationANDCfg
def FilterCombinationANDCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:59
python.PIXELVALID.PIXELVALIDThinningKernelCfg
def PIXELVALIDThinningKernelCfg(flags, name="PIXELVALIDThinningKernel", StreamName="")
Definition: PIXELVALID.py:124
python.InDetToolsConfig.TrackParametersAtPVCfg
def TrackParametersAtPVCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:365
python.PixelNtupleMakerConfig.PixelNtupleMakerCfg
def PixelNtupleMakerCfg(flags, name="PixelMonitoringTool", **kwargs)
Definition: PixelNtupleMakerConfig.py:12
python.PIXELVALID.PIXELVALID_ZTAUTAUCfg
def PIXELVALID_ZTAUTAUCfg(flags, name='PIXELVALID_ZTAUTAU')
Definition: PIXELVALID.py:49
python.PIXELVALID.PIXELVALID_ANDToolCfg
def PIXELVALID_ANDToolCfg(flags, name='PIXELVALID_ANDTool')
Definition: PIXELVALID.py:19
python.DerivationFrameworkToolsConfig.InvariantMassToolCfg
def InvariantMassToolCfg(ConfigFlags, name, **kwargs)
Invariant mass tool config.
Definition: DerivationFrameworkToolsConfig.py:44
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
python.InDetToolsConfig.TrackToVertexWrapperCfg
def TrackToVertexWrapperCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:556
Constants
some useful constants -------------------------------------------------—
python.PIXELVALID.PIXELVALIDKernelCommonCfg
def PIXELVALIDKernelCommonCfg(flags, name='PIXELVALIDKernelCommon')
Definition: PIXELVALID.py:69
python.InDetToolsConfig.DFTrackStateOnSurfaceDecoratorCfg
def DFTrackStateOnSurfaceDecoratorCfg(flags, name="DFTrackStateOnSurfaceDecorator", **kwargs)
Definition: InDetToolsConfig.py:127
python.DerivationFrameworkToolsConfig.xAODStringSkimmingToolCfg
def xAODStringSkimmingToolCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:29
python.PIXELVALID.PixelVALIDCfg
def PixelVALIDCfg(flags)
Definition: PIXELVALID.py:190
python.InDetToolsConfig.IDTRKVALIDTruthThinningToolCfg
def IDTRKVALIDTruthThinningToolCfg(flags, name="IDTRKVALIDTruthThinningTool", **kwargs)
Definition: InDetToolsConfig.py:598
UsedInVertexFitTrackDecoratorConfig.UsedInVertexFitTrackDecoratorCfg
def UsedInVertexFitTrackDecoratorCfg(flags, trackCont='InDetTrackParticles', vtxCont='PrimaryVertices')
Definition: UsedInVertexFitTrackDecoratorConfig.py:32
python.PIXELVALID.PIXELVALIDKernelCfg
def PIXELVALIDKernelCfg(flags, name="PIXELVALIDKernel", StreamName="")
Definition: PIXELVALID.py:145
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:216
SlimmingHelper
Definition: SlimmingHelper.py:1