ATLAS Offline Software
PFRunESDtoAOD_TopoTowers_mc21_14TeV.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 if __name__=="__main__":
4 
5  from AthenaConfiguration.AllConfigFlags import initConfigFlags
6  cfgFlags = initConfigFlags()
7  cfgFlags.Concurrency.NumThreads=1
8  cfgFlags.Exec.MaxEvents=100
9  cfgFlags.Input.isMC=True
10  cfgFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PFlowTests/mc21_14TeV/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.AOD.e8481_s4383_r15934/AOD.41490164._005514.pool.root.1"]
11  cfgFlags.Output.AODFileName="output_AOD.root"
12  cfgFlags.Output.doWriteAOD=True
13  #We need to use EM scale topotowers for pflow
14  cfgFlags.Calo.FwdTower.prepareLCW=False
15  cfgFlags.PF.useTopoTowers = True
16  #Global links don't currently work with topotowers (other CP objects do not support topotowers)
17  cfgFlags.PF.useElPhotLinks = False
18  cfgFlags.PF.useMuLinks = False
19  cfgFlags.fillFromArgs()
20  cfgFlags.lock()
21 
22  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
23  cfg = MainServicesCfg(cfgFlags)
24 
25  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
26  cfg.merge(PoolReadCfg(cfgFlags))
27 
28  #Build EM scale combined topocluster + tower container
29  from CaloRec.CaloFwdTopoTowerConfig import CaloFwdTopoTowerCfg
30  cfg.merge(CaloFwdTopoTowerCfg(cfgFlags,CaloTopoClusterContainerKey="CaloTopoClusters",
31  towerContainerKey="CaloFwdTopoTowers",
32  TowerBuilderName="CaloTopoTowerFromClusterMaker",
33  TowerMergerName="CaloTopoSignalMaker",
34  signalContainerKey="CaloTopoSignal"))
35 
36  #Also rebuild LCW scale combined topocluster + tower container - ensures both containers are of same size,
37  #which is an assumption in the pflow code when dealing with LCW weights
38  cfg.merge(CaloFwdTopoTowerCfg(cfgFlags,TowerBuilderName="CaloCalTopoTowerFromClusterMaker",
39  TowerMergerName="CaloCalTopoSignalMaker",
40  signalContainerKey="CaloCalTopoSignal"))
41 
42  from eflowRec.PFRun3Config import PFFullCfg
43  cfg.merge(PFFullCfg(cfgFlags,runTauReco=True))
44 
45  from eflowRec.PFRun3Remaps import ListRemaps
46 
47  list_remaps=ListRemaps(cfg, 'AOD')
48  for mapping in list_remaps:
49  cfg.merge(mapping)
50 
51  cfg.run()
PFRun3Config.PFFullCfg
def PFFullCfg(inputFlags, runTauReco=False, **kwargs)
Definition: PFRun3Config.py:8
python.CaloFwdTopoTowerConfig.CaloFwdTopoTowerCfg
def CaloFwdTopoTowerCfg(flags, **kwargs)
Definition: CaloFwdTopoTowerConfig.py:7
PFRun3Remaps.ListRemaps
def ListRemaps(cfg, streams=[])
Definition: PFRun3Remaps.py:3
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:71