Exemple #1
0
def getFatrasParticleDecayHelper(name="ISF_FatrasParticleDecayHelper", **kwargs):
    from G4AtlasApps.SimFlags import simFlags
    if not simFlags.RandomSeedList.checkForExistingSeed( "FatrasG4" ):
      simFlags.RandomSeedList.addSeed( "FatrasG4" , 23491234, 23470291 )
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("G4RandomStreamName"    , "FatrasG4") # TODO: read stream name "FatrasG4" from Fatras jobProperties
    kwargs.setdefault("ParticleBroker"  , getService('ISF_ParticleBrokerSvc'))
    kwargs.setdefault("ParticleTruthSvc", simFlags.TruthStrategy.TruthServiceName())
    kwargs.setdefault("PDGToG4ParticleConverter", getPublicTool('ISF_FatrasPdgG4Particle'))
    # the validation output
    kwargs.setdefault("ValidationMode"              , ISF_Flags.ValidationMode())
    kwargs.setdefault("PhysicsValidationTool"       , getPublicTool('ISF_FatrasPhysicsValidationTool'))
    #kwargs.setdefault("G4RunManagerHelper"  , getPublicTool('ISF_G4RunManagerHelper'))

    from ISF_FatrasToolsG4.ISF_FatrasToolsG4Conf import iFatras__G4ParticleDecayHelper
    return iFatras__G4ParticleDecayHelper(name, **kwargs )
Exemple #2
0
def MuonCaloParticleCreator(name="MuonCaloParticleCreator", **kwargs):
    import MuonCombinedRecExample.CombinedMuonTrackSummary
    kwargs.setdefault("Extrapolator", getPublicTool("AtlasExtrapolator"))
    kwargs.setdefault("TrackSummaryTool", ToolSvc.CombinedMuonTrackSummary
                      )  #getPublicTool("CombinedMuonTrackSummary") )
    kwargs.setdefault("KeepAllPerigee", True)
    kwargs.setdefault("PerigeeExpression", "Origin")
    return CfgMgr.Trk__TrackParticleCreatorTool(name, **kwargs)
Exemple #3
0
def getFatrasStaticPropagator(name="ISF_FatrasStaticPropagator", **kwargs):
    kwargs.setdefault("Propagator", getPublicTool('ISF_FatrasPropagator'))
    # configure output formatting
    kwargs.setdefault("OutputPrefix", '[SP] - ')
    kwargs.setdefault("OutputPostfix", ' - ')
    kwargs.setdefault("OutputLevel", ISF_FatrasFlags.OutputLevelGeneral())
    from TrkExEngine.TrkExEngineConf import Trk__PropagationEngine as StaticPropagator
    return StaticPropagator(name, **kwargs)
Exemple #4
0
def MCTBSLFitterMaterialFromTrack(name="MCTBSLFitterMaterialFromTrack",
                                  **kwargs):
    kwargs["GetMaterialFromTrack"] = True
    kwargs.setdefault("ExtrapolationTool",
                      "Trk::Extrapolator/MuonStraightLineExtrapolator")
    #kwargs.setdefault("PropagatorTool", "Trk::STEP_Propagator/MuonStraightLinePropagator") #will switch to this once it's ready
    kwargs["PropagatorTool"] = getPublicTool("MuonRK_Propagator")
    return MCTBSLFitter(name, **kwargs)
Exemple #5
0
def MuonCombinedInDetCandidateAlg(name="MuonCombinedInDetCandidateAlg",
                                  **kwargs):
    from InDetRecExample.InDetJobProperties import InDetFlags
    kwargs.setdefault(
        "TrackSelector",
        getPublicTool("MuonCombinedInDetDetailedTrackSelectorTool"))
    if muonCombinedRecFlags.doSiAssocForwardMuons(
    ) and InDetFlags.doForwardTracks():
        kwargs.setdefault("DoSiliconAssocForwardMuons", True)
        kwargs.setdefault(
            "InDetForwardTrackSelector",
            getPublicTool("MuonCombinedInDetDetailedForwardTrackSelectorTool"))

    kwargs.setdefault("MuonSystemExtensionTool",
                      getPublicTool("MuonSystemExtensionTool"))

    return CfgMgr.MuonCombinedInDetCandidateAlg(name, **kwargs)
