ATLAS Offline Software
TrigEgammaKeys.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
3 __author__ = "Fernando Monticelli, Debottam Bakshi Gupta, Joao Victor Pinto"
4 __doc__ = "ConfigSettings"
5 __all__ = [ "getTrigEgammaKeys" ]
6 
7 #----------------------------------------------------------------
8 # Configuration of Electron and Photon chains
9 #----------------------------------------------------------------
10 
11 
12 from TrigEDMConfig.TriggerEDM import recordable
13 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
14 
16 
17  """Base clas to configure TrigEgamma Container names. Containers will be record, collections not"""
18  def __init__(self, flags: AthConfigFlags, ion=False):
19 
20 
21  """Static class to collect all string manipulation in fast electron sequences """
22  self.fastTrackingRoIContainer = recordable("HLT_Roi_FastElectron")
23  self.fastElectronContainer = recordable("HLT_FastElectrons")
24 
25  """Static class to collect all string manipulation in fast photon sequences """
26  self.fastPhotonRoIContainer = recordable("HLT_Roi_FastPhoton")
27  self.fastPhotonContainer = recordable("HLT_FastPhotons")
28 
29  """Static class to collect all string manipulation in precision calo sequences """
30  self.precisionCaloTopoCollection = 'HLT_egammaTopoCluster'
31  self.precisionCaloEgammaRecCollection = 'HLT_precisionCaloEgammaRecCollection'
32  self.precisionElectronCaloClusterContainer = recordable("HLT_CaloEMClusters_Electron") if not ion else recordable("HLT_HICaloEMClusters")
33  self.precisionPhotonCaloClusterContainer = recordable("HLT_CaloEMClusters_Photon") if not ion else recordable("HLT_HICaloEMClusters")
34  self.precisionTopoClusterContainer = recordable("HLT_TopoCaloClustersRoI") if not ion else recordable("HLT_TopoCaloClustersHIRoI")
35  self.precisionEgammaRecCollection = 'HLT_egammaRecCollection'
36  self.precisionPhotonEMClusterContainer = recordable('HLT_TrigEMClusters_Photons')
37  self.precisionElectronEMClusterContainer = recordable('HLT_TrigEMClusters_Electrons')
38 
39  """Static class to collect all string manipulation in precision photon sequences """
40  self.precisionPhotonSuperClusterRecCollection = 'HLT_PhotonSuperRecCollection'
41  self.precisionPhotonSuperClusterCollection = 'HLT_PhotonSuperClusters'
42  self.precisionPhotonContainer = recordable('HLT_egamma_Photons')
43  self.precisionPhotonIsoContainer = recordable('HLT_egamma_Iso_Photons')
44 
45  """Static class to collect all string manipulation in precision electron sequences """
46  self.precisionElectronSuperClusterRecCollection = 'HLT_ElectronSuperRecCollection'
47  self.precisionElectronSuperClusterCollection = 'HLT_ElectronSuperClusters'
48  self.precisionElectronContainer = recordable('HLT_egamma_Electrons')
49 
50  """Static class to collect all string manipulation in precision egamma sequences """
51  self.precisionEgammaSuperClusterRecCollection = 'HLT_EgammaSuperRecCollection'
52 
53  #
54  # Special sequences
55  #
56  self.TrigTRTHTCountsContainer = recordable("HLT_TrigTRTHTCounts")
57  self.egEventShape = recordable('HLT_HIEventShapeEG')
58  self._flags = flags
59 
60 
61 
62  @property
64  return self._flags.Trigger.InDetTracking.electron.tracks_IDTrig
65 
66  @property
68  return self._flags.Trigger.InDetTracking.electron.tracks_FTF
69 
70 
71 
73  # This class contians modified base configuration class for LRT electron trigger chains
74  def __init__(self, flags: AthConfigFlags, ion):
75  TrigEgammaKeysBase.__init__(self, flags, ion)
76 
77  self.fastTrackingRoIContainer = recordable("HLT_Roi_FastElectron_LRT")
78  self.fastElectronContainer = recordable('HLT_FastElectrons_LRT')
79  self.precisionElectronEMClusterContainer = recordable('HLT_TrigEMClusters_Electrons_LRT')
80  self.precisionElectronCaloClusterContainer = recordable("HLT_CaloEMClusters_LRT")
81  self.precisionElectronContainer = recordable('HLT_egamma_Electrons_LRT')
82  self.precisionTopoClusterContainer = recordable("HLT_TopoCaloClustersRoI_LRT")
83 
84  @property
86  return self._flags.Trigger.InDetTracking.electronLRT.tracks_IDTrig
87 
88  @property
90  return self._flags.Trigger.InDetTracking.electronLRT.tracks_FTF
91 
92 
94  # This class contians modified base configuration class for GSF electron trigger chains
95  def __init__(self, flags: AthConfigFlags, ion):
96  TrigEgammaKeysBase.__init__(self, flags, ion)
97  self.precisionElectronEMClusterContainer = recordable('HLT_TrigEMClusters_Electrons_GSF')
98 
99  # from HLT_IDTrack_Electron to HLT_IDTrack_Electron by refit alg
100  self.precisionElectronTrkCollectionGSF = 'HLT_IDTrkTrack_Electron_GSF'
101  self.precisionElectronTrackParticleContainerGSF = recordable('HLT_IDTrack_Electron_GSF')
102  self.precisionElectronContainer = recordable('HLT_egamma_Electrons_GSF')
103  @property
105  return self._flags.Trigger.InDetTracking.electron.tracks_IDTrig
106 
107  @property
109  return self._flags.Trigger.InDetTracking.electron.tracks_FTF
110 
111 
113  # This class contians modified base configuration class for LRT_GSF electron trigger chains
114  def __init__(self, flags: AthConfigFlags, ion):
115  TrigEgammaKeysBase.__init__(self, flags, ion)
116  self.precisionElectronEMClusterContainer = recordable('HLT_TrigEMClusters_Electrons_LRTGSF')
117 
118  # from HLT_IDTrack_Electron to HLT_IDTrack_Electron by refit alg
119  self.precisionElectronTrkCollectionGSF = 'HLT_IDTrkTrack_Electron_LRTGSF'
120  self.precisionElectronTrackParticleContainerGSF = recordable('HLT_IDTrack_Electron_LRTGSF')
121  self.precisionElectronCaloClusterContainer = recordable("HLT_CaloEMClusters_LRT")
122  self.precisionElectronContainer = recordable('HLT_egamma_Electrons_LRTGSF')
123 
124  @property
126  return self._flags.Trigger.InDetTracking.electronLRT.tracks_IDTrig
127 
128  @property
130  return self._flags.Trigger.InDetTracking.electronLRT.tracks_FTF
131 
132 #
133 # Get keys from variant name
134 #
135 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
136 
137 @AccumulatorCache
138 def getTrigEgammaKeys(flags: AthConfigFlags, name='', ion=False):
139 
140  _d = {
141  # Dictionary that maps a string to a configuration setting for electron and photon chains
142  '' : TrigEgammaKeysBase(flags, ion),
143  '_noGSF' : TrigEgammaKeysBase(flags, ion),
144  '_LRT' : TrigEgammaKeys_LRT(flags, ion),
145  '_GSF' : TrigEgammaKeys_GSF(flags, ion),
146  '_LRTGSF' : TrigEgammaKeys_LRTGSF(flags, ion),
147  }
148 
149  if name in _d.keys():
150  return _d[name]
151  else:
152  raise Exception('getTrigEgammaKeys() called with non valid name : ' + name + ' valid names are:' + str(_d.keys()) )
153 
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF.precisionElectronTrkCollectionGSF
precisionElectronTrkCollectionGSF
Definition: TrigEgammaKeys.py:119
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF.__init__
def __init__(self, AthConfigFlags flags, ion)
Definition: TrigEgammaKeys.py:95
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.fastTrackingRoIContainer
fastTrackingRoIContainer
Definition: TrigEgammaKeys.py:22
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.fastPhotonContainer
fastPhotonContainer
Definition: TrigEgammaKeys.py:27
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionTrackingContainer
def precisionTrackingContainer(self)
Definition: TrigEgammaKeys.py:63
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonContainer
precisionPhotonContainer
Definition: TrigEgammaKeys.py:42
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionTopoClusterContainer
precisionTopoClusterContainer
Definition: TrigEgammaKeys.py:34
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF.precisionElectronTrackParticleContainerGSF
precisionElectronTrackParticleContainerGSF
Definition: TrigEgammaKeys.py:120
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonSuperClusterCollection
precisionPhotonSuperClusterCollection
Definition: TrigEgammaKeys.py:41
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase._flags
_flags
Definition: TrigEgammaKeys.py:58
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.fastPhotonRoIContainer
fastPhotonRoIContainer
Definition: TrigEgammaKeys.py:26
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.egEventShape
egEventShape
Definition: TrigEgammaKeys.py:57
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase
Definition: TrigEgammaKeys.py:15
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRT
Definition: TrigEgammaKeys.py:72
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF.fastTrackParticleContainer
def fastTrackParticleContainer(self)
Definition: TrigEgammaKeys.py:129
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionCaloEgammaRecCollection
precisionCaloEgammaRecCollection
Definition: TrigEgammaKeys.py:31
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonIsoContainer
precisionPhotonIsoContainer
Definition: TrigEgammaKeys.py:43
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionElectronContainer
precisionElectronContainer
Definition: TrigEgammaKeys.py:48
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF.precisionTrackingContainer
def precisionTrackingContainer(self)
Definition: TrigEgammaKeys.py:125
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF.precisionElectronTrkCollectionGSF
precisionElectronTrkCollectionGSF
Definition: TrigEgammaKeys.py:100
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRT.fastTrackParticleContainer
def fastTrackParticleContainer(self)
Definition: TrigEgammaKeys.py:89
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF.fastTrackParticleContainer
def fastTrackParticleContainer(self)
Definition: TrigEgammaKeys.py:108
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonSuperClusterRecCollection
precisionPhotonSuperClusterRecCollection
Definition: TrigEgammaKeys.py:40
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF.__init__
def __init__(self, AthConfigFlags flags, ion)
Definition: TrigEgammaKeys.py:114
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionElectronSuperClusterRecCollection
precisionElectronSuperClusterRecCollection
Definition: TrigEgammaKeys.py:46
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRT.precisionTrackingContainer
def precisionTrackingContainer(self)
Definition: TrigEgammaKeys.py:85
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF.precisionElectronTrackParticleContainerGSF
precisionElectronTrackParticleContainerGSF
Definition: TrigEgammaKeys.py:101
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionEgammaRecCollection
precisionEgammaRecCollection
Definition: TrigEgammaKeys.py:35
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionElectronEMClusterContainer
precisionElectronEMClusterContainer
Definition: TrigEgammaKeys.py:37
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionElectronCaloClusterContainer
precisionElectronCaloClusterContainer
Definition: TrigEgammaKeys.py:32
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonEMClusterContainer
precisionPhotonEMClusterContainer
Definition: TrigEgammaKeys.py:36
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRTGSF
Definition: TrigEgammaKeys.py:112
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.fastTrackParticleContainer
def fastTrackParticleContainer(self)
Definition: TrigEgammaKeys.py:67
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.__init__
def __init__(self, AthConfigFlags flags, ion=False)
Definition: TrigEgammaKeys.py:18
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.TrigTRTHTCountsContainer
TrigTRTHTCountsContainer
Definition: TrigEgammaKeys.py:56
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionElectronSuperClusterCollection
precisionElectronSuperClusterCollection
Definition: TrigEgammaKeys.py:47
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionPhotonCaloClusterContainer
precisionPhotonCaloClusterContainer
Definition: TrigEgammaKeys.py:33
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.fastElectronContainer
fastElectronContainer
Definition: TrigEgammaKeys.py:23
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF
Definition: TrigEgammaKeys.py:93
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:30
pickleTool.object
object
Definition: pickleTool.py:30
str
Definition: BTagTrackIpAccessor.cxx:11
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionCaloTopoCollection
precisionCaloTopoCollection
Definition: TrigEgammaKeys.py:30
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_GSF.precisionTrackingContainer
def precisionTrackingContainer(self)
Definition: TrigEgammaKeys.py:104
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeys_LRT.__init__
def __init__(self, AthConfigFlags flags, ion)
Definition: TrigEgammaKeys.py:74
python.HLT.Egamma.TrigEgammaKeys.getTrigEgammaKeys
def getTrigEgammaKeys(AthConfigFlags flags, name='', ion=False)
Definition: TrigEgammaKeys.py:138
python.HLT.Egamma.TrigEgammaKeys.TrigEgammaKeysBase.precisionEgammaSuperClusterRecCollection
precisionEgammaSuperClusterRecCollection
Definition: TrigEgammaKeys.py:51