10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from AthenaConfiguration.Enums
import MetadataCategory
13 from AthenaCommon.CFElements
import seqAND
21 sel_muon1 =
'Muons.pt > 25*GeV && Muons.ptcone40/Muons.pt < 0.3 && Muons.passesIDCuts'
22 sel_muon2 =
'Muons.pt > 20*GeV && Muons.ptcone40/Muons.pt < 0.3 && Muons.passesIDCuts'
23 draw_zmumu =
'( count ( DRZmumuMass > 70*GeV && DRZmumuMass < 110*GeV ) >= 1 ) '
24 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (InvariantMassToolCfg,xAODStringSkimmingToolCfg,FilterCombinationANDCfg)
26 flags, name=
"PIXELVALID_ZmumuMass",
27 ContainerName =
"Muon",
28 ObjectRequirements = sel_muon1,
29 SecondObjectRequirements = sel_muon2,
30 MassHypothesis = 105.66,
31 SecondMassHypothesis = 105.66,
32 StoreGateEntryName =
"DRZmumuMass",
33 InputDecorNames = [
"Muons.ptcone40"]))
37 name=
"PIXELVALID_SkimmingTool",
38 expression=draw_zmumu))
43 FilterList=[PIXELVALID_ZmumuMass,PIXELVALID_SkimmingTool]))
45 acc.addPublicTool(PIXELVALID_ANDTool, primary=
True)
53 sel_mu =
'(Muons.pt > 10*GeV) && Muons.passesIDCuts'
54 muRequirement =
'( count( '+sel_mu+
' ) == 1 )'
56 sel_tau =
'(TauJets.pt > 10.0*GeV)'
58 tauRequirement =
'( count( '+sel_tau+
' ) > 0 )'
59 draw_taumuh = muRequirement+
' && '+tauRequirement
60 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (xAODStringSkimmingToolCfg)
62 name=
"PIXELVALID_ZTAUTAU",
63 expression=draw_taumuh))
65 acc.addPublicTool(PIXELVALID_ZTAUTAU, primary=
True)
75 augmentationTools = []
78 from DerivationFrameworkInDet.InDetToolsConfig
import (TrackToVertexWrapperCfg)
81 name=
"PIXELVALIDTrackToVertexWrapper",
82 DecorationPrefix=
"PIXELVALID"))
83 augmentationTools.append(PIXELVALIDTrackToVertexWrapper)
85 from DerivationFrameworkInDet.InDetToolsConfig
import (UsedInVertexFitTrackDecoratorCfg)
87 augmentationTools.append(PIXELVALIDUsedInFitDecorator)
90 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParametersAtPVCfg
92 flags, name=
"PIXELVALID_DFCommonZ0AtPV",
93 Z0SGEntryName=
"PIXELVALIDInDetTrackZ0AtPV"))
94 augmentationTools.append(DFCommonZ0AtPV)
96 from DerivationFrameworkInDet.PixelNtupleMakerConfig
import (EventInfoPixelModuleStatusMonitoringCfg)
98 augmentationTools.append(DFEI)
105 if flags.InDet.DRAWZSelection:
107 skimmingTools.append(PIXELVALID_ANDTool)
109 if flags.InDet.PixelDumpMode==3:
111 skimmingTools.append(PIXELVALID_ZTAUTAU)
116 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
118 AugmentationTools = augmentationTools,
119 SkimmingTools = skimmingTools,
121 RunSkimmingFirst =
True))
136 from DerivationFrameworkInDet.InDetToolsConfig
import (IDTRKVALIDTruthThinningToolCfg)
138 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
140 AugmentationTools=[],
141 ThinningTools=thinningTools,
144 elif flags.InDet.PixelDumpMode == 5:
145 acc.addSequence(
seqAND(
"PixelClusterThinningSequence") )
146 acc.getSequence(
"PixelClusterThinningSequence").ExtraDataForDynamicConsumers = [
"xAOD::TrackMeasurementValidationContainer/PixelClusters"]
147 acc.getSequence(
"PixelClusterThinningSequence").ProcessDynamicDataDependencies =
True
148 from DerivationFrameworkInDet.InDetToolsConfig
import (PixelClusterThinningCfg)
150 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
152 AugmentationTools=[],
153 ThinningTools=thinningTools,
155 sequenceName=
"PixelClusterThinningSequence")
161 """Configure the derivation framework driving algorithm (kernel) for PIXELVALID"""
164 PIXELVALIDSequenceName=
'PIXELVALIDSequence'
165 acc.addSequence(
seqAND(PIXELVALIDSequenceName))
169 from InDetConfig.InDetPrepRawDataToxAODConfig
import InDetPrepDataToxAODCfg
175 tsos_augmentationTools = []
177 from DerivationFrameworkInDet.InDetToolsConfig
import DFTrackStateOnSurfaceDecoratorCfg
179 tsos_augmentationTools.append(DFTSOS)
181 PixelStoreMode = flags.InDet.PixelDumpMode
182 if flags.InDet.PixelDumpMode==3:
186 if flags.InDet.PixelDumpMode < 4:
187 from DerivationFrameworkInDet.PixelNtupleMakerConfig
import PixelNtupleMakerCfg
189 name =
"PixelMonitoringTool",
190 StoreMode = PixelStoreMode))
191 tsos_augmentationTools.append(PixelMonitoringTool)
194 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
196 AugmentationTools=tsos_augmentationTools,
206 """Main config fragment for PIXELVALID"""
210 if flags.Detector.GeometryID:
216 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
217 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
218 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
220 "PIXELVALIDSlimmingHelper",
221 NamesAndTypes = flags.Input.TypedCollections,
226 SmartCollections = []
229 PixelStoreMode = flags.InDet.PixelDumpMode
230 if flags.InDet.PixelDumpMode==3:
233 if flags.InDet.PixelDumpMode == 4:
236 if flags.InDet.PixelDumpMode == 5:
239 if PixelStoreMode==1:
240 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
241 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
242 "Muons":
"xAOD::MuonContainer",
"MuonsAux":
"xAOD::MuonAuxContainer",
243 "Electrons":
"xAOD::ElectronContainer",
244 "ElectronsAux":
"xAOD::ElectronAuxContainer",
245 "Photons":
"xAOD::PhotonContainer",
246 "PhotonsAux":
"xAOD::PhotonAuxContainer",
247 "JetETMissNeutralParticleFlowObjects":
"xAOD::FlowElementContainer",
248 "JetETMissNeutralParticleFlowObjectsAux":
"xAOD::FlowElementAuxContainer",
249 "JetETMissChargedParticleFlowObjects":
"xAOD::FlowElementContainer",
250 "JetETMissChargedParticleFlowObjectsAux":
"xAOD::FlowElementAuxContainer",
251 "TauJets":
"xAOD::TauJetContainer",
252 "TauJetsAux":
"xAOD::TauJetAuxContainer",
253 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
254 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer",
255 "InDetLargeD0TrackParticles":
"xAOD::TrackParticleContainer",
256 "InDetLargeD0TrackParticlesAux":
"xAOD::TrackParticleAuxContainer",
257 "PixelMSOSs":
"xAOD::TrackStateValidationContainer",
258 "PixelMSOSsAux":
"xAOD::TrackStateValidationAuxContainer",
259 "Kt4EMTopoOriginEventShape":
"xAOD::EventShape",
260 "Kt4EMTopoOriginEventShapeAux":
"xAOD::EventShapeAuxInfo",
261 "Kt4LCTopoOriginEventShape":
"xAOD::EventShape",
262 "Kt4LCTopoOriginEventShapeAux":
"xAOD::EventShapeAuxInfo",
263 "NeutralParticleFlowIsoCentralEventShape":
"xAOD::EventShape",
264 "NeutralParticleFlowIsoCentralEventShapeAux":
"xAOD::EventShapeAuxInfo",
265 "NeutralParticleFlowIsoForwardEventShape":
"xAOD::EventShape",
266 "NeutralParticleFlowIsoForwardEventShapeAux":
"xAOD::EventShapeAuxInfo",
267 "TopoClusterIsoCentralEventShape":
"xAOD::EventShape",
268 "TopoClusterIsoCentralEventShapeAux":
"xAOD::EventShapeAuxInfo",
269 "TopoClusterIsoForwardEventShape":
"xAOD::EventShape",
270 "TopoClusterIsoForwardEventShapeAux":
"xAOD::EventShapeAuxInfo",
271 "MET_Calo":
"xAOD::MissingETContainer",
272 "MET_CaloAux":
"xAOD::MissingETAuxContainer",
273 "MET_Track":
"xAOD::MissingETContainer",
274 "MET_TrackAux":
"xAOD::MissingETAuxContainer",
275 "MET_LocHadTopo":
"xAOD::MissingETContainer",
276 "MET_LocHadTopoRegions":
"xAOD::MissingETContainer",
277 "MET_LocHadTopoAux":
"xAOD::MissingETAuxContainer",
278 "MET_LocHadTopoRegionsAux":
"xAOD::MissingETAuxContainer",
279 "MET_Core_AntiKt4LCTopo":
"xAOD::MissingETContainer",
280 "MET_Reference_AntiKt4LCTopo":
"xAOD::MissingETContainer",
281 "MET_Core_AntiKt4LCTopoAux":
"xAOD::MissingETAuxContainer",
282 "MET_Reference_AntiKt4LCTopoAux":
"xAOD::MissingETAuxContainer"})
284 SmartCollections += [
"Muons",
"Electrons",
"Photons"]
286 AllVariables += [
"EventInfo",
287 "JetETMissNeutralParticleFlowObjects",
288 "JetETMissChargedParticleFlowObjects",
289 "InDetTrackParticles",
290 "InDetLargeD0TrackParticles",
292 "Kt4EMTopoOriginEventShape",
293 "Kt4LCTopoOriginEventShape",
294 "NeutralParticleFlowIsoCentralEventShape",
295 "NeutralParticleFlowIsoForwardEventShape",
296 "TopoClusterIsoCentralEventShape",
297 "TopoClusterIsoForwardEventShape"]
299 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
300 "TauJets":
"xAOD::TauJetContainer",
301 "TauJetsAux":
"xAOD::TauJetAuxContainer",
302 "Kt4EMPFlowEventShape":
"xAOD::EventShape",
303 "Kt4EMPFlowEventShapeAux":
"xAOD::EventShapeAuxInfo",
304 "PrimaryVertices":
"xAOD::VertexContainer",
305 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer",
306 "AntiKt4EMTopoJets":
"xAOD::JetContainer",
307 "AntiKt4EMTopoJetsAux":
"xAOD::JetAuxContainer",
308 "AntiKt4EMPFlowJets":
"xAOD::JetContainer",
309 "AntiKt4EMPFlowJetsAux":
"xAOD::JetAuxContainer"})
311 ExtraVariables += [
"TauJets.ABS_ETA_LEAD_TRACK.ClusterTotalEnergy.ClustersMeanCenterLambda.ClustersMeanEMProbability.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac.ClustersMeanSecondLambda.EMFracFixed.GhostMuonSegmentCount.LeadClusterFrac.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.NNDecayModeProb_3pXn.PFOEngRelDiff.PanTau_DecayModeExtended.UpsilonCluster.absipSigLeadTrk.chargedFELinks.etHotShotWin.etHotShotWinOverPtLeadTrk.etaCombined.hadLeakFracFixed.leadTrackProbHT.mCombined.mu.nConversionTracks.nFakeTracks.nModifiedIsolationTracks.nVtxPU.neutralFELinks.passThinning.phiCombined.ptCombined.ptIntermediateAxisEM.rho"]
312 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
314 AllVariables += [
"Kt4EMPFlowEventShape",
315 "AntiKt4EMTopoJets",
"AntiKt4EMPFlowJets"]
318 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
319 "AntiKt4TruthJets":
"xAOD::JetContainer",
320 "AntiKt4TruthJetsAux":
"xAOD::JetAuxContainer",
321 "JetInputTruthParticles":
"xAOD::TruthParticleContainer",
322 "JetInputTruthParticlesNoWZ":
"xAOD::TruthParticleContainer",
323 "TruthEvents":
"xAOD::TruthEventContainer",
324 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
325 "TruthParticles":
"xAOD::TruthParticleContainer",
326 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
327 "egammaTruthParticles":
"xAOD::TruthParticleContainer",
328 "egammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
329 "MuonTruthParticles":
"xAOD::TruthParticleContainer",
330 "MuonTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
331 "LRTegammaTruthParticles":
"xAOD::TruthParticleContainer",
332 "LRTegammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
333 "TruthVertices":
"xAOD::TruthVertexContainer",
334 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer",
335 "MET_Truth":
"xAOD::MissingETContainer",
336 "MET_TruthRegions":
"xAOD::MissingETContainer",
337 "MET_TruthAux":
"xAOD::MissingETAuxContainer",
338 "MET_TruthRegionsAux":
"xAOD::MissingETAuxContainer"})
340 AllVariables += [
"AntiKt4TruthJets",
341 "JetInputTruthParticles",
342 "JetInputTruthParticlesNoWZ",
345 "egammaTruthParticles",
346 "MuonTruthParticles",
347 "LRTegammaTruthParticles",
350 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
351 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
352 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
353 "WBosons",
"ZBosons"]
354 for item
in list_aux:
355 label =
"TruthLabel"+item
356 labelAux = label+
"Aux"
357 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
358 {label:
"xAOD::TruthParticleContainer",
359 labelAux:
"xAOD::TruthParticleAuxContainer"})
360 AllVariables += [label]
364 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
365 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
367 if PixelStoreMode==2:
368 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
369 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
370 "PixelMonitoringTrack":
"xAOD::TrackParticleContainer",
371 "PixelMonitoringTrackAux":
"xAOD::TrackParticleAuxContainer"})
373 AllVariables += [
"EventInfo",
374 "PixelMonitoringTrack"]
377 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
378 "TruthEvents":
"xAOD::TruthEventContainer",
379 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
380 "TruthParticles":
"xAOD::TruthParticleContainer",
381 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer"})
383 AllVariables += [
"TruthEvents",
386 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
387 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
388 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
389 "WBosons",
"ZBosons"]
390 for item
in list_aux:
391 label =
"TruthLabel"+item
392 labelAux = label+
"Aux"
393 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
394 {label:
"xAOD::TruthParticleContainer",
395 labelAux:
"xAOD::TruthParticleAuxContainer"})
396 AllVariables += [label]
400 if PixelStoreMode == 3:
401 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
402 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
403 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
404 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
406 AllVariables += [
"EventInfo",
407 "InDetTrackParticles"]
409 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
410 "PrimaryVertices":
"xAOD::VertexContainer",
411 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
413 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
416 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
417 "TruthEvents":
"xAOD::TruthEventContainer",
418 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
419 "TruthParticles":
"xAOD::TruthParticleContainer",
420 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
421 "TruthVertices":
"xAOD::TruthVertexContainer",
422 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
424 AllVariables += [
"TruthEvents",
428 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
429 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
430 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
431 "WBosons",
"ZBosons"]
432 for item
in list_aux:
433 label =
"TruthLabel"+item
434 labelAux = label+
"Aux"
435 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
436 {label:
"xAOD::TruthParticleContainer",
437 labelAux:
"xAOD::TruthParticleAuxContainer"})
438 AllVariables += [label]
442 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
443 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
446 if PixelStoreMode == 4:
447 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
448 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
449 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
450 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
452 AllVariables += [
"EventInfo",
453 "InDetTrackParticles"]
455 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
456 "PixelClusters":
"xAOD::TrackMeasurementValidationContainer",
457 "PixelClustersAux":
"xAOD::TrackMeasurementValidationAuxContainer"})
459 ExtraVariables += [
"PixelClusters.charge.layer.bec.phi_module.eta_module.eta_pixel_index.phi_pixel_index.nRDO.sizePhi.sizeZ.ToT"]
461 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
462 "PrimaryVertices":
"xAOD::VertexContainer",
463 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
465 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
468 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
469 "TruthEvents":
"xAOD::TruthEventContainer",
470 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
471 "TruthParticles":
"xAOD::TruthParticleContainer",
472 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
473 "TruthVertices":
"xAOD::TruthVertexContainer",
474 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
476 AllVariables += [
"TruthEvents",
480 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
481 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
482 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
483 "WBosons",
"ZBosons"]
485 for item
in list_aux:
486 label =
"TruthLabel"+item
487 labelAux = label+
"Aux"
488 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
489 {label:
"xAOD::TruthParticleContainer",
490 labelAux:
"xAOD::TruthParticleAuxContainer"})
491 AllVariables += [label]
495 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
496 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
499 PIXELVALIDSlimmingHelper.AllVariables = AllVariables
500 PIXELVALIDSlimmingHelper.StaticContent = StaticContent
501 PIXELVALIDSlimmingHelper.SmartCollections = SmartCollections
502 PIXELVALIDSlimmingHelper.ExtraVariables = ExtraVariables
505 PIXELVALIDItemList = PIXELVALIDSlimmingHelper.GetItemList()
507 ItemList=PIXELVALIDItemList, AcceptAlgs=[
"PIXELVALIDKernelCommon"]))
509 if flags.InDet.PixelDumpMode == 4
or flags.InDet.PixelDumpMode == 5:
511 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
512 createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
515 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
516 createMetadata=[MetadataCategory.CutFlowMetaData]))