Exemple #6
0
def TrigMuSuperEF_MuonCaloTagTool(name='OnlineMuonCaloTagTool', **kwargs):
    #from AthenaCommon.AppMgr import ToolSvc
    #import TrigMuSuperEF.CombinedMuonTrackSummary_Trig
    kwargs.setdefault("CaloMuonTagLoose", getPublicTool("CaloMuonTagLoose"))
    kwargs.setdefault("CaloMuonTagTight", getPublicTool("CaloMuonTag"))
    kwargs.setdefault("CaloMuonLikelihoodTool",
                      getPublicTool("CaloMuonLikelihoodTool"))
    kwargs.setdefault("TrackDepositInCaloTool",
                      getPublicTool("TrigMuSuperEF_TrackDepositInCaloTool"))
    kwargs.setdefault("TrackSelectorTool",
                      getPublicTool("TrigMuSuperEF_CaloTrkSelectorTool"))
    kwargs.setdefault("TrackIsolationTool", None)
    kwargs.setdefault("DebugMode", False)
    kwargs.setdefault("doTrkSelection", True)
    kwargs.setdefault("doCaloLR", False)
    kwargs.setdefault("doOldExtrapolation", True)
    kwargs.setdefault("ShowTruth", False)
    return CfgMgr.MuonCombined__MuonCaloTagTool(name, **kwargs)
def MuonChi2TrackFitter(name='MuonChi2TrackFitter',**kwargs):
    from TrkGlobalChi2Fitter.TrkGlobalChi2FitterConf import Trk__GlobalChi2Fitter

    kwargs.setdefault("ExtrapolationTool"    , "MuonExtrapolator")
    kwargs.setdefault("RotCreatorTool"       , "MuonRotCreator")
    kwargs.setdefault("MeasurementUpdateTool", "MuonMeasUpdator")
    kwargs.setdefault("StraightLine"         , False)
    kwargs.setdefault("OutlierCut"           , 3.0)
    kwargs.setdefault("GetMaterialFromTrack" , False)
    kwargs.setdefault("RejectLargeNScat"     , True)

    # take propagator and navigator from the extrapolator
    Extrapolator = getPublicTool(kwargs["ExtrapolationTool"])
    kwargs["ExtrapolationTool"] = Extrapolator
    kwargs["PropagatorTool"]    = getPublicTool(Extrapolator.Propagators[0].getName())
    kwargs["NavigatorTool"]     = getPublicTool(Extrapolator.Navigator.getName())

    return Trk__GlobalChi2Fitter(name,**kwargs)
Exemple #8
0
def MuonCombinedFitTagTool(name="MuonCombinedFitTagTool", **kwargs):
    from AthenaCommon.AppMgr import ToolSvc
    if TriggerFlags.MuonSlice.doTrigMuonConfig:
        from TrkExRungeKuttaIntersector.TrkExRungeKuttaIntersectorConf import Trk__IntersectorWrapper as Propagator
        TrigMuonPropagator = Propagator(name='TrigMuonPropagator')
        ToolSvc += TrigMuonPropagator
        kwargs.setdefault(
            "TrackBuilder",
            getPublicToolClone("TrigMuonTrackBuilder",
                               "CombinedMuonTrackBuilder",
                               Propagator=TrigMuonPropagator))
        kwargs.setdefault("VertexContainer", "")
    else:
        kwargs.setdefault("TrackBuilder",
                          getPublicTool("CombinedMuonTrackBuilder"))
    kwargs.setdefault("TrackQuery", getPublicTool("MuonTrackQuery"))
    kwargs.setdefault("MatchQuality", getPublicTool("MuonMatchQuality"))
    return CfgMgr.MuonCombined__MuonCombinedFitTagTool(name, **kwargs)
