ATLAS Offline Software
Loading...
Searching...
No Matches
PrecisionPhotonMenuSequences.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3# menu components
4from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
5from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys
6from AthenaConfiguration.ComponentFactory import CompFactory
7from AthenaConfiguration.AccumulatorCache import AccumulatorCache
8
9# logger
10from AthenaCommon.Logging import logging
11log = logging.getLogger(__name__)
12
13def tag(ion):
14 return 'precision' + ('HI' if ion is True else '') + 'Photon'
15
16
17@AccumulatorCache
18def precisionPhotonSequenceGenCfg(flags, ion=False, is_probe_leg=False):
19 """ This function creates the PrecisionPhoton sequence"""
20 # Prepare first the EventView
21 InViewRoIs="PrecisionPhotonRoIs"
22
23 # Configure the reconstruction algorithm sequence
24 TrigEgammaKeys = getTrigEgammaKeys(flags, ion = ion)
25
26 hiInfo = 'HI' if ion is True else ''
27 probeInfo = '_probe' if is_probe_leg is True else ''
28
29 roiTool = CompFactory.ViewCreatorPreviousROITool()
30 recoAcc = InViewRecoCA(tag(ion),InViewRoIs=InViewRoIs, RoITool = roiTool, RequireParentView = True, isProbe=is_probe_leg)
31
32 from TriggerMenuMT.HLT.Photon.PrecisionPhotonRecoSequences import precisionPhotonRecoSequence
33 recoAcc.mergeReco(precisionPhotonRecoSequence(flags, InViewRoIs,'PrecisionPhotonRecoSequence'+hiInfo, ion))
34
35 selAcc = SelectionCA('PrecisionPhotonMenuSequence'+hiInfo, isProbe=is_probe_leg)
36
37 selAcc.mergeReco(recoAcc)
38 sequenceOut = TrigEgammaKeys.precisionPhotonContainer
39
40 from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import TrigEgammaPrecisionPhotonHypoAlgCfg, TrigEgammaPrecisionPhotonHypoToolFromDict
41
42 selAcc.mergeHypo(TrigEgammaPrecisionPhotonHypoAlgCfg(flags, "Photon"+tag(ion)+"Hypo"+probeInfo, sequenceOut))
43
44 return MenuSequence(flags, selAcc, HypoToolGen=TrigEgammaPrecisionPhotonHypoToolFromDict)
precisionPhotonSequenceGenCfg(flags, ion=False, is_probe_leg=False)