Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.HION5 Namespace Reference

Functions

def HION5SkimmingToolCfg (flags)
 
def HION5Thinning (flags)
 
def HION5KernelCfg (flags, name="HION5Kernel", **kwargs)
 
def HION5Cfg (flags)
 

Function Documentation

◆ HION5Cfg()

def python.HION5.HION5Cfg (   flags)

Definition at line 153 of file HION5.py.

153 def HION5Cfg(flags):
154  acc = ComponentAccumulator()
155 
156  from DerivationFrameworkEGamma.PhotonsCPDetailedContent import PhotonsCPDetailedContent
157  from DerivationFrameworkEGamma.ElectronsCPDetailedContent import ExtraElectronShowerShapes,ExtraElectronGSFVar
158 
159  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
160  HION5TriggerListsHelper = TriggerListsHelper(flags)
161 
162  acc.merge(HION5KernelCfg(flags, name="HION5Kernel", StreamName="StreamDAOD_HION5", TriggerListsHelper = HION5TriggerListsHelper,))
163 
164  # configure slimming
165  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
166  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
167  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
168  from DerivationFrameworkHI import ListSlimming
169 
170  HION5SlimmingHelper = SlimmingHelper("HION5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
171 
172  AllVariables = []
173  AllVariables += ListSlimming.HION5AllVariables()
174  AllVariables += ListSlimming.HION5ExtraContainersTrigger()
175 
176  HION5SlimmingHelper.SmartCollections = ListSlimming.HION5SmartCollections()
177  HION5SlimmingHelper.ExtraVariables = ListSlimming.HION5Extravariables()
178  HION5SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
179  HION5SlimmingHelper.ExtraVariables += ExtraElectronShowerShapes
180  HION5SlimmingHelper.ExtraVariables += ExtraElectronGSFVar
181  HION5SlimmingHelper.AllVariables = AllVariables
182 
183  # Add egamma trigger objects
184  HION5SlimmingHelper.IncludeEGammaTriggerContent = True
185  # Add muon trigger objects
186  HION5SlimmingHelper.IncludeMuonTriggerContent = True
187 
188  HION5ItemList = HION5SlimmingHelper.GetItemList()
189 
190  acc.merge(OutputStreamCfg(flags, "DAOD_HION5", ItemList=HION5ItemList, AcceptAlgs=["HION5Kernel"]))
191  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION5", AcceptAlgs=["HION5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
192 
193  return acc

◆ HION5KernelCfg()

def python.HION5.HION5KernelCfg (   flags,
  name = "HION5Kernel",
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel)
for HION5

Definition at line 79 of file HION5.py.

79 def HION5KernelCfg(flags, name="HION5Kernel", **kwargs):
80  """Configure the derivation framework driving algorithm (kernel)
81  for HION5"""
82  acc = ComponentAccumulator()
83 
84  # Schedule extra jets collections
85  from JetRecConfig.StandardSmallRJets import AntiKt4PV0Track
86  from JetRecConfig.JetRecConfig import JetRecCfg
87 
88  jetList = [AntiKt4PV0Track]
89  for jd in jetList:
90  acc.merge(JetRecCfg(flags, jd))
91 
92  # Common augmentations
93  # cannot use PhysCommon sequence because
94  # - no triggers
95  # - no TauJets
96  # so we have to use a modified version here
97  from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
98  from DerivationFrameworkEGamma.EGammaCommonConfig import EGammaCommonCfg
99 
100  acc.merge(MuonsCommonCfg(flags))
101  acc.merge(EGammaCommonCfg(flags))
102 
103  # jet cleaning
104  # standard way in PhysCommon is
105  # - calculate tau ID (needed for default jet OR)
106  # - decorate jets with overlap removal
107  # - do event cleaning
108  # but taus are missing in HI derivations so need to do differently
109 
110  # NO JVT criteria in HI data (see pp config for details)
111 
112  # Decorate if jet passes OR and save decoration DFCommonJets_passOR
113  # Use modified OR that does not check overlaps with taus
114  from AssociationUtils.AssociationUtilsConfig import OverlapRemovalToolCfg
115 
116  outputLabel = "DFCommonJets_passOR"
117  bJetLabel = "" # default
118  tauLabel = "" # workaround for missing taus
119  tauKey = "" # workaround for missing taus
120  orTool = acc.popToolsAndMerge(
122  flags, outputLabel=outputLabel, bJetLabel=bJetLabel, doTaus=False
123  )
124  )
125  algOR = CompFactory.OverlapRemovalGenUseAlg(
126  "OverlapRemovalGenUseAlg",
127  OverlapLabel=outputLabel,
128  OverlapRemovalTool=orTool,
129  JetKey = 'AntiKt4HIJets',
130  TauKey=tauKey,
131  TauLabel=tauLabel,
132  BJetLabel=bJetLabel,
133  )
134  acc.addEventAlgo(algOR)
135 
136  # skimming
137  skimmingTool = acc.getPrimaryAndMerge(HION5SkimmingToolCfg(flags))
138 
139  # Thinning
140  thinningTool= acc.getPrimaryAndMerge(HION5Thinning(flags))
141 
142  # setup the kernel
143  acc.addEventAlgo(
144  CompFactory.DerivationFramework.DerivationKernel(
145  name,
146  SkimmingTools = [skimmingTool],
147  ThinningTools = [thinningTool],
148  AugmentationTools = [],
149  ))
150 
151  return acc
152 

