ATLAS Offline Software
Loading...
Searching...
No Matches
DESDM_PHOJET.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2#!/usr/bin/env python
3#====================================================================
4# DESDM_PHOJET.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
11from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12from AthenaConfiguration.ComponentFactory import CompFactory
13from AthenaConfiguration.Enums import MetadataCategory
14
15
16# Main algorithm config
17def DESDM_PHOJETKernelCfg(configFlags, name='DESDM_PHOJETKernel', **kwargs):
18 """Configure the derivation framework driving algorithm (kernel) for PHOJET"""
19 acc = ComponentAccumulator()
20
21 #====================================================================
22 # SKIMMING TOOLS
23 #====================================================================
24 skimmingTools = []
25 if not configFlags.Input.isMC:
26 pho_sel = 'count(Photons.pt > 280*GeV && Photons.Tight) >= 1'
27
28 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import xAODStringSkimmingToolCfg
29 skimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(configFlags,
30 name = "DESDM_PHOJET_SkimmingTool",
31 expression = pho_sel))
32 skimmingTools.append(skimmingTool)
33
34 PHOJETKernel = CompFactory.DerivationFramework.DerivationKernel(name, SkimmingTools = skimmingTools)
35 acc.addEventAlgo( PHOJETKernel )
36
37 return acc
38
39# Main config
40def DESDM_PHOJETCfg(configFlags):
41 """Main config fragment for DESDM_PHOJET"""
42 acc = ComponentAccumulator()
43
44 # Main algorithm (kernel)
45 acc.merge(DESDM_PHOJETKernelCfg(configFlags, name="DESDM_PHOJETKernel", StreamName = 'StreamDESDM_PHOJET'))
46
47 # =============================
48 # Define contents of the format
49 # =============================
50 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
51 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
52
53 items = ['xAOD::EventInfo#*', 'xAOD::EventAuxInfo#*',
54 # Standard CP objects
55 'xAOD::ElectronContainer#Electrons','xAOD::ElectronAuxContainer#ElectronsAux.',
56 'xAOD::MuonContainer#Muons','xAOD::MuonAuxContainer#MuonsAux.',
57 'xAOD::PhotonContainer#Photons','xAOD::PhotonAuxContainer#PhotonsAux.',
58 'xAOD::TauJetContainer#TauJets','xAOD::TauJetAuxContainer#TauJetsAux.-VertexedClusters',
59 'xAOD::VertexContainer#PrimaryVertices','xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV',
60 'xAOD::JetContainer#AntiKt4EMPFlowJets','xAOD::JetAuxContainer#AntiKt4EMPFlowJetsAux.-PseudoJet',
61 'xAOD::JetContainer#AntiKt4EMTopoJets','xAOD::JetAuxContainer#AntiKt4EMTopoJetsAux.-PseudoJet',
62 'xAOD::EventShape#Kt4EMPFlowEventShape','xAOD::EventShapeAuxInfo#Kt4EMPFlowEventShapeAux.',
63 'xAOD::EventShape#Kt4EMTopoOriginEventShape','xAOD::EventShapeAuxInfo#Kt4EMTopoOriginEventShapeAux.',
64 'xAOD::MissingETAssociationMap#METAssoc_AntiKt4EMPFlow', 'xAOD::MissingETAuxAssociationMap#METAssoc_AntiKt4EMPFlowAux.',
65 'xAOD::MissingETAssociationMap#METAssoc_AntiKt4EMTopo', 'xAOD::MissingETAuxAssociationMap#METAssoc_AntiKt4EMTopoAux.',
66 'xAOD::MissingETContainer#MET_Core_AntiKt4EMPFlow','xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMPFlowAux.',
67 'xAOD::MissingETContainer#MET_Core_AntiKt4EMTopo','xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMTopoAux.',
68 'xAOD::MissingETContainer#MET_Reference_AntiKt4EMPFlow','xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMPFlowAux.',
69 'xAOD::MissingETContainer#MET_Reference_AntiKt4EMTopo', 'xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMTopoAux.',
70 'xAOD::MissingETContainer#MET_Track','xAOD::MissingETAuxContainer#MET_TrackAux.',
71 #Low-level inputs:
72 'xAOD::TrackParticleContainer#GSFTrackParticles','xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux.',
73 'xAOD::VertexContainer#GSFConversionVertices','xAOD::VertexAuxContainer#GSFConversionVerticesAux.-vxTrackAtVertex',
74 'xAOD::TrackParticleContainer#InDetTrackParticles','xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.',
75 'xAOD::CaloClusterContainer#egammaClusters','xAOD::CaloClusterAuxContainer#egammaClustersAux.',
76 'xAOD::CaloClusterContainer#ForwardElectronClusters','xAOD::CaloClusterAuxContainer#ForwardElectronClustersAux.',
77 'xAOD::CaloClusterContainer#TauPi0Clusters','xAOD::CaloClusterAuxContainer#TauPi0ClustersAux.',
78 'xAOD::CaloClusterContainer#CaloCalTopoClusters','xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.',
79 'xAOD::MuonSegmentContainer#MuonSegments','xAOD::MuonSegmentAuxContainer#MuonSegmentsAux.',
80 'xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects','xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux.',
81 'xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects','xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux.',
82 'xAOD::TrackParticleClusterAssociationContainer#InDetTrackParticlesClusterAssociations','xAOD::TrackParticleClusterAssociationAuxContainer#InDetTrackParticlesClusterAssociationsAux.',
83 'CaloCellContainer#AllCalo',
84 'CaloClusterCellLinkContainer#CaloCalTopoClusters_links',
85 'CaloClusterCellLinkContainer#InDetTrackParticlesAssociatedClusters_links',
86 'CaloClusterCellLinkContainer#MuonClusterCollection_links',
87 'CaloClusterCellLinkContainer#egammaClusters_links',
88 #RoI Containers
89 'xAOD::EmTauRoIContainer#LVL1EmTauRoIs','xAOD::EmTauRoIAuxContainer#LVL1EmTauRoIsAux.',
90 'xAOD::EnergySumRoI#LVL1EnergySumRoI','xAOD::EnergySumRoIAuxInfo#LVL1EnergySumRoIAux.',
91 'xAOD::JetEtRoI#LVL1JetEtRoI','xAOD::JetEtRoIAuxInfo#LVL1JetEtRoIAux.',
92 'xAOD::JetRoIContainer#LVL1JetRoIs','xAOD::JetRoIAuxContainer#LVL1JetRoIsAux.',
93 'xAOD::MuonRoIContainer#LVL1MuonRoIs','xAOD::MuonRoIAuxContainer#LVL1MuonRoIsAux.',
94 #L1Calo containers
95 'xAOD::JEMTobRoIContainer#JEMTobRoIsRoIB','xAOD::JEMTobRoIAuxContainer#JEMTobRoIsRoIBAux.',
96 'xAOD::JEMTobRoIContainer#JEMTobRoIs','xAOD::JEMTobRoIAuxContainer#JEMTobRoIsAux.',
97 'xAOD::JEMEtSumsContainer#JEMEtSums','xAOD::JEMEtSumsAuxContainer#JEMEtSumsAux.',
98 'xAOD::CMXCPHitsContainer#CMXCPHits','xAOD::CMXCPHitsAuxContainer#CMXCPHitsAux.',
99 'xAOD::CMXCPTobContainer#CMXCPTobs','xAOD::CMXCPTobAuxContainer#CMXCPTobsAux.',
100 'xAOD::CMXEtSumsContainer#CMXEtSums','xAOD::CMXEtSumsAuxContainer#CMXEtSumsAux.',
101 'xAOD::CMXJetHitsContainer#CMXJetHits','xAOD::CMXJetHitsAuxContainer#CMXJetHitsAux.',
102 'xAOD::CMXJetTobContainer#CMXJetTobs','xAOD::CMXJetTobAuxContainer#CMXJetTobsAux.',
103 'xAOD::CMXRoIContainer#CMXRoIs','xAOD::CMXRoIAuxContainer#CMXRoIsAux.',
104 'xAOD::CPMTobRoIContainer#CPMTobRoIs','xAOD::CPMTobRoIAuxContainer#CPMTobRoIsAux.',
105 'xAOD::CPMTobRoIContainer#CPMTobRoIsRoIB','xAOD::CPMTobRoIAuxContainer#CPMTobRoIsRoIBAux.',
106 'xAOD::CPMTowerContainer#CPMTowers','xAOD::CPMTowerAuxContainer#CPMTowersAux.',
107 'xAOD::CPMTowerContainer#CPMTowersOverlap','xAOD::CPMTowerAuxContainer#CPMTowersOverlapAux.',
108 'xAOD::RODHeaderContainer#RODHeaders','xAOD::RODHeaderAuxContainer#RODHeadersAux.',
109 'xAOD::JetElementContainer#JetElements','xAOD::JetElementAuxContainer#JetElementsAux.',
110 'xAOD::JetElementContainer#JetElementsOverlap','xAOD::JetElementAuxContainer#JetElementsOverlapAux.',
111 'xAOD::TriggerTowerContainer#xAODTriggerTowers','xAOD::TriggerTowerAuxContainer#xAODTriggerTowersAux.',
112 'xAOD::L1TopoRawDataContainer#L1TopoRawData','xAOD::L1TopoRawDataAuxContainer#L1TopoRawDataAux.',
113 #Trigger navigation
114 'xAOD::TrigDecision#*','xAOD::TrigDecisionAuxInfo#*',
115 'xAOD::TrigConfKeys#*',
116 'xAOD::BunchConfKey#*',
117 'xAOD::TrigNavigation#*','xAOD::TrigNavigationAuxInfo#*',
118 'xAOD::TrigCompositeContainer#HLTNav*', 'xAOD::TrigCompositeAuxContainer#HLTNav*'
119 ]
120
121 if configFlags.Input.isMC:
122 items += ['xAOD::TruthParticleContainer#*','xAOD::TruthParticleAuxContainer#TruthParticlesAux.-caloExtension',
123 'xAOD::TruthVertexContainer#*','xAOD::TruthVertexAuxContainer#*',
124 'xAOD::TruthEventContainer#*','xAOD::TruthEventAuxContainer#*']
125
126 acc.merge( OutputStreamCfg( configFlags, 'DESDM_PHOJET', ItemList=items, AcceptAlgs=["DESDM_PHOJETKernel"]) )
127 acc.merge(
128 SetupMetaDataForStreamCfg(
129 configFlags,
130 "DESDM_PHOJET",
131 AcceptAlgs=["DESDM_PHOJETKernel"],
132 createMetadata=[
133 MetadataCategory.ByteStreamMetaData,
134 MetadataCategory.LumiBlockMetaData,
135 MetadataCategory.TriggerMenuMetaData,
136 ],
137 )
138 )
139
140 return acc
141
142
DESDM_PHOJETCfg(configFlags)
DESDM_PHOJETKernelCfg(configFlags, name='DESDM_PHOJETKernel', **kwargs)