2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.Enums
import BeamType
12 from METReconstruction.METCalo_Cfg
import METCalo_Cfg
14 metDefs = [
'EMTopo',
'EMTopoRegions',
'LocHadTopo',
'LocHadTopoRegions',
'Calo']
15 for metDef
in metDefs:
16 outputList.append(
'xAOD::MissingETContainer#MET_'+metDef)
17 outputList.append(
'xAOD::MissingETAuxContainer#MET_'+metDef+
'Aux.')
20 from METReconstruction.METTrack_Cfg
import METTrack_Cfg
22 outputList.append(
"xAOD::MissingETContainer#MET_Track")
23 outputList.append(
"xAOD::MissingETAuxContainer#MET_TrackAux.")
26 if inputFlags.Input.isMC:
27 from METReconstruction.METTruth_Cfg
import METTruth_Cfg
29 outputList.append(
"xAOD::MissingETContainer#MET_Truth")
30 outputList.append(
"xAOD::MissingETAuxContainer#MET_TruthAux.")
31 outputList.append(
"xAOD::MissingETContainer#MET_TruthRegions")
32 outputList.append(
"xAOD::MissingETAuxContainer#MET_TruthRegionsAux.")
33 outputList.append(
'xAOD::MissingETComponentMap#METMap_Truth')
34 outputList.append(
'xAOD::MissingETAuxComponentMap#METMap_TruthAux.')
37 from METReconstruction.METAssociatorCfg
import METAssociatorCfg
38 from METUtilities.METMakerConfig
import getMETMakerAlg
39 metDefs = [
'AntiKt4EMTopo',
'AntiKt4LCTopo']
40 if inputFlags.MET.DoPFlow:
41 metDefs.append(
'AntiKt4EMPFlow')
42 for metDef
in metDefs:
45 outputList.append(
'xAOD::MissingETAssociationMap#METAssoc_'+metDef)
46 outputList.append(
'xAOD::MissingETAuxAssociationMap#METAssoc_'+metDef+
'Aux.')
47 outputList.append(
'xAOD::MissingETContainer#MET_Core_'+metDef)
48 outputList.append(
'xAOD::MissingETAuxContainer#MET_Core_'+metDef+
'Aux.')
51 outputList.append(
'xAOD::MissingETContainer#MET_Reference_'+metDef)
52 outputList.append(
'xAOD::MissingETAuxContainer#MET_Reference_'+metDef+
'Aux.-ConstitObjectLinks.-ConstitObjectWeights')
55 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD, addToESD
56 result.merge(
addToESD(inputFlags, outputList))
57 if inputFlags.MET.WritetoAOD:
58 result.merge(
addToAOD(inputFlags, outputList))
63 if __name__==
"__main__":
65 from AthenaCommon.Logging
import log
70 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
72 flags.Input.isMC =
True
73 flags.Input.Files = [
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecExRecoTest/mc20e_13TeV/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.ESD.e4993_s3227_r12689/myESD.pool.root"]
77 flags.Concurrency.NumThreads = nthreads
79 flags.Concurrency.NumThreads = 1
80 flags.Concurrency.NumConcurrentEvents = 1
81 flags.MET.UseTracks =
True
82 flags.MET.DoPFlow =
True
83 if flags.Beam.Type
in [BeamType.Cosmics, BeamType.SingleBeam]:
84 flags.MET.UseTracks =
False
85 flags.MET.DoPFlow =
False
86 print(
"METReconstruction_jobOptions: detected cosmics/single-beam configuration -- switch off track-based MET reco")
91 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
95 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
97 StoreGateSvc=CompFactory.StoreGateSvc
102 from AtlasGeoModel.GeoModelConfig
import GeoModelCfg
104 cfg.merge(modelConfig)
106 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
110 from CaloRec.CaloTopoClusterConfig
import CaloTopoClusterCfg
113 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
117 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
122 from LumiBlockComps.LuminosityCondAlgConfig
import LuminosityCondAlgCfg
125 from AthenaConfiguration.ComponentFactory
import CompFactory
126 muWriter = CompFactory.LumiBlockMuWriter(
"LumiBlockMuWriter",LumiDataKey=
"LuminosityCondData")
127 cfg.addEventAlgo(muWriter,
"AthAlgSeq")
130 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
131 from JetRecConfig
import JetRecConfig
132 for jetdef
in [cst.EMTopoOrigin,cst.LCTopoOrigin,cst.EMPFlow]:
133 cfg.merge(JetRecConfig.JetInputCfg(flags,jetdef))
136 from SGComps.AddressRemappingConfig
import InputRenameCfg
137 cfg.merge(
InputRenameCfg(
'xAOD::MissingETContainer',
'MET_Track',
'MET_Track_Old'))
138 cfg.merge(
InputRenameCfg(
'xAOD::MissingETAuxContainer',
'MET_TrackAux.',
'MET_Track_OldAux.'))
139 cfg.merge(
InputRenameCfg(
'xAOD::MissingETContainer',
'MET_EMTopo',
'MET_EMTopo_Old'))
140 cfg.merge(
InputRenameCfg(
'xAOD::MissingETAuxContainer',
'MET_EMTopoAux.',
'MET_EMTopo_OldAux.'))
141 cfg.merge(
InputRenameCfg(
'xAOD::MissingETContainer',
'MET_LocHadTopo',
'MET_LocHadTopo_Old'))
142 cfg.merge(
InputRenameCfg(
'xAOD::MissingETAuxContainer',
'MET_LocHadTopoAux.',
'MET_LocHadTopo_OldAux.'))
146 outputlist = [
"EventInfo#*"]
147 outputlist+=[
"xAOD::MissingETContainer#"+
"MET_Track",
"xAOD::MissingETAuxContainer#"+
"MET_Track"+
"Aux."]
148 outputlist+=[
"xAOD::MissingETContainer#"+
"MET_Track_Old",
"xAOD::MissingETAuxContainer#"+
"MET_Track_Old"+
"Aux."]
149 outputlist+=[
"xAOD::MissingETContainer#"+
"MET_EMTopo",
"xAOD::MissingETAuxContainer#"+
"MET_EMTopo"+
"Aux."]
150 outputlist+=[
"xAOD::MissingETContainer#"+
"MET_EMTopo_Old",
"xAOD::MissingETAuxContainer#"+
"MET_EMTopo_Old"+
"Aux."]
151 outputlist+=[
"xAOD::MissingETContainer#"+
"MET_AntiKt4EMPFlow",
"xAOD::MissingETAuxContainer#"+
"MET_AntiKt4EMPFlow"+
"Aux."]
152 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
155 cfg.run(maxEvents=20)