def trackingPreFilter(name, prefilter): VeloMuonBuilder1 = VeloMuonBuilder("VeloMuonBuilder") VeloMuonBuilder1.OutputLevel = 6 VeloMuonBuilder1.MuonLocation = "Hlt1/Track/MuonSeg" VeloMuonBuilder1.VeloLocation = "Rec/Track/FittedVelo" VeloMuonBuilder1.lhcbids = 4 VeloMuonBuilder1.OutputLocation = "Rec/VeloMuon/Tracks" preve = TrackPrepareVelo("preve") preve.inputLocation = "Rec/Track/Velo" preve.outputLocation = "Rec/Track/UnfittedPreparedVelo" preve.bestLocation = "" vefit = ConfiguredFit("vefit", "Rec/Track/UnfittedPreparedVelo") vefit.TracksOutContainer = "Rec/Track/FittedVelo" vefit.addTool(TrackMasterFitter, name='Fitter') ConfiguredFastFitter(getattr(vefit, 'Fitter')) alg = GaudiSequencer( "VeloMuonTrackingFor" + name, Members=[ DecodeVeloRawBuffer(name + "VeloDecoding", DecodeToVeloLiteClusters=True, DecodeToVeloClusters=True), FastVeloTracking(name + "FastVelo", OutputTracksName="Rec/Track/Velo"), preve, vefit, StandaloneMuonRec(name + "MuonStandalone"), VeloMuonBuilder1 ]) return GSWrapper(name="WrappedVeloMuonTracking", sequencer=alg, output='Rec/VeloMuon/Tracks', requiredSelections=prefilter)
def trackingPreFilter(name, prefilter): VeloMuonBuilder1 = VeloMuonBuilder("VeloMuonBuilder") VeloMuonBuilder1.OutputLevel = 6 VeloMuonBuilder1.MuonLocation = "Hlt1/Track/MuonSeg" VeloMuonBuilder1.VeloLocation = "Rec/Track/UnFittedVelo" VeloMuonBuilder1.lhcbids = 4 VeloMuonBuilder1.OutputLocation = "Rec/VeloMuon/Tracks" preve = TrackPrepareVelo("preve") preve.inputLocation = "Rec/Track/Velo" preve.outputLocation = "Rec/Track/UnFittedVelo" preve.bestLocation = "" #TODO: apparently FastVelo is now (april 2012) run with fixes in the production which don't neccessarily apply to the stripping... alg = GaudiSequencer( "VeloMuonTrackingFor" + name, Members=[ DecodeVeloRawBuffer(name + "VeloDecoding", DecodeToVeloLiteClusters=True, DecodeToVeloClusters=True), FastVeloTracking(name + "FastVelo", OutputTracksName="Rec/Track/Velo"), preve, StandaloneMuonRec(name + "MuonStandalone"), VeloMuonBuilder1 ]) return GSWrapper(name="WrappedVeloMuonTracking", sequencer=alg, output='Rec/VeloMuon/Tracks', requiredSelections=prefilter)
def trackingPreFilter(name, prefilter): VeloMuonBuilder1 = VeloMuonBuilder("VeloMuonBuilder") VeloMuonBuilder1.OutputLevel = 6 VeloMuonBuilder1.MuonLocation = "Hlt1/Track/MuonSeg" VeloMuonBuilder1.VeloLocation = "Rec/Track/UnFittedVelo" VeloMuonBuilder1.lhcbids = 4 VeloMuonBuilder1.OutputLocation = "Rec/VeloMuon/Tracks" preve = TrackPrepareVelo("preve") preve.inputLocation = "Rec/Track/Velo" preve.outputLocation = "Rec/Track/UnFittedVelo" preve.bestLocation = "" alg = GaudiSequencer( "VeloMuonTrackingFor" + name, Members=[ DecodeVeloRawBuffer(name + "VeloDecoding", DecodeToVeloLiteClusters=True, DecodeToVeloClusters=True), FastVeloTracking(name + "FastVelo", OutputTracksName="Rec/Track/Velo"), preve, StandaloneMuonRec(name + "MuonStandalone"), VeloMuonBuilder1 ]) return GSWrapper(name="WrappedVeloMuonTracking", sequencer=alg, output='Rec/VeloMuon/Tracks', requiredSelections=prefilter)
def trackingPreFilter(name, prefilter): VeloMuonBuilder1 = VeloMuonBuilder("VeloMuonBuilder") VeloMuonBuilder1.OutputLevel = 6 VeloMuonBuilder1.MuonLocation = "Hlt1/Track/MuonSeg" VeloMuonBuilder1.VeloLocation = "Rec/Track/FittedVelo" VeloMuonBuilder1.lhcbids = 4 VeloMuonBuilder1.OutputLocation = "Rec/VeloMuon/Tracks" preve = TrackPrepareVelo("preve") preve.inputLocation = "Rec/Track/Velo" preve.outputLocation = "Rec/Track/UnfittedPreparedVelo" preve.bestLocation = "" vefit = TrackEventFitter('vefit') vefit.TracksInContainer = "Rec/Track/UnfittedPreparedVelo" vefit.TracksOutContainer = "Rec/Track/FittedVelo" vefit.addTool(TrackMasterFitter, name = 'Fitter') ConfiguredFastFitter( getattr(vefit,'Fitter')) #define a TrackCloneFinder #low = TrackCloneFinder("TrackCloneFinder/low") #low.MatchingFraction = 0.6 Tf__PatVeloSpaceTracking("PatVeloSpaceTracking").addTool( Tf__PatVeloSpaceTool(), name="PatVeloSpaceTool" ) Tf__PatVeloSpaceTracking("PatVeloSpaceTracking").PatVeloSpaceTool.MarkClustersUsed = True; #Tf__PatVeloSpaceTracking("PatVeloSpaceTracking").OutputLevel = 0; # algos = [tisTosPreFilterHlt1Jpsi, tisTosPreFilterHlt2Jpsi, Tf__PatVeloRTracking(), Tf__PatVeloSpaceTracking(),Tf__PatVeloGeneralTracking(), preve,vefit, StandaloneMuonRec(), VeloMuonBuilder1] # alg = GaudiSequencer("VeloMuonTrackingFor"+name, #Members = [Jpsi_already_there, # jpsidotracking], Members = [ DecodeVeloRawBuffer(name+"VeloDecoding"), Tf__PatVeloRTracking(name+"VeloR"), Tf__PatVeloSpaceTracking(name+"VeloSpace"), Tf__PatVeloGeneralTracking(name+"VeloGen"), preve,vefit, StandaloneMuonRec(name+"MuonStandalone"), VeloMuonBuilder1]) return GSWrapper(name="WrappedVeloMuonTracking", sequencer=alg, output='Rec/VeloMuon/Tracks', requiredSelections = [ prefilter])
def __hlt2VeloMuonTracking(self): """ VeloMuon track reconstruction for Hlt2 """ #HltSharedTracking decides which Velo sequence is used from Configurables import Hlt2Conf, VeloMuonBuilder, StandaloneMuonRec, TrackMasterFitter from Configurables import MeasurementProviderT_MeasurementProviderTypes__VeloLiteR_, MeasurementProviderT_MeasurementProviderTypes__VeloLitePhi_ from HltLine.HltLine import bindMembers # Define output location VeloMuonTracksOutputLocation = Hlt2TrackEffLoc["VeloMuon"] # Get Muon standalone track Hlt2StandaloneMuon = StandaloneMuonRec("Hlt2StandaloneMuon") Hlt2StandaloneMuon.OutputMuonTracksName = Hlt2TrackEffLoc[ "StandaloneMuon"] #build VeloMuon track Hlt2VeloMuonBuild = VeloMuonBuilder('Hlt2VeloMuonBuild') Hlt2VeloMuonBuild.MuonLocation = Hlt2StandaloneMuon.OutputMuonTracksName Hlt2VeloMuonBuild.VeloLocation = HltSharedTrackLoc[ "Velo"] #Velo track location in Hlt Hlt2VeloMuonBuild.lhcbids = 4 Hlt2VeloMuonBuild.OutputLocation = VeloMuonTracksOutputLocation Hlt2VeloMuonBuild.addTool(TrackMasterFitter) from TrackFitter.ConfiguredFitters import ConfiguredHltFitter, ConfiguredMasterFitter from Configurables import HltRecoConf ConfiguredMasterFitter(Hlt2VeloMuonBuild.TrackMasterFitter, SimplifiedGeometry=True, LiteClusters=True, MSRossiAndGreisen=HltRecoConf().getProp( "NewMSinFit")) #on par with Hlt track fits Hlt2VeloMuonBuild.TrackMasterFitter.OutputLevel = 5 # Build the bindMembers bm_name = self.getProp("Prefix") + "VeloMuonTracking" bm_members = [Hlt2StandaloneMuon, Hlt2VeloMuonBuild] bm_output = VeloMuonTracksOutputLocation return bindMembers(bm_name, bm_members).setOutputSelection(bm_output)