Exemple #9
0
def ExtrapolateMuonToIPTool(name="ExtrapolateMuonToIPTool", **kwargs):
    if TriggerFlags.MuonSlice.doTrigMuonConfig:
        kwargs.setdefault("TrackSummaryTool",
                          getPublicTool("MuonTrackSummaryTool"))
    else:
        import MuonCombinedRecExample.CombinedMuonTrackSummary
        from AthenaCommon.AppMgr import ToolSvc
        kwargs.setdefault("TrackSummaryTool", ToolSvc.CombinedMuonTrackSummary)
    return CfgMgr.ExtrapolateMuonToIPTool(name, **kwargs)
Exemple #10
0
def StauCreatorAlg( name="StauCreatorAlg", **kwargs ):
    kwargs.setdefault("MuonCreatorTool",getPublicTool("StauCreatorTool"))
    kwargs.setdefault("MuonContainerLocation","Staus")
    kwargs.setdefault("CombinedLocation","CombinedStau")
    kwargs.setdefault("ExtrapolatedLocation","ExtrapolatedStau")
    kwargs.setdefault("MSOnlyExtrapolatedLocation","MSOnlyExtrapolatedStau")
    kwargs.setdefault("MuonCandidateLocation","")
    kwargs.setdefault("SegmentContainerName","StauSegments")
    kwargs.setdefault("BuildSlowMuon",1)
    return MuonCreatorAlg(name,**kwargs)
Exemple #11
0
def getCaloEntryTrkExtrapolator(name="ISF_CaloEntryTrkExtrapolator", **kwargs):
    kwargs.setdefault('TrackingVolumeName', 'InDet::Containers::EntryVolume')
    kwargs.setdefault('TrackingGeometrySvc',
                      getService('AtlasTrackingGeometrySvc'))
    atlasExtrapolator = getPublicTool('AtlasExtrapolator')
    atlasExtrapolator.ApplyMaterialEffects = False
    kwargs.setdefault('Extrapolator', atlasExtrapolator)

    from ISF_TrackingTools.ISF_TrackingToolsConf import ISF__TrkExtrapolator
    return ISF__TrkExtrapolator(name, **kwargs)
Exemple #12
0
def MuonInsideOutRecoAlg(name="MuonInsideOutRecoAlg", **kwargs):
    tools = [getPublicTool("MuonInsideOutRecoTool")]
    from MuonLayerSegmentMakerTools.MuonLayerSegmentMakerToolsConf import Muon__MuonLayerSegmentFinderTool
    from AthenaCommon.AppMgr import ToolSvc
    MuonLayerSegmentFinderTool = Muon__MuonLayerSegmentFinderTool(
        "MuonLayerSegmentFinderTool",
        Csc2DSegmentMaker=(getPublicTool("Csc2dSegmentMaker")
                           if MuonGeometryFlags.hasCSC() else ""),
        Csc4DSegmentMaker=(getPublicTool("Csc4dSegmentMaker")
                           if MuonGeometryFlags.hasCSC() else ""))
    ToolSvc += MuonLayerSegmentFinderTool
    tools[0].MuonLayerSegmentFinderTool = MuonLayerSegmentFinderTool
    kwargs.setdefault("MuonCombinedInDetExtensionTools", tools)
    kwargs.setdefault("usePRDs", True)
    kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC())
    kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC())
    kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM())
    kwargs.setdefault("TagMap", "muGirlTagMap")
    return CfgMgr.MuonCombinedInDetExtensionAlg(name, **kwargs)
Exemple #13
0
def MuonInDetForwardCandidateTool(name='MuonInDetForwardCandidateTool',
                                  **kwargs):
    #import pdb ; pdb.set_trace()
    idCandTool = getPublicToolClone(
        "InDetForwardCandidateTool",
        "InDetCandidateTool",
        TrackSelector=getPublicTool(
            "MuonCombinedInDetDetailedForwardTrackSelectorTool"))
    idCandTool.FlagCandidatesAsSiAssociated = True
    return idCandTool
