From d7ea7aaab5db6072512f3c0dcb1818203f6a6403 Mon Sep 17 00:00:00 2001 From: Alex Pearce <alex.pearce@cern.ch> Date: Tue, 30 May 2017 09:27:41 +0200 Subject: [PATCH] Move imports to the top of the file. --- Phys/Tesla/python/Tesla/Configuration.py | 115 +++++++++++------------ 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/Phys/Tesla/python/Tesla/Configuration.py b/Phys/Tesla/python/Tesla/Configuration.py index 866401191..114a8289c 100644 --- a/Phys/Tesla/python/Tesla/Configuration.py +++ b/Phys/Tesla/python/Tesla/Configuration.py @@ -1,17 +1,61 @@ import logging as log import os - +import re + +from Configurables import ( + AddressKillerAlg, + CaloClusterMCTruth, + CaloDigit2MCLinks2Table, + ChargedPP2MC, + CopyLinePersistenceLocations, + CopyParticle2PVRelationsFromLinePersistenceLocations, + CopyProtoParticle2MCRelations, + CopySignalMCParticles, + DataOnDemandSvc, + DataPacking__Pack_LHCb__CaloClusterPacker_ as PackCaloClusters, + DataPacking__Unpack_LHCb__CaloClusterPacker_ as UnpackCaloClusters, + DecodeRawEvent, + DstConf, + EventSelector, + GaudiSequencer, + HltLinePersistenceSvc, + HltPackedDataDecoder, + HltRoutingBitsFilter, + InputCopyStream, + LHCbApp, + LHCbConfigurableUser, + LoKi__HDRFilter as HltDecReportsFilter, + LumiAlgsConf, + NeutralPP2MC, + OutputStream, + P2MCPFromProtoP, + PackCaloHypo as PackCaloHypos, + PackMCParticle, + PackMCVertex, + PackParticlesAndVertices, + PrintDuplicates, + RawEventFormatConf, + RawEventJuggler, + RecSummaryFromSelReports, + RecombineRawEvent, + RecordStream, + TeslaLineChecker, + TeslaReportAlgo, + TrackAssociator, + TrackSys, + TurboConf, + TurboPrescaler, + UnpackCaloHypo as UnpackCaloHypos, + UnpackParticlesAndVertices, + bankKiller +) +from DAQSys.Decoders import DecoderDB from Gaudi.Configuration import * -from LHCbKernel.Configuration import * -from Configurables import LHCbApp +from GaudiConf import IOExtension, IOHelper +from GaudiConf.PersistRecoConf import PersistRecoPacking import GaudiKernel.ProcessJobOptions -from Configurables import ( LHCbConfigurableUser, LHCbApp, RecSysConf, TrackSys, -GaudiSequencer, DstConf, L0Conf, CondDB, GlobalRecoConf, RawEventJuggler, DecodeRawEvent, -RawEventFormatConf, LumiAlgsConf, InputCopyStream, RecombineRawEvent) -from Configurables import TrackAssociator, ChargedPP2MC, P2MCPFromProtoP, TrackSys -from Configurables import PackParticlesAndVertices, bankKiller, TurboConf -from TurboStreamProd import prodDict -from copy import copy +from LHCbKernel.Configuration import * + class Tesla(LHCbConfigurableUser): __used_configurables__ = [ LHCbApp, LumiAlgsConf, RawEventJuggler, DecodeRawEvent, RawEventFormatConf, DstConf, RecombineRawEvent, PackParticlesAndVertices, TrackAssociator, ChargedPP2MC, TrackSys, TurboConf] @@ -122,7 +166,6 @@ class Tesla(LHCbConfigurableUser): if 'DataOnDemandSvc' in ApplicationMgr().ExtSvc : ApplicationMgr().ExtSvc.pop('DataOnDemandSvc') else: - from Configurables import DataOnDemandSvc dod = DataOnDemandSvc() if dod not in ApplicationMgr().ExtSvc : ApplicationMgr().ExtSvc.append( dod ) @@ -147,7 +190,6 @@ class Tesla(LHCbConfigurableUser): return assoctr def _configureDigitsTruth(self) : - from Configurables import CaloDigit2MCLinks2Table assocdigits = CaloDigit2MCLinks2Table("TurboDigitAssoc") return @@ -155,14 +197,12 @@ class Tesla(LHCbConfigurableUser): retSeq = GaudiSequencer("NeutralTruth") clusterTabLoc = self.base + "Relations/CaloClusters" - from Configurables import CaloClusterMCTruth assoccluster = CaloClusterMCTruth("TurboClusterAssoc") assoccluster.OutputLevel = self.getProp('OutputLevel') assoccluster.Input = digits assoccluster.Output = clusterTabLoc assoccluster.Clusters+=clusters - from Configurables import NeutralPP2MC # When filtering MC, the relations table cloners will copy the tables # to /Event/Turbo for us. Otherwise we create them there directly protoTabLoc = "Relations/Turbo/NeutralPP2MC" @@ -201,11 +241,6 @@ class Tesla(LHCbConfigurableUser): if not self.getProp('FilterMC'): return - from Configurables import ( - CopyProtoParticle2MCRelations, - CopySignalMCParticles - ) - output_prefix = self.base.replace('/', '') # Algorithm to clone the existing relations tables and the MC particles @@ -261,7 +296,6 @@ class Tesla(LHCbConfigurableUser): lumiSeq = GaudiSequencer("LumiSeq") # # Add ODIN decoder to LumiSeq *** - from DAQSys.Decoders import DecoderDB CreateODIN=DecoderDB["createODIN"].setup() #******************************** # @@ -281,10 +315,8 @@ class Tesla(LHCbConfigurableUser): physFilterRequireMask = [ 0x0, 0x4, 0x0 ] else: physFilterRequireMask = [ 0x0, 0x0, 0x80000000 ] - from Configurables import HltRoutingBitsFilter physFilter = HltRoutingBitsFilter( "PhysFilter", RequireMask = physFilterRequireMask ) - from Configurables import RecordStream FSRWriter = RecordStream( "FSROutputStreamDstWriter") FSRWriter.OutputLevel = INFO self.teslaSeq.Members += [lumiSeq, physFilter] @@ -300,7 +332,6 @@ class Tesla(LHCbConfigurableUser): # Setting up online if self.getProp('Mode') is "Online": - from DAQSys.Decoders import DecoderDB Hlt1VertexReportsDecoder=DecoderDB["HltVertexReportsDecoder/Hlt1VertexReportsDecoder"].setup() Hlt2VertexReportsDecoder=DecoderDB["HltVertexReportsDecoder/Hlt2VertexReportsDecoder"].setup() Hlt2SelReportsDecoder=DecoderDB["HltSelReportsDecoder/Hlt2SelReportsDecoder"].setup() @@ -310,7 +341,7 @@ class Tesla(LHCbConfigurableUser): totalLines=[] if turbo_streams: - lines_left_over = copy(lines) + lines_left_over = lines[:] missing_lines = [] for stream in turbo_streams: for line in turbo_streams[stream]['lines']: @@ -327,7 +358,6 @@ class Tesla(LHCbConfigurableUser): else: totalLines = lines - from Configurables import TeslaLineChecker if self.getProp('EnableLineChecker'): lineChecker = TeslaLineChecker("TeslaLineChecker") lineChecker.RequestedLines = totalLines @@ -337,7 +367,6 @@ class Tesla(LHCbConfigurableUser): TeslaReportAlgoSeq.Members+=[trig1] # make use of PrintDuplicates algorithm - from Configurables import PrintDuplicates dplic = PrintDuplicates("TurboDuplicates") dplic.OutputLevel = self.getProp('OutputLevel') for l in totalLines: @@ -409,7 +438,6 @@ class Tesla(LHCbConfigurableUser): ## Add the digits associator outputDigiLoc = tesROOT + "Digi2MCP" - from Configurables import CaloDigit2MCLinks2Table assocdigits = CaloDigit2MCLinks2Table("TurboDigitAssoc") assocdigits.OutputLevel = self.getProp('OutputLevel') outputiDigiLoc = tesROOT + "Relations/CaloDigits" @@ -468,14 +496,12 @@ class Tesla(LHCbConfigurableUser): AlwaysCreateOutput = True) TeslaReportAlgoSeq.Members +=[packer] - from Configurables import PackCaloHypo as PackCaloHypos hypopacker = PackCaloHypos( name = "PackCaloHypos", AlwaysCreateOutput = True, DeleteInput = False, OutputLevel = self.getProp('OutputLevel'), InputName = self.base+"CaloHypos", OutputName = self.base+"pRec/neutral/Hypos" ) - from Configurables import DataPacking__Pack_LHCb__CaloClusterPacker_ as PackCaloClusters clusterpacker = PackCaloClusters( name = "PackCaloClusters", AlwaysCreateOutput = True, DeleteInput = False, @@ -486,7 +512,6 @@ class Tesla(LHCbConfigurableUser): # Pack the filtered MC particles and vertices if self.getProp('Simulation') and self.getProp('FilterMC'): - from Configurables import PackMCParticle, PackMCVertex mcp_packer = PackMCParticle( 'TurboPackMCParticle', AlwaysCreateOutput=True, @@ -518,7 +543,6 @@ class Tesla(LHCbConfigurableUser): if ps: newDict={} newDict['lines']=turbo_streams[stream]['lines'] - import re pattern = re.compile("prescaled", re.IGNORECASE) if "prescaled" in stream.lower(): turbo_streams[pattern.sub("parked", stream)]=newDict @@ -575,8 +599,7 @@ class Tesla(LHCbConfigurableUser): prescale[line]=1.0 print prescale prescaleVersion = lines_dict.get('prescaleVersion', None) - from Configurables import TurboPrescaler as ps - pscaler = ps("TurboPrescaler"+stream) + pscaler = TurboPrescaler("TurboPrescaler"+stream) pscaler.FilterOutput=True pscaler.ChosenOutputPrescales=prescale pscaler.PrescaleVersion=prescaleVersion @@ -597,7 +620,6 @@ class Tesla(LHCbConfigurableUser): if self.getProp("Persistency") is not None: persistency=self.getProp("Persistency") - from GaudiConf import IOExtension, IOHelper iox=IOExtension(persistency) writer = InputCopyStream(self.writerName + stream) @@ -607,11 +629,10 @@ class Tesla(LHCbConfigurableUser): # If HDR requested, then filter on the output (required if streaming) if self.getProp("HDRFilter") or self.getProp("Streams"): - from Configurables import LoKi__HDRFilter filtCode='|'.join(["HLT_TURBOPASS_RE(\'"+l+"Decision\')" for l in lines]) print("Filter code:") print(filtCode) - HLTFilter = LoKi__HDRFilter ('Hlt2_HLTFilter' + stream + HLTFilter = HltDecReportsFilter ('Hlt2_HLTFilter' + stream , Code = filtCode , Location = "Hlt2/DecReports" ) @@ -674,7 +695,6 @@ class Tesla(LHCbConfigurableUser): return seq def _configureReportAlg(self, lines): - from Configurables import TeslaReportAlgo trig1 = TeslaReportAlgo("TeslaReportAlgo") trig1.OutputPrefix=self.base trig1.PV=self.getProp('PV') @@ -700,26 +720,6 @@ class Tesla(LHCbConfigurableUser): log.warning('Not streaming and not running on MC, nothing to do!') return - # XXX move these up top - from Configurables import ( - AddressKillerAlg, - CopyLinePersistenceLocations, - CopyParticle2PVRelationsFromLinePersistenceLocations, - DataPacking__Pack_LHCb__CaloClusterPacker_ as PackCaloClusters, - DataPacking__Unpack_LHCb__CaloClusterPacker_ as UnpackCaloClusters, - HltLinePersistenceSvc, - HltPackedDataDecoder, - LoKi__HDRFilter, - OutputStream, - PackCaloHypo as PackCaloHypos, - RecSummaryFromSelReports, - UnpackCaloHypo as UnpackCaloHypos, - UnpackParticlesAndVertices - ) - from DAQSys.Decoders import DecoderDB - from GaudiConf import IOHelper - from GaudiConf.PersistRecoConf import PersistRecoPacking - # Setting up online decoders_seq = GaudiSequencer('TeslaDecoders') if online: @@ -928,7 +928,6 @@ class Tesla(LHCbConfigurableUser): else: self._configureOutput() # - from Configurables import EventSelector EventSelector().PrintFreq = 1000 # Add monitors if they are there -- GitLab