diff --git a/Trigger/TrigAlgorithms/TrigHLTJetRec/python/TrigHLTJetRecConfig.py b/Trigger/TrigAlgorithms/TrigHLTJetRec/python/TrigHLTJetRecConfig.py index 5141f9af32aee09602f71d8d4682b5ca86e78549..575d92405644ed8a8106bc00acbf35686b161ad9 100644 --- a/Trigger/TrigAlgorithms/TrigHLTJetRec/python/TrigHLTJetRecConfig.py +++ b/Trigger/TrigAlgorithms/TrigHLTJetRec/python/TrigHLTJetRecConfig.py @@ -143,6 +143,30 @@ def _getTrimmedJetCalibrationModifier(jet_calib,int_merge_param,cluster_calib,rc print "Adding calibration modifier: ",str(calibmod) return calibmod +def addTrkMomsTool(toolname, + tvSGkey, + vcSGkey, ): + + # declare jtm as global as this function body may modify it + # with the += operator + global jtm + + try: + trkmomsTool = getattr(jtm, toolname) + except AttributeError: + from JetMomentTools.JetMomentToolsConf import JetTrackMomentsTool + + # Build the tool : + trkmomsTool = JetTrackMomentsTool(toolname, + TrackVertexAssociation = tvSGkey, + VertexContainer = vcSGkey, + AssociatedTracks = "GhostTrack", + TrackMinPtCuts = [500, 1000], + TrackSelector = jtm.trackselloose) + + jtm += trkmomsTool + print 'TrigHLTJetRecConfig.addTrkMomsTool '\ + 'Added trkmoms tools "%s" to jtm' % toolname # *** FTK track moment tool helpers set up *** def configTVassocTool(name, @@ -175,14 +199,11 @@ def _getTVassocTool(toolname, **options): # Add the TVA tool to the JetTool Manager, tvassocTool = configTVassocTool(toolname, **options) jtm += tvassocTool - tvassocTool = getattr(jtm, toolname) print 'TrigHLTJetRecConfig._getTVassocTool '\ 'Added tvassoc tools "%s" to jtm' % toolname - + return tvassocTool - - def _getJetBuildTool(merge_param, ptmin, ptminFilter, @@ -234,10 +255,14 @@ def _getJetBuildTool(merge_param, if outputLabel!='triggerTowerjets': #towers don't have cluster moments mymods.append(jtm.clsmoms) if secondary_label == 'GhostTrack': # ghost track association expected, will want track moments. - jtm.trkmoms.unlock() - jtm.trkmoms.AssociatedTracks = secondary_label - jtm.trkmoms.lock() - mymods.append(jtm.trkmoms) + if not hasattr(jtm, 'trkmoms_GhostTracks'): + print "In TrigHLTJetRecConfig._getJetBuildTool: Something went wrong. GhostTrack label set but no track moment tools configured. Continuing without trkmodifers." + else: + trkmoms_ghosttrack = getattr(jtm, 'trkmoms_GhostTracks') + trkmoms_ghosttrack.unlock() + trkmoms_ghosttrack.AssociatedTracks = secondary_label + trkmoms_ghosttrack.lock() + mymods.append(trkmoms_ghosttrack) if not do_minimalist_setup: # add in extra modofiers. This allows monitoring the ability @@ -310,10 +335,11 @@ def _getJetBuildTool(merge_param, # print getattr(ToolSvc,name+"Finder").JetBuilder # getattr(ToolSvc,name+"Finder").unlock() # getattr(ToolSvc,name+"Finder").OutputLevel = 1 +# getattr(ToolSvc,name+"Finder").JetBuilder.setOutputLevel = 1 +# getattr(ToolSvc,name+"Finder").lock() # getattr(ToolSvc,"jbldTrigger").unlock() # getattr(ToolSvc,"jbldTrigger").OutputLevel = 1 # getattr(ToolSvc,"jbldTrigger").lock() - #getattr(ToolSvc,name+"Finder").JetBuilder.setOutputLevel = 1 except Exception, e: print 'error adding new jet finder %s' % name @@ -1026,22 +1052,24 @@ class TrigHLTTrackMomentHelpers(TrigHLTJetRecConf.TrigHLTTrackMomentHelpers): TrigHLTJetRecConf.TrigHLTTrackMomentHelpers.__init__(self,name=name) self.trackSGkey = trackSGkey self.primVtxSGkey = primVtxSGkey - + + #retrieve and configure the TVA tool tvatoolname = 'tvassoc_GhostTracks' - options = dict(tvSGkey=tvassocSGkey, + tvaoptions = dict(tvSGkey=tvassocSGkey, tpcSGkey=trackSGkey, vcSGkey=primVtxSGkey, ) - self.tvassocTool = _getTVassocTool(tvatoolname, **options) + self.tvassocTool = _getTVassocTool(tvatoolname, **tvaoptions) + + # add a specially configured trkmoms tool to jtm + trkmomstoolname = 'trkmoms_GhostTracks' - # and configure track moment modifiers here. - global jtm - jtm.trkmoms.unlock() - jtm.trkmoms.VertexContainer = primVtxSGkey - jtm.trkmoms.TrackVertexAssociation = tvassocSGkey - jtm.trkmoms.lock() + trkmomsoptions = dict(tvSGkey=tvassocSGkey, + vcSGkey=primVtxSGkey, + ) + addTrkMomsTool(trkmomstoolname, **trkmomsoptions) # Data scouting algorithm class TrigHLTJetDSSelector(TrigHLTJetRecConf.TrigHLTJetDSSelector):