Exemple #14
0
def CaloMuonScoreTool(name='CaloMuonScoreTool', **kwargs):
    from TrackToCalo.TrackToCaloConf import Rec__ParticleCaloCellAssociationTool
    caloCellAssociationTool = Rec__ParticleCaloCellAssociationTool(
        ParticleCaloExtensionTool=getPublicTool(
            "MuonParticleCaloExtensionTool"))
    kwargs.setdefault("ParticleCaloCellAssociationTool",
                      caloCellAssociationTool)
    kwargs.setdefault("CaloMuonScoreONNXRuntimeSvc",
                      getService("CaloMuonScoreONNXRuntimeSvc"))
    return CfgMgr.CaloMuonScoreTool(name, **kwargs)
Exemple #15
0
def getParametricSimServiceID(name="ISF_ParametricSimSvc", **kwargs):
    kwargs.setdefault("Identifier", "ParametricSim")
    kwargs.setdefault("OutputLevel", ISF_ParSimFlags.OutputLevelGeneral())
    kwargs.setdefault("ParticleSmearers",
                      [getPublicTool('ISF_TrackParticleSmearer')])
    kwargs.setdefault("TrackingGeometrySvc",
                      getService("AtlasTrackingGeometrySvc"))

    from ISF_ParSimServices.ISF_ParSimServicesConf import iParSim__ParametricSimSvc
    return iParSim__ParametricSimSvc(name, **kwargs)
Exemple #16
0
def MuonCreatorTool(name="MuonCreatorTool", **kwargs):
    getPublicTool("MuonMomentumBalanceSignificanceTool")
    getPublicTool("MuonScatteringAngleSignificanceTool")
    getPublicTool("MuonCaloParticleCreator")

    kwargs.setdefault("TrackParticleCreator",
                      getPublicTool("MuonCombinedParticleCreator"))
    # kwargs.setdefault("CaloNoiseTool", getPublicTool("CaloNoiseToolDefault") )
    return CfgMgr.MuonCombined__MuonCreatorTool(name, **kwargs)
Exemple #17
0
def getFastHitConvAlgFastCaloSimSvc(name="ISF_FastHitConvAlgFastCaloSimSvc",**kwargs):
    kwargs.setdefault("CaloCellMakerTools_release", [
                                                           #getPublicTool('ISF_AddNoiseCellBuilderTool'),
                                                            getPublicTool('ISF_CaloCellContainerFinalizerTool')
                                                    ] )
    # setup FastCaloSim hit converter and add it to the alg sequence:
    # -> creates HITS from reco cells
    from AthenaCommon.AlgSequence import AlgSequence
    topSequence=AlgSequence()
    topSequence+=getAlgorithm('ISF_FastHitConvAlg')
    return getNativeFastCaloSimSvc(name,**kwargs)
Exemple #18
0
def MuGirlStauAlg(name="MuGirlStauAlg", **kwargs):
    tools = [getPublicTool("MuonStauRecoTool")]
    kwargs.setdefault("MuonCombinedInDetExtensionTools", tools)
    kwargs.setdefault("TagMap", "stauTagMap")
    kwargs.setdefault("HasCSC", MuonGeometryFlags.hasCSC())
    kwargs.setdefault("HasSTgc", MuonGeometryFlags.hasSTGC())
    kwargs.setdefault("HasMM", MuonGeometryFlags.hasMM())
    kwargs.setdefault("CombinedTrackCollection", "MuGirlStauCombinedTracks")
    kwargs.setdefault("METrackCollection", "")
    kwargs.setdefault("SegmentCollection", "MuGirlStauSegments")
    return CfgMgr.MuonCombinedInDetExtensionAlg(name, **kwargs)
Exemple #19
0
def MuidCaloEnergyTool( name='MuidCaloEnergyTool', **kwargs ):
    kwargs.setdefault("CaloMeasTool", getPublicTool("MuidCaloEnergyMeas") )
    kwargs.setdefault("CaloParamTool", getPublicTool("MuidCaloEnergyParam") )
    if DetFlags.haveRIO.Calo_on():
        kwargs.setdefault("EnergyLossMeasurement", True )
        kwargs.setdefault("MinFinalEnergy", 1.0*GeV )
        kwargs.setdefault("MinMuonPt", 10.0*GeV )
        kwargs.setdefault("MopParametrization", True )
    else:
        kwargs.setdefault("EnergyLossMeasurement", False )

    if DetFlags.haveRIO.ID_on():
        kwargs.setdefault("TrackIsolation", True )
    else:
        kwargs.setdefault("TrackIsolation", False )

    if beamFlags.beamType() == 'cosmics':
        kwargs.setdefault("Cosmics", True )

    return CfgMgr.Rec__MuidCaloEnergyTool(name,**kwargs)
