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",
310 "BTagging_AntiKt4EMTopo":
"xAOD::BTaggingContainer",
311 "BTagging_AntiKt4EMTopoAux":
"xAOD::BTaggingAuxContainer",
312 "BTagging_AntiKt4EMPFlow":
"xAOD::BTaggingContainer",
313 "BTagging_AntiKt4EMPFlowAux":
"xAOD::BTaggingAuxContainer"})
315 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"]
316 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
318 AllVariables += [
"Kt4EMPFlowEventShape",
319 "AntiKt4EMTopoJets",
"AntiKt4EMPFlowJets",
320 "BTagging_AntiKt4EMTopo",
"BTagging_AntiKt4EMPFlow"]
323 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
324 "AntiKt4TruthJets":
"xAOD::JetContainer",
325 "AntiKt4TruthJetsAux":
"xAOD::JetAuxContainer",
326 "JetInputTruthParticles":
"xAOD::TruthParticleContainer",
327 "JetInputTruthParticlesNoWZ":
"xAOD::TruthParticleContainer",
328 "TruthEvents":
"xAOD::TruthEventContainer",
329 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
330 "TruthParticles":
"xAOD::TruthParticleContainer",
331 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
332 "egammaTruthParticles":
"xAOD::TruthParticleContainer",
333 "egammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
334 "MuonTruthParticles":
"xAOD::TruthParticleContainer",
335 "MuonTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
336 "LRTegammaTruthParticles":
"xAOD::TruthParticleContainer",
337 "LRTegammaTruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
338 "TruthVertices":
"xAOD::TruthVertexContainer",
339 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer",
340 "MET_Truth":
"xAOD::MissingETContainer",
341 "MET_TruthRegions":
"xAOD::MissingETContainer",
342 "MET_TruthAux":
"xAOD::MissingETAuxContainer",
343 "MET_TruthRegionsAux":
"xAOD::MissingETAuxContainer"})
345 AllVariables += [
"AntiKt4TruthJets",
346 "JetInputTruthParticles",
347 "JetInputTruthParticlesNoWZ",
350 "egammaTruthParticles",
351 "MuonTruthParticles",
352 "LRTegammaTruthParticles",
355 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
356 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
357 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
358 "WBosons",
"ZBosons"]
359 for item
in list_aux:
360 label =
"TruthLabel"+item
361 labelAux = label+
"Aux"
362 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
363 {label:
"xAOD::TruthParticleContainer",
364 labelAux:
"xAOD::TruthParticleAuxContainer"})
365 AllVariables += [label]
369 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
370 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
372 if PixelStoreMode==2:
373 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
374 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
375 "PixelMonitoringTrack":
"xAOD::TrackParticleContainer",
376 "PixelMonitoringTrackAux":
"xAOD::TrackParticleAuxContainer"})
378 AllVariables += [
"EventInfo",
379 "PixelMonitoringTrack"]
382 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
383 "TruthEvents":
"xAOD::TruthEventContainer",
384 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
385 "TruthParticles":
"xAOD::TruthParticleContainer",
386 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer"})
388 AllVariables += [
"TruthEvents",
391 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
392 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
393 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
394 "WBosons",
"ZBosons"]
395 for item
in list_aux:
396 label =
"TruthLabel"+item
397 labelAux = label+
"Aux"
398 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
399 {label:
"xAOD::TruthParticleContainer",
400 labelAux:
"xAOD::TruthParticleAuxContainer"})
401 AllVariables += [label]
405 if PixelStoreMode == 3:
406 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
407 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
408 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
409 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
411 AllVariables += [
"EventInfo",
412 "InDetTrackParticles"]
414 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
415 "PrimaryVertices":
"xAOD::VertexContainer",
416 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
418 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
421 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
422 "TruthEvents":
"xAOD::TruthEventContainer",
423 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
424 "TruthParticles":
"xAOD::TruthParticleContainer",
425 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
426 "TruthVertices":
"xAOD::TruthVertexContainer",
427 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
429 AllVariables += [
"TruthEvents",
433 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
434 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
435 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
436 "WBosons",
"ZBosons"]
437 for item
in list_aux:
438 label =
"TruthLabel"+item
439 labelAux = label+
"Aux"
440 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
441 {label:
"xAOD::TruthParticleContainer",
442 labelAux:
"xAOD::TruthParticleAuxContainer"})
443 AllVariables += [label]
447 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
448 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
451 if PixelStoreMode == 4:
452 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
453 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
454 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
455 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
457 AllVariables += [
"EventInfo",
458 "InDetTrackParticles"]
460 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
461 "PixelClusters":
"xAOD::TrackMeasurementValidationContainer",
462 "PixelClustersAux":
"xAOD::TrackMeasurementValidationAuxContainer"})
464 ExtraVariables += [
"PixelClusters.charge.layer.bec.phi_module.eta_module.eta_pixel_index.phi_pixel_index.nRDO.sizePhi.sizeZ.ToT"]
466 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
467 "PrimaryVertices":
"xAOD::VertexContainer",
468 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
470 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
473 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
474 "TruthEvents":
"xAOD::TruthEventContainer",
475 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
476 "TruthParticles":
"xAOD::TruthParticleContainer",
477 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
478 "TruthVertices":
"xAOD::TruthVertexContainer",
479 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
481 AllVariables += [
"TruthEvents",
485 list_aux = [
"BHadronsFinal",
"BHadronsInitial",
"BQuarksFinal",
486 "CHadronsFinal",
"CHadronsInitial",
"CQuarksFinal",
487 "HBosons",
"Partons",
"TQuarksFinal",
"TausFinal",
488 "WBosons",
"ZBosons"]
490 for item
in list_aux:
491 label =
"TruthLabel"+item
492 labelAux = label+
"Aux"
493 PIXELVALIDSlimmingHelper.AppendToDictionary.update(
494 {label:
"xAOD::TruthParticleContainer",
495 labelAux:
"xAOD::TruthParticleAuxContainer"})
496 AllVariables += [label]
500 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
501 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
504 PIXELVALIDSlimmingHelper.AllVariables = AllVariables
505 PIXELVALIDSlimmingHelper.StaticContent = StaticContent
506 PIXELVALIDSlimmingHelper.SmartCollections = SmartCollections
507 PIXELVALIDSlimmingHelper.ExtraVariables = ExtraVariables
510 PIXELVALIDItemList = PIXELVALIDSlimmingHelper.GetItemList()
512 ItemList=PIXELVALIDItemList, AcceptAlgs=[
"PIXELVALIDKernelCommon"]))
514 if flags.InDet.PixelDumpMode == 4
or flags.InDet.PixelDumpMode == 5:
516 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
517 createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
520 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
521 createMetadata=[MetadataCategory.CutFlowMetaData]))