ATLAS Offline Software
CosmicChainConfiguration.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaCommon.Logging import logging
4 logging.getLogger().info("Importing %s",__name__)
5 log = logging.getLogger(__name__)
6 
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequenceCA, SelectionCA, InViewRecoCA, EmptyMenuSequenceCfg
9 from TrigEDMConfig.TriggerEDM import recordable
10 import AthenaCommon.SystemOfUnits as Units
11 
12 from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase
13 
14 def TrackCountHypoToolGen(chainDict):
15  hypo = CompFactory.TrackCountHypoTool(chainDict["chainName"])
16  hypo.minNtrks = 1
17  return hypo
18 
20 
21  trkRecoSeq = InViewRecoCA("CosmicTrkRecoSeq", InViewRoIs = "CosmicRoIs")
22 
23  from TrigInDetConfig.utils import getFlagsForActiveConfig
24  flagsWithTrk = getFlagsForActiveConfig(flags, "cosmics", log)
25 
26  from TrigInDetConfig.InnerTrackingTrigSequence import InnerTrackingTrigSequence
27  seq = InnerTrackingTrigSequence.create(flagsWithTrk,
28  flagsWithTrk.Tracking.ActiveConfig.input_name,
29  rois ="CosmicRoIs",
30  inView = "VDVCosmicsIDTracking")
31  idTrackingAlgs = seq.sequence("Offline")
32  trkRecoSeq.mergeReco(idTrackingAlgs)
33 
34  trackCountHypo = CompFactory.TrackCountHypoAlg("CosmicsTrackCountHypoAlg",
35  minPt = [100*Units.MeV],
36  maxZ0 = [401*Units.mm],
37  vertexZ = [803*Units.mm])
38  trackCountHypo.tracksKey = recordable("HLT_IDTrack_Cosmic_IDTrig")
39  trackCountHypo.trackCountKey = "HLT_CosmicsTrackCount" # irrelevant, not recorded
40 
41  #TODO move a complete configuration of the algs to TrigMinBias package
42  from TrigMinBias.TrigMinBiasMonitoring import TrackCountMonitoring
43  trackCountHypo.MonTool = TrackCountMonitoring(flags, trackCountHypo) # monitoring tool configures itself using config of the hypo alg
44 
45 
46  trkSequence = SelectionCA("CosmicTrkSequence")
47  trkSequence.mergeReco(trkRecoSeq)
48  trkSequence.addHypoAlgo(trackCountHypo)
49  log.debug("Prepared ID tracking sequence")
50  log.debug(trkSequence)
51  return MenuSequenceCA(flags,
52  trkSequence,
53  HypoToolGen = TrackCountHypoToolGen)
54 
55 
56 #----------------------------------------------------------------
58 
59  def __init__(self, chainDict):
60  ChainConfigurationBase.__init__(self,chainDict)
61 
62  # ----------------------
63  # Assemble the chain depending on information from chainName
64  # ----------------------
65  def assembleChainImpl(self, flags):
66 
67  steps = []
68  log.debug("Assembling chain for %s", self.chainName)
69  # --------------------
70  # define here the names of the steps and obtain the chainStep configuration
71  # --------------------
72  if 'cosmic_id' in self.chainName:
73  steps += [ self.getStep(flags, 'Empty', [EmptyMenuSequenceCfg], name="EmptyBeforeCosmicID"),
74  self.getStep(flags, 'CosmicTracking', [CosmicsTrkSequenceGenCfg]) ]
75 
76  return self.buildChain(steps)
77 
78 
grepfile.info
info
Definition: grepfile.py:38
python.HLT.CalibCosmicMon.CosmicChainConfiguration.CosmicChainConfiguration
Definition: CosmicChainConfiguration.py:57
SystemOfUnits
ChainConfigurationBase
Definition: ChainConfigurationBase.py:1
python.HLT.CalibCosmicMon.CosmicChainConfiguration.CosmicsTrkSequenceGenCfg
def CosmicsTrkSequenceGenCfg(flags)
Definition: CosmicChainConfiguration.py:19
python.HLT.CalibCosmicMon.CosmicChainConfiguration.TrackCountHypoToolGen
def TrackCountHypoToolGen(chainDict)
Definition: CosmicChainConfiguration.py:14
python.utils.getFlagsForActiveConfig
AthConfigFlags getFlagsForActiveConfig(AthConfigFlags flags, str config_name, logging.Logger log)
Definition: Trigger/TrigTools/TrigInDetConfig/python/utils.py:9
python.TrigMinBiasMonitoring.TrackCountMonitoring
def TrackCountMonitoring(flags, hypoAlg)
Definition: TrigMinBiasMonitoring.py:47
python.TriggerEDM.recordable
def recordable(arg, runVersion=3)
Definition: TriggerEDM.py:30
python.HLT.CalibCosmicMon.CosmicChainConfiguration.CosmicChainConfiguration.__init__
def __init__(self, chainDict)
Definition: CosmicChainConfiguration.py:59
python.HLT.CalibCosmicMon.CosmicChainConfiguration.CosmicChainConfiguration.assembleChainImpl
def assembleChainImpl(self, flags)
Definition: CosmicChainConfiguration.py:65