Exemple #20
0
def getFatrasProcessSamplingTool(name="ISF_FatrasProcessSamplingTool", **kwargs):

    # random number service
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault( "RandomNumberService", simFlags.RandomSvc())
    # truth record
    kwargs.setdefault("TruthRecordSvc"      , simFlags.TruthStrategy.TruthServiceName())
    # decays
    kwargs.setdefault("ParticleDecayHelper" , getPublicTool('ISF_FatrasParticleDecayHelper'))
    # photon conversion
    kwargs.setdefault("PhotonConversionTool"     , getPublicTool('ISF_FatrasConversionCreator'))
    # hadronic interactions
    kwargs.setdefault("HadronicInteraction"         , True)
    #kwargs.setdefault("HadronicInteractionProcessor", getPublicTool('ISF_FatrasParametricHadIntProcessor'))
    kwargs.setdefault("HadronicInteractionProcessor", getPublicTool('ISF_FatrasG4HadIntProcessor'))
    # the validation output
    kwargs.setdefault("ValidationMode"              , ISF_Flags.ValidationMode())
    kwargs.setdefault("PhysicsValidationTool"       , getPublicTool('ISF_FatrasPhysicsValidationTool'))

    from ISF_FatrasTools.ISF_FatrasToolsConf import iFatras__ProcessSamplingTool
    return iFatras__ProcessSamplingTool(name, **kwargs)
def MuonChamberHoleRecoveryTool(name="MuonChamberHoleRecoveryTool",extraFlags=None,**kwargs):
    doSegmentT0Fit = getattr(extraFlags,"doSegmentT0Fit", muonRecFlags.doSegmentT0Fit())

    kwargs.setdefault("Extrapolator", "MuonExtrapolator")

    if doSegmentT0Fit:
        kwargs.setdefault("AddMeasurements", False)

    if muonRecFlags.doCSCs:
        if muonRecFlags.enableErrorTuning() or globalflags.DataSource() == 'data':
            kwargs.setdefault("CscRotCreator","CscBroadClusterOnTrackCreator")
        else:
            kwargs.setdefault("CscRotCreator","CscClusterOnTrackCreator")
    else: # no CSCs
        # switch off whatever is set
        kwargs["CscRotCreator"] = None

    # add in missing C++ dependency. TODO: fix in C++
    getPublicTool("ResidualPullCalculator")

    return CfgMgr.Muon__MuonChamberHoleRecoveryTool(name,**kwargs)
Exemple #22
0
def getFatrasG4HadIntProcessor(name="ISF_FatrasG4HadIntProcessor", **kwargs):
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("ParticleBroker"      , ISF_Flags.ParticleBroker())
    kwargs.setdefault("TruthRecordSvc"      , simFlags.TruthStrategy.TruthServiceName())
    kwargs.setdefault("PhysicsValidationTool"       , getPublicTool('ISF_FatrasPhysicsValidationTool'))
    kwargs.setdefault('ValidationMode'      , ISF_Flags.ValidationMode())
    kwargs.setdefault("MomentumCut"        , FatrasTuningFlags.MomCutOffSec())

    from ISF_FatrasToolsG4.ISF_FatrasToolsG4Conf import iFatras__G4HadIntProcessor
    return iFatras__G4HadIntProcessor(name, **kwargs )
Exemple #23
0
def MuonCombinedAlg(name="MuonCombinedAlg", **kwargs):
    kwargs.setdefault("MuonCombinedTool", getPublicTool("MuonCombinedTool"))
    tagmaps = []
    # CombinedTagMaps must be in a 1-1 correspondence
    # with MuonCombinedTagTools.
    for h in kwargs['MuonCombinedTool'].MuonCombinedTagTools:
        if h.getFullName().find('FitTagTool') >= 0:
            tagmaps.append('muidcoTagMap')
        elif h.getFullName().find('StacoTagTool') >= 0:
            tagmaps.append('stacoTagMap')
    kwargs.setdefault("CombinedTagMaps", tagmaps)
    return CfgMgr.MuonCombinedAlg(name, **kwargs)
