Skip to content
Snippets Groups Projects
Commit b4123c8e authored by Adam Edward Barton's avatar Adam Edward Barton :speech_balloon:
Browse files

Merge branch 'trt-ext' into 'master'

Write the Precision Tracks out to the EDM

See merge request !31648
parents e6f83f18 ea18def1
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!31648Write the Precision Tracks out to the EDM
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
##
## @file InDetTrigRecExample/python/InDetTrigSliceSettings.py
......@@ -21,23 +21,27 @@ class InDetTrigSliceSettingsDB:
InDetTrigSliceSettings is instantiated early in the jO (before
other InDetTrigRecExample files are included)
for example a preExec line
from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings; InDetTrigSliceSettings[('pTmin','bjetVtx')] = 2000.
allows testing the bjetVtx instance with as different reconstruction threshold
from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings; InDetTrigSliceSettings[('pTmin','bjetVtx')] = 5000.
allows testing the bjetVtx instance with as different reconstruction threshold, as in the Run 2 configureation
"""
def __init__(self):
from AthenaCommon.SystemOfUnits import GeV
_slices = ['electron','photon',
'muon','muonCore','muonIso',
'tau','bjet','bphysics','fullScan','minBias','beamgas',
'muon', 'muonFS', 'muonCore', 'muonLate', 'muonIso',
'tau', 'tauCore', 'tauIso',
# nonsense duplicated tau instances
# "tauId", "tauEF", "tauTrk", "tauTrkTwo",
'bjet', 'bjetVtx',
'bphysics',
'fullScan',
'fullScan2', #2GeV threshold for MET
'minBias', 'beamgas',
'minBias2', #two pass (low-pt tracking)
'minBias400', #another minBias with 400MeV threshold
'cosmicsN', 'lowPt', #these are not real slices, rather different setups of tools
'hadCalib', 'fullScan500', #hadCalib instances
'minBias2', #two pass (low-pt tracking)
'heavyIon', 'heavyIonFS', #RoI and FS instances for the heavy ion
'minBias400', #another minBias with 400MeV threshold
'fullScan2', #2GeV threshold for MET
'tauCore', 'tauIso',
'beamSpot', 'cosmics',
'bjetVtx',
'bphysHighPt'
]
......@@ -65,7 +69,7 @@ class InDetTrigSliceSettingsDB:
#ptmin
for i in _slices:
ptmin[i] = 1.*GeV
ptmin['tau']= 0.8 * GeV
ptmin['tau']= 0.8 * GeV
ptmin['minBias'] = 0.2 * GeV
ptmin['minBias2'] = 0.5 * GeV
ptmin['cosmicsN'] = 0.5 * GeV
......@@ -89,7 +93,10 @@ class InDetTrigSliceSettingsDB:
d0seedmax['bphysics'] = 10.0
d0seedmax['bphysHighPt'] = 10.0
d0seedmax['muon'] = 10.0
d0seedmax['muonFS'] = 10.0
d0seedmax['muonCore'] = 10.0
d0seedmax['muonLate'] = 10.0
# muonIso instance has default 4.0 mm setting
d0seedmax['cosmics'] = 1000.0
d0seedppsmax['cosmics'] = 1000.0
......@@ -113,7 +120,11 @@ class InDetTrigSliceSettingsDB:
dospphifiltering[i] = True
# Turn off spacepoint phi filtering for muons
dospphifiltering['muon'] = False
dospphifiltering['muonFS'] = False
dospphifiltering['muonCore'] = False
dospphifiltering['muonLate'] = False
# muonIso instance has default sp filtering value of True
dospphifiltering['bphysics'] = False
dospphifiltering['bphysHighPt'] = False
self.db['doSpPhiFiltering'] = dospphifiltering
......@@ -129,7 +140,11 @@ class InDetTrigSliceSettingsDB:
checkseedredundancy[i] = False
checkseedredundancy['electron'] = True
checkseedredundancy['muon'] = True
checkseedredundancy['muonFS'] = True
checkseedredundancy['muonLate'] = True
checkseedredundancy['muonCore'] = True
# muonIso instance has default seed redundency of False
checkseedredundancy['bphysics'] = True
checkseedredundancy['beamSpot'] = True
self.db['checkRedundantSeeds'] = checkseedredundancy
......@@ -148,7 +163,9 @@ class InDetTrigSliceSettingsDB:
'electron' : 0.1,
'photon' : 0.1,
'muon' : 0.1,
'muonFS' : 0.1,
'muonCore' : 0.1,
'muonLate' : 0.1,
'muonIso' : 0.35,
'tau' : 0.4,
'bjet' : 0.2,
......@@ -179,7 +196,9 @@ class InDetTrigSliceSettingsDB:
'electron' : 0.1,
'photon' : 0.1,
'muon' : 0.1,
'muonFS' : 0.1,
'muonCore' : 0.1,
'muonLate' : 0.1,
'muonIso' : 0.35,
'tau' : 0.4,
'bjet' : 0.201,
......
......@@ -14,16 +14,42 @@ log = logging.getLogger("InDetPT")
#Start using already decided naming conventions
#TODO: remap might not be needed in the end once this is consistent with FTF configuration
def remap_signature( signature ):
if signature == 'electron':
return 'Electron'
else:
return signature
def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks='TrigFastTrackFinder_Tracks', outputTrackPrefixName = "HLT_ID", rois = 'EMViewRoIs' ):
doTRTextension = False
# Start using already decided naming conventions
# NB: this is only needed at the moment since the signature menu code is
# inconcistent in what flags they pass the ID Trigger configuration
# for the FTF And precision tracking. Once that is tidied up, this
# should be removed
def remapSuffix( signature ):
suffix_map = {
'electron': 'Electron',
'muon': 'Muon',
'muonFS': 'MuonFS',
'muonLate': 'MuonLate',
'muonIso': 'MuonIso',
'bjet': 'Bjet',
'tau': 'Tau',
'tauId': 'Tau',
'tauEF': 'Tau',
'tauTrk': 'Tau',
'tauTrkTwo': 'Tau'
}
if signature in suffix_map :
return suffix_map[ signature ]
return signature
def makeInDetPrecisionTracking( whichSignature,
verifier = False,
inputFTFtracks='TrigFastTrackFinder_Tracks',
outputTrackPrefixName = "HLT_ID",
rois = 'EMViewRoIs',
doTRTextension = True ) :
ptAlgs = [] #List containing all the precision tracking algorithms hence every new added alg has to be appended to the list
......@@ -42,18 +68,26 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
nameExtTrackCollection = "%s%sTrkTrack%s" %(outputTrackPrefixName, 'TRText', signature)
#Note IDTrig suffix as a key to specify that this collection comes from precision tracking rather than fast tracking (FTF)
outPTTracks = "%sTrkTrack_%s_%s" %(outputTrackPrefixName, remap_signature( whichSignature ), 'IDTrig')
outPTTrackParticles = "%sTrack_%s_%s" %(outputTrackPrefixName, remap_signature( whichSignature ), 'IDTrig')
outPTTracks = "%sTrkTrack_%s_%s" %(outputTrackPrefixName, remapSuffix( whichSignature ), 'IDTrig')
outPTTrackParticles = "%sTrack_%s_%s" %(outputTrackPrefixName, remapSuffix( whichSignature ), 'IDTrig')
# disable the TRT extension at the moment for bjets and muons
if "electron" in whichSignature :
doTRTextension = True
else :
doTRTextension = False
#Atm there are mainly two output track collections one from ambiguity solver stage and one from trt,
#we want to have the output name of the track collection the same whether TRT was run or not,
#e.g InDetTrigPT_Tracks_electron
if whichSignature == "electron":
doTRTextension = True
nameExtTrackCollection = outPTTracks
if doTRTextension == True :
nameExtTrackCollection = outPTTracks
else:
nameAmbiTrackCollection = outPTTracks
nameAmbiTrackCollection = outPTTracks
#-----------------------------------------------------------------------------
......@@ -80,7 +114,7 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
TRT_ElectronPidTool = InDetTrigTRT_ElectronPidTool)
if whichSignature == "electron":
if whichSignature == "electron" or "tau" in whichSignature :
Parameter_config = True
SummaryTool_config = InDetTrigTrackSummaryToolSharedHitsWithTRTPid
else:
......@@ -146,6 +180,12 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
ptAlgs.extend( [ InDetTrigAmbiguityScore, InDetTrigMTAmbiguitySolver] )
if doTRTextension:
proxySignature = whichSignature
if "tau" in whichSignature :
proxySignature = "tau"
#-----------------------------------------------------------------------------
# TRT data preparation
from AthenaCommon.AppMgr import ServiceMgr
......@@ -155,20 +195,20 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
InDetTRTRodDecoder = TRT_RodDecoder(name = "%sTRTRodDecoder%s" %(algNamePrefix, signature),
LoadCompressTableDB = True)#(globalflags.DataSource() != 'geant4'))
InDetTRTRodDecoder = TRT_RodDecoder( name = "%sTRTRodDecoder%s" %(algNamePrefix, signature),
LoadCompressTableDB = True )#(globalflags.DataSource() != 'geant4'))
ToolSvc += InDetTRTRodDecoder
from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name = "%sTRTRawDataProviderTool%s"%(algNamePrefix, signature),
Decoder = InDetTRTRodDecoder)
InDetTRTRawDataProviderTool = TRTRawDataProviderTool( name = "%sTRTRawDataProviderTool%s"%(algNamePrefix, signature),
Decoder = InDetTRTRodDecoder )
ToolSvc += InDetTRTRawDataProviderTool
# load the TRTRawDataProvider
from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
InDetTRTRawDataProvider = TRTRawDataProvider(name = "%sTRTRawDataProvider%s"%(algNamePrefix, signature),
RDOKey = "TRT_RDOs",
ProviderTool = InDetTRTRawDataProviderTool)
InDetTRTRawDataProvider = TRTRawDataProvider( name = "%sTRTRawDataProvider%s"%(algNamePrefix, signature),
RDOKey = "TRT_RDOs",
ProviderTool = InDetTRTRawDataProviderTool )
InDetTRTRawDataProvider.isRoI_Seeded = True
InDetTRTRawDataProvider.RoIs = rois
......@@ -206,20 +246,25 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
# Condition algorithm for InDet__TRT_DetElementsRoadMaker_xk
from AthenaCommon.AlgSequence import AthSequencer
condSeq = AthSequencer("AthCondSeq")
#if not hasattr(condSeq, "InDet__TRT_DetElementsRoadCondAlg_xk"):
from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadCondAlg_xk
condSeq += InDet__TRT_DetElementsRoadCondAlg_xk(name = "%sTRT_DetElementsRoadCondAlg_xk%s"%(algNamePrefix, signature) )
InDetTRTRoadAlgName = "%sTRT_DetElementsRoadCondAlg_xk"%(algNamePrefix)
from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadMaker_xk
InDetTrigTRTDetElementsRoadMaker = InDet__TRT_DetElementsRoadMaker_xk(name = '%sTRTRoadMaker%s'%(algNamePrefix, signature),
#DetectorStoreLocation = 'DetectorStore',
#TRTManagerLocation = 'TRT',
MagneticFieldMode = 'MapSolenoid',
PropagatorTool = InDetTrigPatternPropagator)
if not hasattr( condSeq, InDetTRTRoadAlgName ):
from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadCondAlg_xk
# condSeq += InDet__TRT_DetElementsRoadCondAlg_xk(name = "%sTRT_DetElementsRoadCondAlg_xk%s"%(algNamePrefix, signature) )
condSeq += InDet__TRT_DetElementsRoadCondAlg_xk( name = InDetTRTRoadAlgName )
from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadMaker_xk
InDetTrigTRTDetElementsRoadMaker = InDet__TRT_DetElementsRoadMaker_xk( name = '%sTRTRoadMaker%s'%(algNamePrefix, signature),
#DetectorStoreLocation = 'DetectorStore',
#TRTManagerLocation = 'TRT',
MagneticFieldMode = 'MapSolenoid',
PropagatorTool = InDetTrigPatternPropagator )
ToolSvc += InDetTrigTRTDetElementsRoadMaker
......@@ -280,7 +325,7 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
DriftCircleCutTool = InDetTrigTRTDriftCircleCut,
)
InDetTrigExtScoringTool.minPt = InDetTrigSliceSettings[('pTmin',whichSignature)]
InDetTrigExtScoringTool.minPt = InDetTrigSliceSettings[('pTmin', proxySignature)]
ToolSvc += InDetTrigExtScoringTool
......@@ -324,27 +369,31 @@ def makeInDetPrecisionTracking( whichSignature, verifier = False, inputFTFtracks
from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__TrackCollectionCnvTool
InDetTrigMTxAODTrackCollectionCnvTool= xAODMaker__TrackCollectionCnvTool(name = "%sxAODTrackCollectionCnvTool%s" %(algNamePrefix, signature),
TrackParticleCreator = InDetTrigMTxAODParticleCreatorTool)
InDetTrigMTxAODTrackCollectionCnvTool= xAODMaker__TrackCollectionCnvTool(
name = "%sxAODTrackCollectionCnvTool%s" %(algNamePrefix, signature),
TrackParticleCreator = InDetTrigMTxAODParticleCreatorTool)
ToolSvc += InDetTrigMTxAODTrackCollectionCnvTool
log.info(InDetTrigMTxAODTrackCollectionCnvTool)
#This one shouldn't be necessary
#TODO: obsolete turn off
from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__RecTrackParticleContainerCnvTool
InDetTrigMTRecTrackParticleContainerCnvTool= xAODMaker__RecTrackParticleContainerCnvTool(name = "%sRecTrackContainerCnvTool%s" %(algNamePrefix, signature),
TrackParticleCreator = InDetTrigMTxAODParticleCreatorTool)
InDetTrigMTRecTrackParticleContainerCnvTool= xAODMaker__RecTrackParticleContainerCnvTool(
name = "%sRecTrackContainerCnvTool%s" %(algNamePrefix, signature),
TrackParticleCreator = InDetTrigMTxAODParticleCreatorTool )
ToolSvc += InDetTrigMTRecTrackParticleContainerCnvTool
#print (InDetTrigMTRecTrackParticleContainerCnvTool)
from TrigEDMConfig.TriggerEDMRun3 import recordable
from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__TrackParticleCnvAlg
InDetTrigMTxAODTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(name = "%sxAODParticleCreatorAlg%s" %( algNamePrefix, signature),
InDetTrigMTxAODTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg( name = "%sxAODParticleCreatorAlg%s" %( algNamePrefix, signature),
# Properties below are used for: TrackCollection -> xAOD::TrackParticle
ConvertTracks = True, #Turn on retrieve of TrackCollection, false by default
TrackContainerName = outPTTracks,
xAODTrackParticlesFromTracksContainerName = outPTTrackParticles,
xAODTrackParticlesFromTracksContainerName = recordable( outPTTrackParticles ),
TrackCollectionCnvTool = InDetTrigMTxAODTrackCollectionCnvTool,
## Properties below are used for: Rec:TrackParticle, aod -> xAOD::TrackParticle (Turn off)
ConvertTrackParticles = False, # Retrieve of Rec:TrackParticle, don't need this atm
......
......@@ -46,14 +46,15 @@ if TriggerFlags.doID:
#Adding vertexing
from TrigInDetConfig.TrigInDetPriVtxConfig import makeVertices
#TODO need to change the name of the output vertex collection to something recordable
vtxAlgs = makeVertices( "egamma", "HLT_IDTrack_FS_FTF", "HLT_xPrimVx" )
# TODO need to change the name of the output vertex collection to something recordable
# what is this actually testing ? why do we have FS tracks with egamma and aprimary vertex ???
vtxAlgs = makeVertices( "bjet", "HLT_IDTrack_FS_FTF", "HLT_xPrimVx" )
allViewAlgorithms += vtxAlgs
from TrigInDetConfig.InDetPT import makeInDetPrecisionTracking
#Adding precision tracking
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "egamma", inputFTFtracks="TrigFastTrackFinder_Tracks_FS" )
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "bjet", inputFTFtracks="TrigFastTrackFinder_Tracks_Bjet" )
allViewAlgorithms += PTAlgs
......
......@@ -67,7 +67,7 @@ JetVars = '.'.join(JetVarsToKeep)
TriggerHLTListRun3 = [
#framework/steering
# framework/steering
('xAOD::TrigDecision#xTrigDecision' , 'ESD AODFULL AODSLIM', 'Steer'),
('xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.', 'ESD AODFULL AODSLIM', 'Steer'),
('xAOD::TrigConfKeys#TrigConfKeys' , 'ESD AODFULL AODSLIM', 'Steer'),
......@@ -109,11 +109,11 @@ TriggerHLTListRun3 = [
('xAOD::TrackParticleContainer#HLT_IDTrack_Electron_FTF', 'BS ESD AODFULL', 'Egamma', 'inViews:EMElectronViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Electron_FTFAux.', 'BS ESD AODFULL', 'Egamma'),
# ('xAOD::TrackParticleContainer#HLT_IDTrack_Electron_IDTrig', 'BS ESD AODFULL', 'Egamma', 'inViews:EMElectronViews'),
# ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Electron_IDTrigAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Electron_IDTrig', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Electron_IDTrigAux.', 'BS ESD AODFULL', 'Egamma'),
#these two corresponds to the output of the precisionCalo step
# these two corresponds to the output of the precisionCalo step
('xAOD::CaloClusterContainer#HLT_CaloEMClusters', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews'),
('xAOD::CaloClusterTrigAuxContainer#HLT_CaloEMClustersAux.', 'BS ESD AODFULL', 'Egamma'),
......@@ -140,29 +140,39 @@ TriggerHLTListRun3 = [
# Muon
#Id track particles
# Id track particles
('xAOD::TrackParticleContainer#HLT_IDTrack_Muon_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUCombViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Muon_FTFAux.', 'BS ESD AODFULL', 'Muon'),
# ('xAOD::TrackParticleContainer#HLT_IDTrack_Muon_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUCombViewRoIs'),
# ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Muon_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Muon_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Muon_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonFS_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonFS_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonFS_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonFS_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonIso_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonIso_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonIso_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonIso_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_FTFAux.', 'BS ESD AODFULL', 'Muon'),
#bphys
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
# bphys
('xAOD::TrigBphysContainer#TrigBphysDimu', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysAuxContainer#TrigBphysDimuAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysContainer#TrigBphysEFDimu', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysAuxContainer#TrigBphysEFDimuAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
#xAOD muons (msonly (x2: roi+FS), combined (x3: FS+RoI (outside-in, inside-out+outside-in))
# xAOD muons (msonly (x2: roi+FS), combined (x3: FS+RoI (outside-in, inside-out+outside-in))
('xAOD::MuonContainer#HLT_Muons_RoI', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFSAViewRoIs'),
('xAOD::MuonAuxContainer#HLT_Muons_RoIAux.', 'BS ESD AODFULL', 'Muon'),
......@@ -180,11 +190,11 @@ TriggerHLTListRun3 = [
('TrigRoiDescriptorCollection#MuonCandidates_FS_ROIs', 'BS ESD AODFULL', 'Muon'),
#xAOD isolated muon
# xAOD isolated muon
('xAOD::MuonContainer#HLT_MuonsIso', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::MuonAuxContainer#HLT_MuonsIsoAux.', 'BS ESD AODFULL', 'Muon'),
#Muon track particle containers (combined (x2: FS+RoI), extrapolated (x2: FS+RoI), MSonly (x1: FS))
# Muon track particle containers (combined (x2: FS+RoI), extrapolated (x2: FS+RoI), MSonly (x1: FS))
('xAOD::TrackParticleContainer#HLT_CBCombinedMuon_RoITrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_CBCombinedMuon_RoITrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
......@@ -223,8 +233,9 @@ TriggerHLTListRun3 = [
('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_FTFAux.', 'BS ESD AODFULL', 'Tau'),
# ('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
# ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_IDTrigAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_IDTrigAux.', 'BS ESD AODFULL', 'Tau'),
# Jet
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesISAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
......@@ -334,16 +345,17 @@ TriggerHLTListRun3 = [
('xAOD::TauTrackContainer#HLT_tautrack_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_PreselAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
#bjet Second Stage Fast tracks
# bjet Second Stage Fast tracks
('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_FTF', 'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_FTFAux.', 'BS ESD AODFULL', 'Bjet'),
#bjet Second Stage Precision tracks
# ('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_IDTrig', 'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
# ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_IDTrigAux.', 'BS ESD AODFULL', 'Bjet'),
# bjet Second Stage Precision tracks
('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_IDTrig', 'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_IDTrigAux.', 'BS ESD AODFULL', 'Bjet'),
# FIXME: add vertex tracks
#bjet jets
# bjet jets
('xAOD::JetContainer#HLT_GSCJet', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:FullScanBjetView'),
('xAOD::JetAuxContainer#HLT_GSCJetAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
......@@ -362,6 +374,7 @@ TriggerHLTListRun3 = [
# ID
# Requested by TrigUpgradeTest/IDCalo.py
# what are these ???
('xAOD::TrackParticleContainer#HLT_IDTrack', 'BS ESD AODFULL', 'ID'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrackAux.', 'BS ESD AODFULL', 'ID'),
......
......@@ -51,3 +51,4 @@ def precisionElectronMenuSequence():
Hypo = thePrecisionElectronHypo,
HypoToolGen = TrigEgammaPrecisionElectronHypoToolFromDict )
......@@ -495,6 +495,7 @@ def muEFCBRecoSequence( RoIs, name ):
( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_Measurements' ),
( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ),
( 'MuonCandidateCollection' , 'StoreGateSvc+MuonCandidates') ]
muEFCBRecoSequence += ViewVerifyMS
if "FS" in name:
#Need to run tracking for full scan chains
......@@ -532,10 +533,10 @@ def muEFCBRecoSequence( RoIs, name ):
#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
if 'FS' in name:
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonsFS", inputFTFtracks=TrackCollection)
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonFS", inputFTFtracks=TrackCollection)
PTSeq = seqAND("precisionTrackingInMuonsFS", PTAlgs )
else:
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muons", ViewVerifyTrk, inputFTFtracks= TrackCollection)
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muon", ViewVerifyTrk, inputFTFtracks= TrackCollection)
PTSeq = seqAND("precisionTrackingInMuons", PTAlgs )
#Get last tracks from the list as input for other alg
......@@ -629,7 +630,7 @@ def muEFInsideOutRecoSequence(RoIs, name):
from TrigInDetConfig.InDetPT import makeInDetPrecisionTracking
#When run in a different view than FTF some data dependencies needs to be loaded through verifier
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonsLate", inputFTFtracks= TrackCollection)
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonLate", inputFTFtracks= TrackCollection)
PTSeq = seqAND("precisionTrackingInLateMuons", PTAlgs )
efmuInsideOutRecoSequence += PTSeq
......@@ -712,7 +713,7 @@ def efmuisoRecoSequence( RoIs, Muons ):
PTTrackParticles = [] #List of TrackParticleKeys
from TrigInDetConfig.InDetPT import makeInDetPrecisionTracking
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonsIso", inputFTFtracks=TrackCollection)
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonIso", inputFTFtracks=TrackCollection)
PTSeq = seqAND("precisionTrackingInMuonsIso", PTAlgs )
efmuisoRecoSequence += PTSeq
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment