11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
13 from AthenaConfiguration.Enums
import MetadataCategory
14 from AthenaCommon.CFElements
import seqAND
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)
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"))
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)
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))
134 from DerivationFrameworkInDet.InDetToolsConfig
import (IDTRKVALIDTruthThinningToolCfg)
137 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
139 AugmentationTools=[],
140 ThinningTools=thinningTools,
146 """Configure the derivation framework driving algorithm (kernel) for PIXELVALID"""
149 PIXELVALIDSequenceName=
'PIXELVALIDSequence'
150 acc.addSequence(
seqAND(PIXELVALIDSequenceName))
154 from InDetConfig.InDetPrepRawDataToxAODConfig
import InDetPrepDataToxAODCfg
160 tsos_augmentationTools = []
162 from DerivationFrameworkInDet.InDetToolsConfig
import DFTrackStateOnSurfaceDecoratorCfg
164 tsos_augmentationTools.append(DFTSOS)
166 PixelStoreMode = flags.InDet.PixelDumpMode
167 if flags.InDet.PixelDumpMode==3:
171 if flags.InDet.PixelDumpMode != 4:
172 from DerivationFrameworkInDet.PixelNtupleMakerConfig
import PixelNtupleMakerCfg
174 name =
"PixelMonitoringTool",
175 StoreMode = PixelStoreMode))
176 tsos_augmentationTools.append(PixelMonitoringTool)
179 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
181 AugmentationTools=tsos_augmentationTools,
191 """Main config fragment for PIXELVALID"""
195 if flags.Detector.GeometryID:
201 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
202 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
203 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
205 "PIXELVALIDSlimmingHelper",
206 NamesAndTypes = flags.Input.TypedCollections,
211 SmartCollections = []
214 PixelStoreMode = flags.InDet.PixelDumpMode
215 if flags.InDet.PixelDumpMode==3:
218 if flags.InDet.PixelDumpMode == 4:
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"})
267 SmartCollections += [
"Muons",
"Electrons",
"Photons"]
269 AllVariables += [
"EventInfo",
270 "JetETMissNeutralParticleFlowObjects",
271 "JetETMissChargedParticleFlowObjects",
272 "InDetTrackParticles",
273 "InDetLargeD0TrackParticles",
275 "Kt4EMTopoOriginEventShape",
276 "Kt4LCTopoOriginEventShape",
277 "NeutralParticleFlowIsoCentralEventShape",
278 "NeutralParticleFlowIsoForwardEventShape",
279 "TopoClusterIsoCentralEventShape",
280 "TopoClusterIsoForwardEventShape"]
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"})
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"]
301 AllVariables += [
"Kt4EMPFlowEventShape",
302 "AntiKt4EMTopoJets",
"AntiKt4EMPFlowJets",
303 "BTagging_AntiKt4EMTopo",
"BTagging_AntiKt4EMPFlow"]
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"})
328 AllVariables += [
"AntiKt4TruthJets",
329 "JetInputTruthParticles",
330 "JetInputTruthParticlesNoWZ",
333 "egammaTruthParticles",
334 "MuonTruthParticles",
335 "LRTegammaTruthParticles",
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]
352 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
353 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
355 if PixelStoreMode==2:
356 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
357 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
358 "PixelMonitoringTrack":
"xAOD::TrackParticleContainer",
359 "PixelMonitoringTrackAux":
"xAOD::TrackParticleAuxContainer"})
361 AllVariables += [
"EventInfo",
362 "PixelMonitoringTrack"]
365 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
366 "TruthEvents":
"xAOD::TruthEventContainer",
367 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
368 "TruthParticles":
"xAOD::TruthParticleContainer",
369 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer"})
371 AllVariables += [
"TruthEvents",
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]
388 if PixelStoreMode == 3:
389 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
390 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
391 "InDetTrackParticles":
"xAOD::TrackParticleContainer",
392 "InDetTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"})
394 AllVariables += [
"EventInfo",
395 "InDetTrackParticles"]
397 PIXELVALIDSlimmingHelper.AppendToDictionary.update({
398 "PrimaryVertices":
"xAOD::VertexContainer",
399 "PrimaryVerticesAux":
"xAOD::VertexAuxContainer"})
401 ExtraVariables += [
"PrimaryVertices.sumPt2.x.y.z"]
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"})
412 AllVariables += [
"TruthEvents",
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]
430 PIXELVALIDSlimmingHelper.IncludeTriggerNavigation =
True
431 PIXELVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
434 PIXELVALIDSlimmingHelper.AllVariables = AllVariables
435 PIXELVALIDSlimmingHelper.StaticContent = StaticContent
436 PIXELVALIDSlimmingHelper.SmartCollections = SmartCollections
437 PIXELVALIDSlimmingHelper.ExtraVariables = ExtraVariables
440 PIXELVALIDItemList = PIXELVALIDSlimmingHelper.GetItemList()
442 ItemList=PIXELVALIDItemList, AcceptAlgs=[
"PIXELVALIDKernelCommon"]))
444 if flags.InDet.PixelDumpMode == 4:
446 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
447 createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
450 flags,
"DAOD_PIXELVALID", AcceptAlgs=[
"PIXELVALIDKernelCommon"],
451 createMetadata=[MetadataCategory.CutFlowMetaData]))