Exemple #24
0
def getFatrasMaterialEffectsEngine(name="ISF_FatrasMaterialEffectsEngine", **kwargs):
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService"         , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"            , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("ParticleBroker"              , ISF_Flags.ParticleBroker())
    kwargs.setdefault("TruthRecordSvc"              , simFlags.TruthStrategy.TruthServiceName())
    kwargs.setdefault("ProcessSamplingTool"         , getPublicTool('ISF_FatrasProcessSamplingTool'))
    kwargs.setdefault("ParticleDecayHelper"         , getPublicTool('ISF_FatrasParticleDecayHelper'))
    # energy loss
    kwargs.setdefault("EnergyLoss"                  , True)
    kwargs.setdefault("EnergyLossSampler"           , getPublicTool('ISF_FatrasEnergyLossUpdator'))
    kwargs.setdefault("UseElectronSampler"          , True)
    kwargs.setdefault("ElectronEnergyLossSampler"   , getPublicTool('ISF_FatrasEnergyLossSamplerBetheHeitler'))
    kwargs.setdefault("CreateBremPhotons"           , True)    
    # multiple scattering
    kwargs.setdefault("MultipleScattering"          , True)
    kwargs.setdefault("MultipleScatteringSampler"   , getPublicTool('ISF_FatrasMultipleScatteringSamplerHighland'))
    # the properties given throuth the JobProperties interface
    kwargs.setdefault("MomentumCut"                 , FatrasTuningFlags.MomCutOffSec())
    kwargs.setdefault("MinimumBremPhotonMomentum"   , FatrasTuningFlags.MomCutOffSec())
    # MCTruth Process Code
    kwargs.setdefault("BremProcessCode"             , 3) # TODO: to be taken from central definition
    # the validation output
    kwargs.setdefault("ValidationMode"              , ISF_Flags.ValidationMode())
    kwargs.setdefault("PhysicsValidationTool"       , getPublicTool('ISF_FatrasPhysicsValidationTool'))
    kwargs.setdefault("OutputPrefix", '[McME] - ')
    kwargs.setdefault("OutputPostfix", ' - ')
    kwargs.setdefault("OutputLevel", ISF_FatrasFlags.OutputLevelGeneral())
    
    from ISF_FatrasTools.ISF_FatrasToolsConf import iFatras__McMaterialEffectsEngine
    return iFatras__McMaterialEffectsEngine(name, **kwargs )
Exemple #25
0
def MuonCreatorAlg(name="MuonCreatorAlg", **kwargs):
    kwargs.setdefault("MuonCreatorTool", getPublicTool("MuonCreatorTool"))
    recordMuonCreatorAlgObjs(kwargs)
    # if muGirl is off, remove "muGirlTagMap" from "TagMaps"
    # but don't set this default in case the StauCreatorAlg is created (see below)
    if not muonCombinedRecFlags.doMuGirl() and not name == "StauCreatorAlg":
        kwargs.setdefault(
            "TagMaps",
            ["muidcoTagMap", "stacoTagMap", "caloTagMap", "segmentTagMap"])
    if TriggerFlags.MuonSlice.doTrigMuonConfig:
        kwargs.setdefault("MakeClusters", False)
        kwargs.setdefault("ClusterContainerName", "")
    return CfgMgr.MuonCreatorAlg(name, **kwargs)
