ATLAS Offline Software
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 
11 from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
12 from D3PDMakerCoreComps.resolveSGKey import resolveSGKey
13 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
14 from AthenaConfiguration.ComponentFactory import CompFactory
15 
16 D3PD = 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
D3PD::PhotonTruthTool
Definition: PhotonTruthTool.h:40
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
D3PD::SGDataVectorGetterTool
Getter tool to retrieve DataVector/List collections from StoreGate.
Definition: SGDataVectorGetterTool.h:55
python.PhotonTruthConfig.PhotonTruthCfg
def PhotonTruthCfg(flags, prefix='', sgkey=D3PDMakerFlags.ElectronSGKey, typeName='ElectronContainer', allowMissing=False)
Definition: PhotonTruthConfig.py:20
D3PD::PhotonTruthAlg
Analyze GenParticle's matching photons and made UD decorations.
Definition: PhotonTruthAlg.h:36