diff --git a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py index f04f5f3328831c2d306795bec2ceda0e972f8ddc..468b35ef7a542f3b5f48a116df8cb5bbf330dc67 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py @@ -502,6 +502,8 @@ class _GlobalSettings() : self._doRecord = False #Allow recording of track collections self._isLRT = False self._adaptiveVertex = False + self._vertex = None + @property def FT(self): @@ -531,6 +533,10 @@ class _GlobalSettings() : def adaptiveVertex(self): return self._adaptiveVertex + @property + def vertex(self): + return self._vertex + class _Settings_electron( _GlobalSettings ): @@ -597,7 +603,9 @@ class _Settings_tauTau( _GlobalSettings ): #There should not be a need for tauCore PT! self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) self._doRecord = True #Allow recording of track collections - + self._vertex = "HLT_IDVertex_Tau" + self._adaptiveVertexing = True + class _Settings_tauCore( _GlobalSettings ): def __init__( self ): _GlobalSettings.__init__(self) @@ -616,6 +624,8 @@ class _Settings_tauIso( _GlobalSettings ): self._configFT = _FastTracking( signatureType = 'tauIso', nameSuffix = 'TauIso' ) self._configPT = _PrecisionTracking( signatureType = 'tauIso', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... self._doRecord = True #Allow recording of track collections + self._vertex = "HLT_IDVertex_Tau" + self._adaptiveVertex = True #This might be redundant but lets keep them for the time being... class _Settings_tauIsoBDT( _GlobalSettings ): @@ -626,6 +636,9 @@ class _Settings_tauIsoBDT( _GlobalSettings ): self._configFT = _FastTracking( signatureType = 'tauIso', nameSuffix = 'TauIso' ) # self._configPT = _PrecisionTracking( signatureType = 'tauIso', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... self._doRecord = False #FIXME: Do I need to record these? + self._vertex = "HLT_IDVertex_Tau" + self._adaptiveVertexing = True + class _Settings_bjet( _GlobalSettings ): def __init__( self ): @@ -644,6 +657,7 @@ class _Settings_jet( _GlobalSettings ): self._configFT = _FastTracking( signatureType = 'fullScan', nameSuffix = 'FS' ) # self._configPT = _PrecisionTracking( signatureType = 'fullScan', nameSuffix = 'FS' ) #Final collection is being renamed to just tau apparently... self._doRecord = True + self._vertex = "HLT_IDVertex_FS" self._adaptiveVertex = False class _Settings_minBias( _GlobalSettings ): diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py index 698ea2e8e8d55ee4fc9f43bfc354bdf15ff4038f..3d289dbc5005dead242873969053240ec07f0ac9 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py @@ -30,7 +30,6 @@ def makeInDetPrecisionTracking( config = None, #Add suffix to the algorithms signature = "_{}".format( config.name ) - #Name settings for output Tracks/TrackParticles outTrkTracks = config.PT.trkTracksPT() #Final output Track collection outTrackParticles = config.PT.tracksPT( doRecord = config.isRecordable ) #Final output xAOD::TrackParticle collection @@ -101,6 +100,8 @@ def makeInDetPrecisionTracking( config = None, #Loading the alg to the sequence ptAlgs.extend( ambSolvingStageAlgs ) + TRT_RDO_Key = "TRT_RDOs" + from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigExtrapolator #TODO:implement builders and getters for TRT (WIP) if doTRT: @@ -109,7 +110,6 @@ def makeInDetPrecisionTracking( config = None, # TRT data preparation from AthenaCommon.GlobalFlags import globalflags #Only add raw data decoders if we're running over raw data - TRT_RDO_Key = "TRT_RDOs" if globalflags.InputFormat.is_bytestream(): TRT_RDO_Key = TrigTRTKeys.RDOs from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder @@ -122,7 +122,6 @@ def makeInDetPrecisionTracking( config = None, Decoder = InDetTRTRodDecoder ) ToolSvc += InDetTRTRawDataProviderTool - @@ -139,8 +138,6 @@ def makeInDetPrecisionTracking( config = None, InDetTRTRawDataProvider.RoIs = rois ptAlgs.append( InDetTRTRawDataProvider ) - - #----------------------------------------------------------------------------- # TRT extension diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py index 85c579648f88d3c6dcf7180487797ecf41fce678..a8f4b51852a74f3a2a724f29faf08c35adeb7053 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py @@ -26,7 +26,7 @@ def makeVertices( whichSignature, inputTrackCollection, outputVtxCollection, con adaptiveVertexing = getInDetTrigConfig( whichSignature ).adaptiveVertex return vertexFinder_builder( signature = whichSignature, - inputTracks = config.FT.tracksFTF(), + inputTracks = inputTrackCollection, outputVertices = outputVtxCollection, adaptiveVertexing = adaptiveVertexing ) @@ -64,7 +64,8 @@ def vertexFinder_builder( signature, inputTracks, outputVertices, adaptiveVertex vertexFinder = InDet__InDetPriVxFinder( name = "InDetTrigPriVxFinder" + signature, VertexFinderTool = vertexFinderTool, - TracksName = recordable(inputTracks), + # TracksName = recordable(inputTracks), + TracksName = inputTracks, VxCandidatesOutputName = recordable(outputVertices), VertexCollectionSortingTool = vertexSortingTool, doVertexSorting = True, diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index 587f1c42d489454dcfadc425872ee1e877e1ea05..b8f374c8283809853a5fdde909834b770c656d4f 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -328,6 +328,9 @@ TriggerHLTListRun3 = [ ('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews,TAUPrecIsoViews'), ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_IDTrigAux.', 'BS ESD AODFULL', 'Tau'), + ('xAOD::VertexContainer#HLT_IDVertex_Tau', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews,TAUPrecIsoViews'), + ('xAOD::VertexAuxContainer#HLT_IDVertex_TauAux.', 'BS ESD AODFULL', 'Tau'), + ('TrigRoiDescriptorCollection#HLT_Roi_Tau', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_Roi_TauCore', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_Roi_TauIso', 'BS ESD AODFULL AODSLIM', 'Steer'), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py index e530ebad4636f0e7c888029d5c3b157b8b6cf458..508185c2711153582a797c93d54df3610a6f7a9e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py @@ -25,7 +25,12 @@ def getBJetSequence(): # ==================================================================================================== def bJetStep2Sequence(): - prmVtxKey = "HLT_IDVertex_FS" + + from TrigInDetConfig.ConfigSettings import getInDetTrigConfig + + config=getInDetTrigConfig('jet') + # prmVtxKey = "HLT_IDVertex_FS" + prmVtxKey = config.vertex outputRoIName = "HLT_Roi_Bjet" from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py index aa621a6db495183a0ed75106cf1d4b299d6fd318..82c1943696198fff3b2feb9ba5eef9068637da6c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py @@ -227,6 +227,10 @@ def getFilterCut(recoAlg): # the calibration config helper def defineCalibMods(jetRecoDict,dataSource,rhoKey="auto"): + from TrigInDetConfig.ConfigSettings import getInDetTrigConfig + + config = getInDetTrigConfig( 'jet' ) + # Minimum modifier set for calibration w/o track GSC # Should eventually build in more mods, depend on track info etc jetalg = jetRecoDict["recoAlg"] @@ -255,7 +259,8 @@ def defineCalibMods(jetRecoDict,dataSource,rhoKey="auto"): gscDepth = "EM3" if "gsc" in jetRecoDict["jetCalib"]: gscDepth = "trackWIDTH" - pvname = "HLT_IDVertex_FS" + # pvname = "HLT_IDVertex_FS" + pvname = config.vertex elif jetRecoDict["constitType"] == "pf": gscDepth = "auto" @@ -269,7 +274,8 @@ def defineCalibMods(jetRecoDict,dataSource,rhoKey="auto"): ("a4","subjesgscIS"): ("TrigLS2","JetArea_EtaJES_GSC"), # w/o pu residual + calo+trk GSC ("a4","subresjesgscIS"): ("TrigLS2","JetArea_Residual_EtaJES_GSC"), # pu residual + calo+trk GSC }[(jetRecoDict["recoAlg"],jetRecoDict["jetCalib"])] - pvname = "HLT_IDVertex_FS" + # pvname = "HLT_IDVertex_FS" + pvname = config.vertex if jetRecoDict["jetCalib"].endswith("IS") and (dataSource=="data"): calibSeq += "_Insitu" diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py index 258c418acd9b036648ec0e19ecb361d19721121c..4aee716c433b804f2fdb939440fbb9e1d128a9dc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetTrackingConfig.py @@ -24,8 +24,11 @@ def JetTrackingSequence(dummyFlags,trkopt,RoIs): viewAlgs = makeInDetAlgsNoView( config = IDTrigConfig, rois=RoIs) jetTrkSeq += viewAlgs tracksname = IDTrigConfig.FT.tracksFTF( doRecord = IDTrigConfig.isRecordable ) - verticesname = recordable("HLT_IDVertex_FS") + if IDTrigConfig.vertex is not None: + verticesname = recordable(IDTrigConfig.vertex) + # hmmm, why is all this vertex stuff being set up if the vertex collection has not been + # set ? This should be fixed from TrigInDetConfig.TrigInDetPriVtxConfig import makeVertices vtxAlgs = makeVertices( "jet", tracksname, verticesname, IDTrigConfig ) prmVtx = vtxAlgs[-1] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py index fa06e9188cb3cc24d3f8d588b011b9fdd4fd1b65..090b1103cf8efceb0d29c79be8f29484f0d1b751 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py @@ -303,7 +303,6 @@ def precTrackSequence( RoIs , name): from TrigInDetConfig.ConfigSettings import getInDetTrigConfig IDTrigConfig = getInDetTrigConfig( signatureNameID ) - ViewVerifyTrk = CfgMgr.AthViews__ViewDataVerifier("tauViewDataVerifier_"+signatureName) ViewVerifyTrk.DataObjects = [( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+%s' % IDTrigConfig.FT.tracksFTF() ), ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' ), @@ -334,12 +333,20 @@ def precTrackSequence( RoIs , name): #When run in a different view than FTF some data dependencies needs to be loaded through verifier #Pass verifier as an argument and it will automatically append necessary DataObjects@NOTE: Don't provide any verifier if loaded in the same view as FTF PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( config = IDTrigConfig, verifier = ViewVerifyTrk, rois = RoIs ) - precTrackSequence = parOR(name, [ViewVerifyTrk] + PTAlgs ) + + from TrigInDetConfig.TrigInDetPriVtxConfig import makeVertices + vtxAlg = makeVertices( whichSignature = signatureName, + inputTrackCollection = IDTrigConfig.PT.tracksPT(), + outputVtxCollection = IDTrigConfig.vertex, + config = IDTrigConfig, + adaptiveVertexing = True ) + + trackSequence = parOR(name, [ViewVerifyTrk] + PTAlgs + vtxAlg ) #Get last tracks from the list as input for other alg sequenceOut = PTTrackParticles[-1] - return precTrackSequence, sequenceOut + return trackSequence, sequenceOut def tauFTFSequence( RoIs, name ):