Exemple #26
0
def MuonSegmentFittingTool(name='MuonSegmentFittingTool',
                           extraFlags=None,
                           **kwargs):
    prop = getPublicTool('AtlasRungeKuttaPropagator')
    kwargs.setdefault("SLPropagator",
                      getPrivateToolClone('SLPropagator', prop))
    # Think I need to do it this way because AtlasRungeKuttaPropagator isn't known to ConfigurableFactory.
    # If I directly call getPrivateTool('AtlasRungeKuttaPropagator') then it fails with:
    # ConfigurationError: Private Tool <Trk::RungeKuttaPropagator/ToolSvc.AtlasRungeKuttaPropagator at 0x7f5811db3158> not found
    kwargs.setdefault("SLFitter", getPrivateTool('MCTBSLFitter'))
    kwargs.setdefault("CurvedFitter", getPrivateTool('MCTBFitter'))
    kwargs.setdefault("TrackCleaner", getPrivateTool('MuonTrackCleaner'))
    return CfgMgr.Muon__MuonSegmentFittingTool(name, **kwargs)
Exemple #27
0
def MooTrackBuilder(name="MooTrackBuilderTemplate", extraFlags=None, **kwargs):

    namePrefix = getattr(extraFlags, "namePrefix", "")
    namePostfix = getattr(extraFlags, "namePostfix", "")
    optimiseMomentumResolutionUsingChi2 = getattr(
        extraFlags, "optimiseMomentumResolutionUsingChi2", False)

    kwargs.setdefault("Fitter", "MooTrackFitter")
    kwargs.setdefault("SLFitter", "MooSLTrackFitter")
    kwargs.setdefault(
        "RecalibrateMDTHitsOnTrack",
        ((not muonRecFlags.doSegmentT0Fit())
         and muonStandaloneFlags.reconstructionMode() == 'collisions'))

    # hardcode some properties before passing on to base class constructors
    if optimiseMomentumResolutionUsingChi2:
        if "ErrorOptimisationTool" not in kwargs:
            if namePrefix or namePostfix:
                tool = getPublicToolClone(
                    namePrefix + "MuonErrorOptimisationTool" + namePostfix,
                    "MuonErrorOptimisationTool",
                    extraFlags=extraFlags)
            else:
                tool = getPublicTool("MuonErrorOptimisationTool")
            kwargs["ErrorOptimisationTool"] = tool

    builder = CfgMgr.Muon__MooTrackBuilder(name, **kwargs)

    # make clones of some tools if namePrefix (e.g. for TrigMuonEF) or namePostfix (e.g. for FinalFit) is given
    if namePrefix or namePostfix:
        oldFitterName = getProperty(builder, "Fitter").getName()
        newFitterName = namePrefix + oldFitterName + namePostfix
        builder.Fitter = getPublicToolClone(newFitterName,
                                            oldFitterName,
                                            extraFlags=extraFlags)
        oldFitterName = getProperty(builder, "SLFitter").getName()
        newFitterName = namePrefix + oldFitterName + namePostfix
        builder.SLFitter = getPublicToolClone(newFitterName,
                                              oldFitterName,
                                              extraFlags=extraFlags)
        oldMatchingToolName = getProperty(builder,
                                          "CandidateMatchingTool").getName()
        newMatchingToolName = namePrefix + oldMatchingToolName + namePostfix
        builder.CandidateMatchingTool = getPublicToolClone(
            newMatchingToolName, oldMatchingToolName, extraFlags=extraFlags)

    import MuonCombinedRecExample.CombinedMuonTrackSummary
    from AthenaCommon.AppMgr import ToolSvc
    kwargs.setdefault("TrackSummaryTool", ToolSvc.CombinedMuonTrackSummary)

    return builder
def MuonEDMHelperTool(name='MuonEDMHelperTool',**kwargs):
    # configure some tools that are used but are not declared as properties (they should be!)
    getPublicTool("MuonIdHelperTool")
    getPublicTool("MuonExtrapolator")
    getPublicTool("AtlasExtrapolator")

    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperTool
    return Muon__MuonEDMHelperTool(name,**kwargs)
Exemple #29
0
def getFatrasConversionCreator(name="ISF_FatrasConversionCreator", **kwargs):
    #   Fatras Hadronic Interaction Processor
    #   hadronic interaction creator
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("ParticleBroker"  , ISF_Flags.ParticleBroker())
    kwargs.setdefault("TruthRecordSvc"  , simFlags.TruthStrategy.TruthServiceName())
    kwargs.setdefault("PhysicsValidationTool"       , getPublicTool('ISF_FatrasPhysicsValidationTool'))
    kwargs.setdefault("PhysicsProcessCode"              , 14) # TODO: to be taken from central definition
    kwargs.setdefault('ValidationMode'      , ISF_Flags.ValidationMode())

    from ISF_FatrasTools.ISF_FatrasToolsConf import iFatras__PhotonConversionTool
    return iFatras__PhotonConversionTool(name, **kwargs )
