Skip to content
Snippets Groups Projects
Commit 754e1633 authored by Walter Lampl's avatar Walter Lampl
Browse files

Merge branch 'master-tau-trig-fixes' into 'master'

Merging the two calo only input makers, remove the dependency on CaloOnlyMVA...

See merge request atlas/athena!36124
parents 3eb875a5 c7411201
No related branches found
No related tags found
No related merge requests found
......@@ -245,7 +245,7 @@ TriggerHLTListRun3 = [
('xAOD::TrackParticleContainer#HLT_IDTrack_TauCore_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFCoreViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauCore_FTFAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_TauIso_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TrackParticleContainer#HLT_IDTrack_TauIso_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews,TAUFTFTrackTwoViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauIso_FTFAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
......@@ -371,16 +371,16 @@ TriggerHLTListRun3 = [
# tau
# will enable when needed
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnly', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloViews'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnly', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloViews,TAUCaloMVAViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnlyMVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloMVAViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyMVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
#('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnlyMVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloMVAViews'),
#('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyMVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews,TAUFTFTrackTwoViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'),
......@@ -391,9 +391,9 @@ TriggerHLTListRun3 = [
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersLCAux.nCells' ,'BS ESD AODFULL', 'Tau'),
# tau tracks
('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauTrackContainer#HLT_tautrack_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TauTrackContainer#HLT_tautrack_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews,TAUFTFTrackTwoViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauTrackContainer#HLT_tautrack_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_PreselAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
......
......@@ -11,7 +11,7 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Tau.TauChainConfiguration")
from TriggerMenuMT.HLTMenuConfig.Menu.ChainConfigurationBase import ChainConfigurationBase
from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSequence, tauCaloMVAMenuSequence, tauTwoStepTrackSeqCore, tauTwoStepTrackSeqIso, tauIdTrackSeq, tauTrackSeq, tauTrackTwoSeq, tauTrackTwoEFSeq, tauTwoStepTrackSeqCoreMVA
from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSequence, tauCaloMVAMenuSequence, tauTwoStepTrackSeqCore, tauTwoStepTrackSeqIso, tauIdTrackSeq, tauTrackSeq, tauTrackTwoSeq, tauTrackTwoEFSeq
#--------------------------------------------------------
# fragments generating config will be functions in new JO
......@@ -31,9 +31,6 @@ def getTauTrackTwoCfg(flags):
def getTauIdTrackCfg(flags):
return tauIdTrackSeq()
def getTauFastTrackMVACfg(flags):
return tauTwoStepTrackSeqCoreMVA()
def getTauFastTrackCfg(flags):
return tauTwoStepTrackSeqCore()
......@@ -63,11 +60,11 @@ class TauChainConfiguration(ChainConfigurationBase):
# define here the names of the steps and obtain the chainStep configuration
# --------------------
stepDictionary = {
"ptonly":['getCaloSeq', 'getIdTrack'], #This should use calo only sequence
"track":['getCaloSeq', 'getTrack'], #This should use calo only sequence
"tracktwo":['getCaloSeq', 'getFastTrack', 'getTrackTwo'], #This should use calo only sequence
"tracktwoEF":['getCaloSeq','getFastTrack','getTrack2EF'], #This should use calo only sequence
"tracktwoMVA":['getCaloMVASeq','getFastTrackMVA', 'getTrackIso'], #This should use calo mva sequence
"ptonly" :['getCaloSeq' , 'getIdTrack' ],
"track" :['getCaloSeq' , 'getTrack' ],
"tracktwo" :['getCaloSeq' , 'getFastTrack' , 'getTrackTwo'],
"tracktwoEF" :['getCaloSeq' , 'getFastTrack' , 'getTrack2EF'],
"tracktwoMVA":['getCaloMVASeq', 'getFastTrack' , 'getTrackIso'],
}
# this should be extended by the signature expert to make full use of the dictionary!
......@@ -111,11 +108,6 @@ class TauChainConfiguration(ChainConfigurationBase):
stepName = 'FT_tau'
return self.getStep(2,stepName, [getTauFastTrackCfg])
# --------------------
def getFastTrackMVA(self):
stepName = 'FT_tauMVA'
return self.getStep(2,stepName, [getTauFastTrackMVACfg])
# --------------------
def getTrackIso(self):
stepName = 'FTIso_tau'
......
......@@ -7,7 +7,7 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
# menu components
from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool
from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence, tauCaloMVASequence, tauFTFCoreSequence, tauFTFIsoSequence, tauFTFIdSequence, tauFTFTrackSequence, tauFTFTrackTwoSequence, tauEFSequence, tauFTFCoreMVASequence
from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence, tauCaloMVASequence, tauFTFCoreSequence, tauFTFIsoSequence, tauFTFIdSequence, tauFTFTrackSequence, tauFTFTrackTwoSequence, tauEFSequence
# ====================================================================================================
# Get MenuSequences
......@@ -120,28 +120,10 @@ def tauIdTrackSeq():
Hypo = precisionHypo,
HypoToolGen = TrigEFTauMVHypoToolFromDict )
# ===============================================================================================
#
# ===============================================================================================
def tauTwoStepTrackSeqCoreMVA():
(sequence, ftfCoreMVAViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFCoreMVASequence,ConfigFlags)
from TrigTauHypo.TrigTauHypoConf import TrigTrackPreSelHypoAlgMT
fastTrkHypo = TrigTrackPreSelHypoAlgMT("TrackPreSelHypoAlg_RejectEmptyMVA")
fastTrkHypo.trackcollection = sequenceOut
from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict
return MenuSequence( Sequence = sequence,
Maker = ftfCoreMVAViewsMaker,
Hypo = fastTrkHypo,
HypoToolGen = TrigTauTrackHypoToolFromDict )
# ===============================================================================================
#
# ===============================================================================================
# ===============================================================================================
# Fast track core + RejectEmpty Hypo step (tracktwo, tracktwoEF, tracktwoMVA)
# ===============================================================================================
def tauTwoStepTrackSeqCore():
......
......@@ -43,7 +43,7 @@ def _algoTauCaloOnlyMVA(L1RoIs, inputRoIs, clusters):
algo.Key_trackPartInputContainer = ""
algo.Key_trigTauJetInputContainer = ""
algo.Key_trigTauTrackInputContainer = ""
algo.Key_trigTauJetOutputContainer = recordable("HLT_TrigTauRecMerged_CaloOnlyMVA")
algo.Key_trigTauJetOutputContainer = recordable("HLT_TrigTauRecMerged_CaloOnly")
algo.Key_trigTauTrackOutputContainer = "HLT_tautrack_dummy"
return algo
......@@ -96,9 +96,7 @@ def _algoTauPrecisionMVA(inputRoIs, tracks, step):
algo.L1RoIKey = "TAUCaloRoIs"
algo.clustersKey = ""
algo.Key_vertexInputContainer = ""
algo.Key_trigTauJetInputContainer = "HLT_TrigTauRecMerged_CaloOnlyMVA"
if "EF" in step:
algo.Key_trigTauJetInputContainer = "HLT_TrigTauRecMerged_CaloOnly"
algo.Key_trigTauJetInputContainer = "HLT_TrigTauRecMerged_CaloOnly"
algo.Key_trackPartInputContainer = tracks
algo.Key_trigTauTrackInputContainer = "HLT_tautrack_dummy"
algo.Key_trigTauJetOutputContainer = recordable("HLT_TrigTauRecMerged_MVA")
......@@ -191,32 +189,17 @@ def tauIdTrackSequence( RoIs , name):
from TrigInDetConfig.InDetSetup import makeInDetAlgs
viewAlgs, viewVerify = makeInDetAlgs( whichSignature=signName, separateTrackParticleCreator=signName, rois = RoIs )
tauViewDataVerifierName = ""
if "FTFId" in name:
tauViewDataVerifierName = "tauViewDataVerifierIdFTF"
elif "FTFTrackInView" in name:
tauViewDataVerifierName = "tauViewDataVerifierTrackFTF"
elif "FTFTrackTwo" in name:
tauViewDataVerifierName = "tauViewDataVerifierTrackTwoFTF"
elif "FTFIso" in name:
tauViewDataVerifierName = "tauViewDataVerifierIsoFTF"
elif "EF" in name:
tauViewDataVerifierName = "tauViewDataVerifierEF"
from TrigInDetConfig.InDetSetup import makeInDetAlgs
viewAlgs, viewVerify = makeInDetAlgs( whichSignature=signName, separateTrackParticleCreator=signName, rois = RoIs, viewVerifier = tauViewDataVerifierName )
if "FTFIso" in name:
viewVerify.DataObjects += [( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnlyMVA' )]
else:
viewVerify.DataObjects += [( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')]
viewAlgs, viewVerify = makeInDetAlgs( whichSignature=signName, separateTrackParticleCreator=signName, rois = RoIs, viewVerifier = "tauViewDataVerifier" )
viewVerify.DataObjects += [( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ),
( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+' + RoIs ),
( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ),
( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.ActIntPerXDecor' ),
( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' )]
( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' ),
( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')]
# Make sure the required objects are still available at whole-event level
from AthenaCommon.AlgSequence import AlgSequence
......@@ -254,8 +237,6 @@ def tauIdTrackSequence( RoIs , name):
PTTrackParticles = [] #List of TrackParticleKeys
from TrigInDetConfig.InDetPT import makeInDetPrecisionTracking
#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
precName = ""
if "FTFId" in name:
......@@ -269,6 +250,7 @@ def tauIdTrackSequence( RoIs , name):
elif "EF" in name:
precName = 'tauEF'
PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( precName, verifier = False, rois = RoIs, inputFTFtracks= TrackCollection )
PTSeq = parOR("precisionTrackingIn"+precName, PTAlgs )
......@@ -303,14 +285,9 @@ def tauCoreTrackSequence( RoIs, name ):
if "InDetTrigTrackParticleCreatorAlg" in viewAlg.name():
TrackCollection = viewAlg.TrackName
if "MVA" in name:
viewVerify.DataObjects += [( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnlyMVA' )]
else:
viewVerify.DataObjects += [( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')]
viewVerify.DataObjects += [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+' + RoIs ),
( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' )] #For some reason not picked up properly
( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' ),#For some reason not picked up properly
( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')]
from IOVDbSvc.CondDB import conddb
if not conddb.folderRequested( "PixelClustering/PixelClusNNCalib" ):
......@@ -327,28 +304,6 @@ def tauCoreTrackSequence( RoIs, name ):
return tauCoreTrackSequence, sequenceOut
def tauFTFTrackTwoSequence(ConfigFlags):
RecoSequenceName = "tauFTFTrackTwoInViewSequence"
newRoITool = ViewCreatorFetchFromViewROITool()
newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau_TrackTwo") #RoI collection recorded to EDM
newRoITool.InViewRoIs = "UpdatedTrackRoI" #input RoIs from calo only step
ftfTrackTwoViewsMaker = EventViewCreatorAlgorithm("IMFTFTrackTwo")
ftfTrackTwoViewsMaker.RoIsLink = "roi"
ftfTrackTwoViewsMaker.RoITool = newRoITool
ftfTrackTwoViewsMaker.InViewRoIs = "RoiForTauCore"
ftfTrackTwoViewsMaker.Views = "TAUFTFTrackTwoViews"
ftfTrackTwoViewsMaker.ViewFallThrough = True
ftfTrackTwoViewsMaker.RequireParentView = True
ftfTrackTwoViewsMaker.ViewNodeName = RecoSequenceName
(tauFTFTrackTwoInViewSequence, sequenceOut) = tauIdTrackSequence( ftfTrackTwoViewsMaker.InViewRoIs, RecoSequenceName)
tauFastTrackTwoSequence = seqAND("tauFastTrackTwoSequence", [ftfTrackTwoViewsMaker, tauFTFTrackTwoInViewSequence ])
return (tauFastTrackTwoSequence, ftfTrackTwoViewsMaker, sequenceOut)
def tauFTFTrackSequence(ConfigFlags):
RecoSequenceName = "tauFTFTrackInViewSequence"
......@@ -393,28 +348,6 @@ def tauFTFIdSequence(ConfigFlags):
tauFastTrackIdSequence = seqAND("tauFastTrackIdSequence", [ftfIdViewsMaker, tauFTFIdInViewSequence ])
return (tauFastTrackIdSequence, ftfIdViewsMaker, sequenceOut)
def tauFTFCoreMVASequence(ConfigFlags):
RecoSequenceName = "tauFTFCoreMVAInViewSequence"
newRoITool = ViewCreatorFetchFromViewROITool()
newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_TauCore_MVA") #RoI collection recorded to EDM
newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step
ftfCoreMVAViewsMaker = EventViewCreatorAlgorithm("IMFTFCoreMVA")
ftfCoreMVAViewsMaker.RoIsLink = "roi"
ftfCoreMVAViewsMaker.RoITool = newRoITool
ftfCoreMVAViewsMaker.InViewRoIs = "RoiForTauCore"
ftfCoreMVAViewsMaker.Views = "TAUFTFCoreMVAViews"
ftfCoreMVAViewsMaker.ViewFallThrough = True
ftfCoreMVAViewsMaker.RequireParentView = True
ftfCoreMVAViewsMaker.ViewNodeName = RecoSequenceName
(tauFTFCoreMVAInViewSequence, sequenceOut) = tauCoreTrackSequence( ftfCoreMVAViewsMaker.InViewRoIs, RecoSequenceName)
tauFastTrackCoreMVASequence = seqAND("tauFastTrackCoreMVASequence", [ftfCoreMVAViewsMaker, tauFTFCoreMVAInViewSequence ])
return (tauFastTrackCoreMVASequence, ftfCoreMVAViewsMaker, sequenceOut)
def tauFTFCoreSequence(ConfigFlags):
RecoSequenceName = "tauFTFCoreInViewSequence"
......@@ -424,7 +357,8 @@ def tauFTFCoreSequence(ConfigFlags):
newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step
ftfCoreViewsMaker = EventViewCreatorAlgorithm("IMFTFCore")
ftfCoreViewsMaker.RoIsLink = "roi"
#ftfCoreViewsMaker.RoIsLink = "roi"
ftfCoreViewsMaker.mergeUsingFeature = True
ftfCoreViewsMaker.RoITool = newRoITool
ftfCoreViewsMaker.InViewRoIs = "RoiForTauCore"
ftfCoreViewsMaker.Views = "TAUFTFCoreViews"
......@@ -480,3 +414,27 @@ def tauEFSequence(ConfigFlags):
tauEFSequence = seqAND("tauEFSequence", [efViewsMaker, tauEFInViewSequence ])
return (tauEFSequence, efViewsMaker, sequenceOut)
def tauFTFTrackTwoSequence(ConfigFlags):
RecoSequenceName = "tauFTFTrackTwoInViewSequence"
newRoITool = ViewCreatorFetchFromViewROITool()
newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau_TrackTwo") #RoI collection recorded to EDM
newRoITool.InViewRoIs = "UpdatedTrackRoI" #input RoIs from calo only step
ftfTrackTwoViewsMaker = EventViewCreatorAlgorithm("IMFTFTrackTwo")
ftfTrackTwoViewsMaker.RoIsLink = "roi"
ftfTrackTwoViewsMaker.RoITool = newRoITool
ftfTrackTwoViewsMaker.InViewRoIs = "RoiForTauCore"
ftfTrackTwoViewsMaker.Views = "TAUFTFTrackTwoViews"
ftfTrackTwoViewsMaker.ViewFallThrough = True
ftfTrackTwoViewsMaker.RequireParentView = True
ftfTrackTwoViewsMaker.ViewNodeName = RecoSequenceName
(tauFTFTrackTwoInViewSequence, sequenceOut) = tauIdTrackSequence( ftfTrackTwoViewsMaker.InViewRoIs, RecoSequenceName)
tauFastTrackTwoSequence = seqAND("tauFastTrackTwoSequence", [ftfTrackTwoViewsMaker, tauFTFTrackTwoInViewSequence ])
return (tauFastTrackTwoSequence, ftfTrackTwoViewsMaker, sequenceOut)
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