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)
示例#4
0
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)