ATLAS Offline Software
Loading...
Searching...
No Matches
MinBiasChainConfiguration.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaCommon.Logging import logging
4logging.getLogger().info("Importing %s",__name__)
5log = logging.getLogger( __name__ )
6
7from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase
8
9from TriggerMenuMT.HLT.MinBias.MinBiasMenuSequences import (MinBiasSPSequenceGenCfg,
10 MinBiasTrkSequenceGenCfg,
11 MinBiasPixelTrkSequenceGenCfg,
12 MinBiasMbtsSequenceGenCfg,
13 MinBiasZVertexFinderSequenceGenCfg)
14from TriggerMenuMT.HLT.MinBias.AFPMenuSequence import AFPTrkSequenceGenCfg, AFPGlobalSequenceGenCfg, AFPToFDeltaZSequenceGenCfg
15
16class MinBiasChainConfig(ChainConfigurationBase):
17
18 def __init__(self, chainDict):
19 ChainConfigurationBase.__init__(self,chainDict)
20
21 # ----------------------
22 # Assemble the chain depending on information from chainName
23 # ----------------------
24 def assembleChainImpl(self, flags):
25 log.debug("Assembling chain for %s", self.chainName)
26 steps = []
27
28 if "mbts" == self.chainPart['recoAlg'][0] or "mbts" in self.chainName:
29 steps.append(self.getMinBiasMbtsStep(flags))
30 elif "afprec" == self.chainPart['recoAlg'][0]:
31 steps.append(self.getAFPTrkStep(flags))
32 else:
33 steps.append(self.getMinBiasEmptyMbtsStep(flags))
34
35 if "afpdz5" in self.chainPart['recoAlg'] or "afpdz10" in self.chainPart['recoAlg']:
36 # afpdz covers both the trigger hypo and afptof reconstruction
37 steps.append(self.getAFPToFDeltaZStep(flags))
38 elif "afptof" in self.chainPart['recoAlg']:
39 steps.append(self.getAFPGlobalStep(flags))
40
41 if self.chainPart['recoAlg'][0] in ['sp', 'sptrk', 'hmt', 'excl', 'pixsptrk']:
42 steps.append(self.getMinBiasSpStep(flags))
43
44 if self.chainPart['recoAlg'][0] in ['sptrk', 'hmt', 'excl']:
45 steps.append(self.getMinBiasZFindStep(flags))
46 steps.append(self.getMinBiasTrkStep(flags))
47
48 if self.chainPart['recoAlg'][0] in ['pixsptrk']:
49 steps.append(self.getMinBiasZFindStep(flags))
50 steps.append(self.getMinBiasPixelTrkStep(flags))
51
52 return self.buildChain(steps)
53
54 def getMinBiasMbtsStep(self, flags):
55 return self.getStep(flags, 'Mbts', [MinBiasMbtsSequenceGenCfg])
56
57 def getMinBiasEmptyMbtsStep(self, flags):
58 return self.getEmptyStep('EmptyMbts')
59
60 def getMinBiasSpStep(self, flags):
61 return self.getStep(flags, 'SPCount', [MinBiasSPSequenceGenCfg])
62
63 def getMinBiasZFindStep(self, flags):
64 return self.getStep(flags, 'ZFind', [MinBiasZVertexFinderSequenceGenCfg])
65
66 def getMinBiasTrkStep(self, flags):
67 return self.getStep(flags, 'TrkCount', [MinBiasTrkSequenceGenCfg])
68
69 def getMinBiasPixelTrkStep(self, flags):
70 return self.getStep(flags, 'PixTrkCount', [MinBiasPixelTrkSequenceGenCfg])
71
72 def getAFPTrkStep(self, flags):
73 return self.getStep(flags, 'AFPTrk', [AFPTrkSequenceGenCfg])
74
75 def getAFPGlobalStep(self, flags):
76 return self.getStep(flags, 'AFPGlobal', [AFPGlobalSequenceGenCfg])
77
78 def getAFPToFDeltaZStep(self, flags):
79 return self.getStep(flags, 'AFPToFDeltaZ', [AFPToFDeltaZSequenceGenCfg])