◆ HION5SkimmingToolCfg()

def python.HION5.HION5SkimmingToolCfg (   flags)
Configure the example skimming tool

Definition at line 9 of file HION5.py.

9 def HION5SkimmingToolCfg(flags):
10  """Configure the example skimming tool"""
11  acc = ComponentAccumulator()
12 
13  ExtraData = []
14  ExtraData += ['xAOD::MuonContainer/Muons']
15  ExtraData += ['xAOD::ElectronContainer/Electrons']
16  ExtraData += ['xAOD::PhotonContainer/Photons']
17  ExtraData += ['xAOD::TrackParticleContainer/InDetTrackParticles']
18  ExtraData += ['xAOD::TrackParticleContainer/InDetTrackPaasdasdrticles']
19 
20  acc.addSequence( seqAND("HION5Sequence") )
21  acc.getSequence("HION5Sequence").ExtraDataForDynamicConsumers = ExtraData
22  acc.getSequence("HION5Sequence").ProcessDynamicDataDependencies = True
23 
24  from DerivationFrameworkHI import ListTriggers
25 
26  triggers = ListTriggers.HION5SkimmingTriggers()
27 
28  req_electrons = 'count( Electrons.DFCommonElectronsLHLoose && ( Electrons.pt > 15*GeV ))>0'
29  req_muons = 'count( Muons.DFCommonMuonPassPreselection && (Muons.pt > 15*GeV) && ( abs(Muons.eta) < 2.7))>0'
30  req_photons = 'count( Photons.DFCommonPhotonsIsEMLoose && (Photons.pt > 30*GeV) ) > 0'
31  req_total = '(' + req_electrons + ' || ' + req_muons + ' || ' + req_photons + ')'
32 
33  expression = ' ( ' +' || '.join(triggers) + ' ) && ' + req_total
34 
35 
36  from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
37  tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
38  acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "HION5StringSkimmingTool",
39  expression = expression,
40  TrigDecisionTool=tdt),
41  primary = True)
42 
43  return acc
44 

◆ HION5Thinning()

def python.HION5.HION5Thinning (   flags)

Definition at line 45 of file HION5.py.

45 def HION5Thinning(flags):
46  from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg,JetTrackParticleThinningCfg
47  acc = ComponentAccumulator()
48 
49  track_thinning_expression = "InDetTrackParticles.pt > 0.9*GeV"
50  TrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
51  flags,
52  name = "PHYSTrackParticleThinningTool",
53  StreamName = "streamDAOD_HION5",
54  SelectionString = track_thinning_expression,
55  InDetTrackParticlesKey = "InDetTrackParticles"))
56 
57  AntiKt2HIJetsThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
58  flags,
59  name = "AntiKt2HIJetsThinningTool",
60  StreamName = "streamDAOD_HION5",
61  JetKey = "AntiKt2HIJets",
62  SelectionString = "AntiKt2HIJets.pt > 15*GeV",
63  InDetTrackParticlesKey = "InDetTrackParticles"))
64 
65  AntiKt4HIJetsThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
66  flags,
67  name = "AntiKt4HIJetsThinningTool",
68  StreamName = "streamDAOD_HION5",
69  JetKey = "AntiKt4HIJets",
70  SelectionString = "AntiKt4HIJets.pt > 15*GeV",
71  InDetTrackParticlesKey = "InDetTrackParticles"))
72 
73  acc.addPublicTool(TrackParticleThinningTool,primary = True)
74  acc.addPublicTool(AntiKt2HIJetsThinningTool)
75  acc.addPublicTool(AntiKt4HIJetsThinningTool)
76 
77  return acc
78 
AssociationUtilsConfig.OverlapRemovalToolCfg
def OverlapRemovalToolCfg(ConfigFlags, masterName='OverlapRemovalTool', inputLabel='selected', outputLabel='overlaps', bJetLabel='', maxElePtForBJetAwareOR=100. *1000, boostedLeptons=False, outputPassValue=False, linkOverlapObjects=False, doEleEleOR=False, doElectrons=True, doMuons=True, doJets=True, doTaus=True, doPhotons=True, doFatJets=False, **kwargs)
Definition: AssociationUtilsConfig.py:5
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:16
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.EGammaCommonConfig.EGammaCommonCfg
def EGammaCommonCfg(ConfigFlags)
Definition: EGammaCommonConfig.py:15
python.HION5.HION5KernelCfg
def HION5KernelCfg(flags, name="HION5Kernel", **kwargs)
Definition: HION5.py:79
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.HION5.HION5SkimmingToolCfg
def HION5SkimmingToolCfg(flags)
Definition: HION5.py:9
python.MuonsCommonConfig.MuonsCommonCfg
def MuonsCommonCfg(flags, suff="")
Definition: MuonsCommonConfig.py:13
python.HION5.HION5Cfg
def HION5Cfg(flags)
Definition: HION5.py:153
python.InDetToolsConfig.JetTrackParticleThinningCfg
def JetTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:574
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.TriggerInterface.TrigDecisionToolCfg
def TrigDecisionToolCfg(flags)
Definition: TriggerInterface.py:14
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.HION5.HION5Thinning
def HION5Thinning(flags)
Definition: HION5.py:45