Exemple #30
0
def CaloTrkMuIdAlgTrackSelectorTool(name='CaloTrkMuIdAlgTrackSelectorTool',
                                    **kwargs):
    from AthenaCommon.AppMgr import ToolSvc
    kwargs.setdefault("pTMin", 5000.)
    kwargs.setdefault("IPd0Max", 7.)
    kwargs.setdefault("IPz0Max", 130)  # 130 (tuned on Z)
    kwargs.setdefault("nHitBLayer", 0)
    kwargs.setdefault("nHitPix", 1)
    kwargs.setdefault("nHitSct", 5)
    kwargs.setdefault("nHitSi", 7)
    kwargs.setdefault("nHitTrt", 0)
    kwargs.setdefault("TrackSummaryTool", ToolSvc.CombinedMuonTrackSummary)
    kwargs.setdefault("Extrapolator", getPublicTool("AtlasExtrapolator"))
    return CfgMgr.InDet__InDetDetailedTrackSelectorTool(name, **kwargs)
include("RecExCond/AllDet_detDescr.py")

# Fetch the AthAlgSeq, i.e., one of the existing master sequences where one should attach all algorithms
algSeq = CfgMgr.AthSequencer("AthAlgSeq")
alg = CfgMgr.BaseAnalysis("SegmentAnalysis", OutputLevel=INFO);
ServiceMgr.MessageSvc.defaultLimit = 9999999
algSeq += alg

import time
svcMgr += CfgMgr.THistSvc()
svcMgr.THistSvc.Output += ["ANOTHERSTREAM DATAFILE='ntuple.%s.Run%s.root' OPT='RECREATE'" % (time.strftime('%Y-%m-%d-%Hh%Mm%Ss'),
                                                                                             muonrawhits_run,
                                                                                             )]

from LumiBlockComps.LuminosityToolDefault import LuminosityToolDefault
theLumiTool = LuminosityToolDefault()
from AthenaCommon.AppMgr import ToolSvc
ToolSvc += theLumiTool

from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
cfg = TriggerConfigGetter('ReadPool')

from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
tdt = Trig__TrigDecisionTool("TrigDecisionTool")
ToolSvc += tdt

from AthenaCommon.CfgGetter import getPublicTool,getPublicToolClone
CalibCscStripFitter = getPublicTool("CalibCscStripFitter")
ToolSvc += CalibCscStripFitter

# functionality : Muon combined reconstruction
#
pdr.flag_domain('muoncomb')
if rec.doMuonCombined() and DetFlags.Muon_on() and DetFlags.ID_on():
    try:
        include ("MuonCombinedRecExample/MuonCombinedRec_config.py")
    except Exception:
        treatException("Could not set up combined muon reconstruction. Switched off !")
        rec.doMuonCombined = False

#
#  functionality : add cells crossed by high pt ID tracks 
#
if rec.doESD() and recAlgs.doTrackParticleCellAssociation():
    from AthenaCommon.CfgGetter import getPublicTool
    getPublicTool("MuonCombinedInDetDetailedTrackSelectorTool")
    topSequence += CfgMgr.TrackParticleCellAssociationAlg("TrackParticleCellAssociationAlg")

#
# functionality : energy flow
#                                                                                                 
pdr.flag_domain('eflow')
if recAlgs.doEFlow() and ( rec.readESD() or ( DetFlags.haveRIO.ID_on() and DetFlags.haveRIO.Calo_allOn() ) )  :
    try:
        include( "eflowRec/eflowRec_jobOptions.py" )
    except Exception:
        treatException("Could not set up EFlow. Switched off !")
        recAlgs.doEFlow=False
else:
    recAlgs.doEFlow=False