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"))
36 name=
"PIXELVALID_SkimmingTool",
37 expression=draw_zmumu))
42 FilterList=[PIXELVALID_ZmumuMass,PIXELVALID_SkimmingTool]))
44 acc.addPublicTool(PIXELVALID_ANDTool, primary=
True)
52 sel_mu =
'(Muons.pt > 10*GeV) && Muons.passesIDCuts'
53 muRequirement =
'( count( '+sel_mu+
' ) == 1 )'
55 sel_tau =
'(TauJets.pt > 10.0*GeV)'
57 tauRequirement =
'( count( '+sel_tau+
' ) > 0 )'
58 draw_taumuh = muRequirement+
' && '+tauRequirement
59 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (xAODStringSkimmingToolCfg)
61 name=
"PIXELVALID_ZTAUTAU",
62 expression=draw_taumuh))
64 acc.addPublicTool(PIXELVALID_ZTAUTAU, primary=
True)
74 augmentationTools = []
77 from DerivationFrameworkInDet.InDetToolsConfig
import (TrackToVertexWrapperCfg)
80 name=
"PIXELVALIDTrackToVertexWrapper",
81 DecorationPrefix=
"PIXELVALID"))
82 augmentationTools.append(PIXELVALIDTrackToVertexWrapper)
84 from DerivationFrameworkInDet.InDetToolsConfig
import (UsedInVertexFitTrackDecoratorCfg)
86 augmentationTools.append(PIXELVALIDUsedInFitDecorator)
89 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParametersAtPVCfg
91 flags, name=
"PIXELVALID_DFCommonZ0AtPV",
92 Z0SGEntryName=
"PIXELVALIDInDetTrackZ0AtPV"))
93 augmentationTools.append(DFCommonZ0AtPV)
95 from DerivationFrameworkInDet.PixelNtupleMakerConfig
import (EventInfoPixelModuleStatusMonitoringCfg)
97 augmentationTools.append(DFEI)
104 if flags.InDet.DRAWZSelection:
106 skimmingTools.append(PIXELVALID_ANDTool)
108 if flags.InDet.PixelDumpMode==3:
110 skimmingTools.append(PIXELVALID_ZTAUTAU)
115 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
117 AugmentationTools = augmentationTools,
118 SkimmingTools = skimmingTools,
120 RunSkimmingFirst =
True))
135 from DerivationFrameworkInDet.InDetToolsConfig
import (IDTRKVALIDTruthThinningToolCfg)
137 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
139 AugmentationTools=[],
140 ThinningTools=thinningTools,
143 elif flags.InDet.PixelDumpMode == 5:
144 acc.addSequence(
seqAND(
"PixelClusterThinningSequence") )
145 acc.getSequence(
"PixelClusterThinningSequence").ExtraDataForDynamicConsumers = [
"xAOD::TrackMeasurementValidationContainer/PixelClusters"]
146 acc.getSequence(
"PixelClusterThinningSequence").ProcessDynamicDataDependencies =
True
147 from DerivationFrameworkInDet.InDetToolsConfig
import (PixelClusterThinningCfg)
149 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
151 AugmentationTools=[],
152 ThinningTools=thinningTools,
154 sequenceName=
"PixelClusterThinningSequence")
160 """Configure the derivation framework driving algorithm (kernel) for PIXELVALID"""
163 PIXELVALIDSequenceName=
'PIXELVALIDSequence'
164 acc.addSequence(
seqAND(PIXELVALIDSequenceName))
168 from InDetConfig.InDetPrepRawDataToxAODConfig
import InDetPrepDataToxAODCfg
174 tsos_augmentationTools = []
176 from DerivationFrameworkInDet.InDetToolsConfig
import DFTrackStateOnSurfaceDecoratorCfg
178 tsos_augmentationTools.append(DFTSOS)
180 PixelStoreMode = flags.InDet.PixelDumpMode
181 if flags.InDet.PixelDumpMode==3:
185 if flags.InDet.PixelDumpMode < 4:
186 from DerivationFrameworkInDet.PixelNtupleMakerConfig
import PixelNtupleMakerCfg
188 name =
"PixelMonitoringTool",
189 StoreMode = PixelStoreMode))
190 tsos_augmentationTools.append(PixelMonitoringTool)
193 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
195 AugmentationTools=tsos_augmentationTools,
205 """Main config fragment for PIXELVALID"""
209 if flags.Detector.GeometryID:
215 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
216 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
217 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
219 "PIXELVALIDSlimmingHelper",
220 NamesAndTypes = flags.Input.TypedCollections,
225 SmartCollections = []
228 PixelStoreMode = flags.InDet.PixelDumpMode
229 if flags.InDet.PixelDumpMode==3:
232 if flags.InDet.PixelDumpMode == 4:
235 if flags.InDet.PixelDumpMode == 5:
238 if PixelStoreMode==1:
239 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
240 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
241 "Muons":
"xAOD::MuonContainer",
"MuonsAux":
"xAOD::MuonAuxContainer",
242 "Electrons":
"xAOD::ElectronContainer",
243 "ElectronsAux":
"xAOD::ElectronAuxContainer",
244 "Photons":
"xAOD::PhotonContainer",
245 "PhotonsAux":
"xAOD::PhotonAuxContainer",
246 "JetETMissNeutralParticleFlowObjects":
"xAOD::FlowElementContainer",
247 "JetETMissNeutralParticleFlowObjectsAux":
"xAOD::FlowElementAuxContainer",
248 "JetETMissChargedParticleFlowObjects":
"xAOD::FlowElementContainer",
249 "JetETMissChargedParticleFlowObjectsAux":
"xAOD::FlowElementAuxContainer",
250 "TauJets":
"xAOD::TauJetContainer",
251 "TauJetsAux":
"xAOD::TauJetAuxContainer",
252 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
253 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer",
254 "InDetLargeD0TrackParticles":
"xAOD::TrackParticleContainer",
255 "InDetLargeD0TrackParticlesAux":
"xAOD::TrackParticleAuxContainer",
256 "PixelMSOSs":
"xAOD::TrackStateValidationContainer",
257 "PixelMSOSsAux":
"xAOD::TrackStateValidationAuxContainer",
258 "Kt4EMTopoOriginEventShape":
"xAOD::EventShape",
259 "Kt4EMTopoOriginEventShapeAux":
"xAOD::EventShapeAuxInfo",
260 "Kt4LCTopoOriginEventShape":
"xAOD::EventShape",
261 "Kt4LCTopoOriginEventShapeAux":
"xAOD::EventShapeAuxInfo",
262 "NeutralParticleFlowIsoCentralEventShape":
"xAOD::EventShape",
263 "NeutralParticleFlowIsoCentralEventShapeAux":
"xAOD::EventShapeAuxInfo",
264 "NeutralParticleFlowIsoForwardEventShape":
"xAOD::EventShape",
265 "NeutralParticleFlowIsoForwardEventShapeAux":
"xAOD::EventShapeAuxInfo",
266 "TopoClusterIsoCentralEventShape":
"xAOD::EventShape",
267 "TopoClusterIsoCentralEventShapeAux":
"xAOD::EventShapeAuxInfo",
268 "TopoClusterIsoForwardEventShape":
"xAOD::EventShape",
269 "TopoClusterIsoForwardEventShapeAux":
"xAOD::EventShapeAuxInfo",
270 "MET_Calo":
"xAOD::MissingETContainer",
271 "MET_CaloAux":
"xAOD::MissingETAuxContainer",
272 "MET_Track":
"xAOD::MissingETContainer",
273 "MET_TrackAux":
"xAOD::MissingETAuxContainer",
274 "MET_LocHadTopo":
"xAOD::MissingETContainer",
275 "MET_LocHadTopoRegions":
"xAOD::MissingETContainer",
276 "MET_LocHadTopoAux":
"xAOD::MissingETAuxContainer",
277 "MET_LocHadTopoRegionsAux":
"xAOD::MissingETAuxContainer",
278 "MET_Core_AntiKt4LCTopo":
"xAOD::MissingETContainer",
279 "MET_Reference_AntiKt4LCTopo":
"xAOD::MissingETContainer",
280 "MET_Core_AntiKt4LCTopoAux":
"xAOD::MissingETAuxContainer",
281 "MET_Reference_AntiKt4LCTopoAux":
"xAOD::MissingETAuxContainer"})
283 SmartCollections += [
"Muons",
"Electrons",
"Photons"]
285 AllVariables += [
"EventInfo",
286 "JetETMissNeutralParticleFlowObjects",
287 "JetETMissChargedParticleFlowObjects",
288 "InDetTrackParticles",
289 "InDetLargeD0TrackParticles",
291 "Kt4EMTopoOriginEventShape",
292 "Kt4LCTopoOriginEventShape",
293 "NeutralParticleFlowIsoCentralEventShape",
294 "NeutralParticleFlowIsoForwardEventShape",
295 "TopoClusterIsoCentralEventShape",
296 "TopoClusterIsoForwardEventShape"]
298 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
299 "TauJets":
"xAOD::TauJetContainer",
300 "TauJetsAux":
"xAOD::TauJetAuxContainer",
301 "Kt4EMPFlowEventShape":
"xAOD::EventShape",
302 "Kt4EMPFlowEventShapeAux":
"xAOD::EventShapeAuxInfo",
303 "PrimaryVertices":
"xAOD::VertexContainer",
304 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer",
305 "AntiKt4EMTopoJets":
"xAOD::JetContainer",
306 "AntiKt4EMTopoJetsAux":
"xAOD::JetAuxContainer",
307 "AntiKt4EMPFlowJets":
"xAOD::JetContainer",
308 "AntiKt4EMPFlowJetsAux":
"xAOD::JetAuxContainer",
309 "BTagging_AntiKt4EMTopo":
"xAOD::BTaggingContainer",
310 "BTagging_AntiKt4EMTopoAux":
"xAOD::BTaggingAuxContainer",
311 "BTagging_AntiKt4EMPFlow":
"xAOD::BTaggingContainer",
312 "BTagging_AntiKt4EMPFlowAux":
"xAOD::BTaggingAuxContainer"})
314 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"]
315 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
317 AllVariables += [
"Kt4EMPFlowEventShape",
318 "AntiKt4EMTopoJets",
"AntiKt4EMPFlowJets",
319 "BTagging_AntiKt4EMTopo",
"BTagging_AntiKt4EMPFlow"]
322 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
323 "AntiKt4TruthJets":
"xAOD::JetContainer",
324 "AntiKt4TruthJetsAux":
"xAOD::JetAuxContainer",
325 "JetInputTruthParticles":
"xAOD::TruthParticleContainer",
326 "JetInputTruthParticlesNoWZ":
"xAOD::TruthParticleContainer",
327 "TruthEvents":
"xAOD::TruthEventContainer",
328 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
329 "TruthParticles":
"xAOD::TruthParticleContainer",
330 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
331 "egammaTruthParticles":
"xAOD::TruthParticleContainer",
332 "egammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
333 "MuonTruthParticles":
"xAOD::TruthParticleContainer",
334 "MuonTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
335 "LRTegammaTruthParticles":
"xAOD::TruthParticleContainer",
336 "LRTegammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
337 "TruthVertices":
"xAOD::TruthVertexContainer",
338 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer",
339 "MET_Truth":
"xAOD::MissingETContainer",
340 "MET_TruthRegions":
"xAOD::MissingETContainer",
341 "MET_TruthAux":
"xAOD::MissingETAuxContainer",
342 "MET_TruthRegionsAux":
"xAOD::MissingETAuxContainer"})
344 AllVariables += [
"AntiKt4TruthJets",
345 "JetInputTruthParticles",
346 "JetInputTruthParticlesNoWZ",
349 "egammaTruthParticles",
350 "MuonTruthParticles",
351 "LRTegammaTruthParticles",
354 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
355 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
356 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
357 "WBosons",
"ZBosons"]
358 for item
in list_aux:
359 label =
"TruthLabel"+item
360 labelAux = label+
"Aux"
361 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
362 {label:
"xAOD::TruthParticleContainer",
363 labelAux:
"xAOD::TruthParticleAuxContainer"})
364 AllVariables += [label]
368 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
369 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
371 if PixelStoreMode==2:
372 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
373 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
374 "PixelMonitoringTrack":
"xAOD::TrackParticleContainer",
375 "PixelMonitoringTrackAux":
"xAOD::TrackParticleAuxContainer"})
377 AllVariables += [
"EventInfo",
378 "PixelMonitoringTrack"]
381 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
382 "TruthEvents":
"xAOD::TruthEventContainer",
383 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
384 "TruthParticles":
"xAOD::TruthParticleContainer",
385 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer"})
387 AllVariables += [
"TruthEvents",
390 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
391 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
392 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
393 "WBosons",
"ZBosons"]
394 for item
in list_aux:
395 label =
"TruthLabel"+item
396 labelAux = label+
"Aux"
397 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
398 {label:
"xAOD::TruthParticleContainer",
399 labelAux:
"xAOD::TruthParticleAuxContainer"})
400 AllVariables += [label]
404 if PixelStoreMode == 3:
405 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
406 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
407 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
408 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
410 AllVariables += [
"EventInfo",
411 "InDetTrackParticles"]
413 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
414 "PrimaryVertices":
"xAOD::VertexContainer",
415 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
417 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
420 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
421 "TruthEvents":
"xAOD::TruthEventContainer",
422 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
423 "TruthParticles":
"xAOD::TruthParticleContainer",
424 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
425 "TruthVertices":
"xAOD::TruthVertexContainer",
426 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
428 AllVariables += [
"TruthEvents",
432 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
433 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
434 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
435 "WBosons",
"ZBosons"]
436 for item
in list_aux:
437 label =
"TruthLabel"+item
438 labelAux = label+
"Aux"
439 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
440 {label:
"xAOD::TruthParticleContainer",
441 labelAux:
"xAOD::TruthParticleAuxContainer"})
442 AllVariables += [label]
446 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
447 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
450 if PixelStoreMode == 4:
451 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
452 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
453 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
454 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
456 AllVariables += [
"EventInfo",
457 "InDetTrackParticles"]
459 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
460 "PixelClusters":
"xAOD::TrackMeasurementValidationContainer",
461 "PixelClustersAux":
"xAOD::TrackMeasurementValidationAuxContainer"})
463 ExtraVariables += [
"PixelClusters.charge.layer.bec.phi_module.eta_module.eta_pixel_index.phi_pixel_index.nRDO.sizePhi.sizeZ.ToT"]
465 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
466 "PrimaryVertices":
"xAOD::VertexContainer",
467 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
469 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
472 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
473 "TruthEvents":
"xAOD::TruthEventContainer",
474 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
475 "TruthParticles":
"xAOD::TruthParticleContainer",
476 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
477 "TruthVertices":
"xAOD::TruthVertexContainer",
478 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
480 AllVariables += [
"TruthEvents",
484 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
485 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
486 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
487 "WBosons",
"ZBosons"]
489 for item
in list_aux:
490 label =
"TruthLabel"+item
491 labelAux = label+
"Aux"
492 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
493 {label:
"xAOD::TruthParticleContainer",
494 labelAux:
"xAOD::TruthParticleAuxContainer"})
495 AllVariables += [label]
499 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
500 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
503 PIXELVALIDSlimmingHelper.AllVariables = AllVariables
504 PIXELVALIDSlimmingHelper.StaticContent = StaticContent
505 PIXELVALIDSlimmingHelper.SmartCollections = SmartCollections
506 PIXELVALIDSlimmingHelper.ExtraVariables = ExtraVariables
509 PIXELVALIDItemList = PIXELVALIDSlimmingHelper.GetItemList()
511 ItemList=PIXELVALIDItemList, AcceptAlgs=[
"PIXELVALIDKernelCommon"]))
513 if flags.InDet.PixelDumpMode == 4
or flags.InDet.PixelDumpMode == 5:
515 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
516 createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
519 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
520 createMetadata=[MetadataCategory.CutFlowMetaData]))