ATLAS Offline Software
Loading...
Searching...
No Matches
PhotonTruthConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3#
4# @file egammaD3PDAnalysis/python/PhotonTruthConfig.py
5# @author scott snyder <snyder@bnl.gov>
6# @date Nov, 2011
7# @brief Configure PhotonTruthAlg to fill UserData.
8#
9
10
11from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
12from D3PDMakerCoreComps.resolveSGKey import resolveSGKey
13from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
14from AthenaConfiguration.ComponentFactory import CompFactory
15
16D3PD = CompFactory.D3PD
17
18
20 (flags,
21 prefix = '',
22 sgkey = D3PDMakerFlags.ElectronSGKey,
23 typeName = 'ElectronContainer',
24 allowMissing = False):
25 """Configure PhotonTruthAlg for D3PD making.
26
27 FLAGS are the configuration flags.
28
29 PREFIX is a prefix to add to the name of the algorithm scheduled.
30
31 SGKEY/TYPENAME is the StoreGate key of the input electron container
32 and the name of its type.
33
34 If ALLOWMISSING is true, don't fail if the SG key doesn't exist.
35"""
36
37 acc = ComponentAccumulator()
38
39 if not D3PDMakerFlags.DoTruth:
40 return acc
41
42 if (not D3PDMakerFlags.MakeEgammaUserData or
43 D3PDMakerFlags.HaveEgammaUserData):
44 return acc
45
47 resolved_sgkey = resolveSGKey (flags, sgkey)
48 auxprefix = (D3PDMakerFlags.EgammaUserDataPrefix + '_' +
49 resolved_sgkey + '_')
50
51 from TruthD3PDMaker.MCTruthClassifierConfig \
52 import D3PDMCTruthClassifierCfg
53 acc.merge (D3PDMCTruthClassifierCfg (flags))
54 ptaname = 'PhotonTruthAlg_' + resolved_sgkey
55 acc.addEventAlgo (D3PD.PhotonTruthAlg \
56 (ptaname,
57 PhotonGetter = DVGetter
58 (prefix + 'PhotonTruthAlgGetter',
59 TypeName = typeName,
60 SGKey = sgkey),
61 AllowMissing = allowMissing,
62 AuxPrefix = auxprefix,
63 TruthTool = D3PD.PhotonTruthTool
64 ('D3PD__PhotonTruthTool',
65 Classifier = acc.getPublicTool ('D3PDMCTruthClassifier'))))
66
67 return acc
Analyze GenParticle's matching photons and made UD decorations.
Getter tool to retrieve DataVector/List collections from StoreGate.
PhotonTruthCfg(flags, prefix='', sgkey=D3PDMakerFlags.ElectronSGKey, typeName='ElectronContainer', allowMissing=False)