ATLAS Offline Software
Loading...
Searching...
No Matches
EGammaIsoConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3# ComponentAccumulator version of EGammaIso.py
4
5# listOfScheduledAlgs = [ 'JetAlgorithm/jetalg_ConstitModCorrectPFOCHS_EMPFlow',
6# 'PseudoJetAlgorithm/PseudoJetAlgForIsoNFlow',
7# 'EventDensityAthAlg/CentralDensityForNFlowIsoAlg',
8# 'EventDensityAthAlg/ForwardDensityForNFlowIsoAlg',
9# 'IsolationBuilder/PFlowIsolationBuilder',
10# 'JetAlgorithm/jetalg_ConstitModCorrectPFOCSSKCHS_EMPFlowCSSK',
11# 'PseudoJetAlgorithm/PseudoJetAlgForIsoCSSKNFlow',
12# 'EventDensityAthAlg/CentralDensityForCSSKNFlowIsoAlg',
13# 'EventDensityAthAlg/ForwardDensityForCSSKNFlowIsoAlg',
14# 'IsolationBuilder/CSSKPFlowIsolationBuilder' ]
15
16from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
17from IsolationAlgs.IsolationSteeringDerivConfig import IsolationSteeringDerivCfg
18
19
20def makeEGammaCommonIsoCfg(ConfigFlags):
21 acc = ComponentAccumulator()
22
23 addIsoVar = ""
24 densityList = []
25 densityDict = {}
26 for inT in ["CSSK"]:
27 acc.merge(IsolationSteeringDerivCfg(ConfigFlags, inType="EMPFlow" + inT))
28
29 for eta in ["Central", "Forward"]:
30 # I do not understand why this is needed
31 densityDict.update(
32 {
33 "NeutralParticle"
34 + inT
35 + "FlowIso"
36 + eta
37 + "EventShape": "xAOD::EventShape",
38 "NeutralParticle"
39 + inT
40 + "FlowIso"
41 + eta
42 + "EventShapeAux": "xAOD::EventShapeAuxInfo",
43 }
44 )
45 densityList += [
46 "NeutralParticle" + inT + "FlowIso" + eta + "EventShape.Density"
47 ]
48
49 suff = "" if len(inT) == 0 else "_" + inT
50 addIsoVar += (
51 f".neflowisol20{suff}.neflowisol30{suff}.neflowisol40{suff}"
52 + f".neflowisolcoreConeEnergyCorrection{suff}"
53 + f".neflowisolcoreConeSCEnergyCorrection{suff}"
54 )
55
56 return addIsoVar, densityList, densityDict, acc
makeEGammaCommonIsoCfg(ConfigFlags)