예제 #1
0
def InDetGlobalChi2FitterLowPt(name='InDetGlobalChi2FitterLowPt', **kwargs):
    # @TODO TrackingGeometrySvc was not set but is set now
    #       RotCreatorTool and BroadRotCreatorTool not set
    split_cluster_map_extension = kwargs.pop('SplitClusterMapExtension', '')

    from InDetRecExample import TrackingCommon as TrackingCommon
    if 'RotCreatorTool' not in kwargs:
        kwargs = setDefaults(
            kwargs,
            RotCreatorTool=TrackingCommon.getInDetRotCreator(
                nameSuffix=split_cluster_map_extension,
                SplitClusterMapExtension=split_cluster_map_extension))

    from InDetRecExample.InDetJobProperties import InDetFlags
    use_broad_cluster_any = InDetFlags.useBroadClusterErrors() and (
        not InDetFlags.doDBMstandalone())
    if 'BroadRotCreatorTool' not in kwargs and not InDetFlags.doRefit():
        kwargs = setDefaults(
            kwargs,
            BroadRotCreatorTool=TrackingCommon.getInDetBroadRotCreator(
                nameSuffix=split_cluster_map_extension,
                SplitClusterMapExtension=split_cluster_map_extension))

    return InDetGlobalChi2FitterBase(
        name,
        **setDefaults(
            kwargs,
            OutlierCut=5.0,
            Acceleration=False,  # default
            RecalculateDerivatives=True,
            TrackChi2PerNDFCut=10))
예제 #2
0
def InDetGlobalChi2Fitter(name='InDetGlobalChi2Fitter', **kwargs):
    split_cluster_map_extension = kwargs.pop('SplitClusterMapExtension', '')

    from InDetRecExample import TrackingCommon as TrackingCommon
    if 'RotCreatorTool' not in kwargs:
        kwargs = setDefaults(
            kwargs,
            RotCreatorTool=TrackingCommon.getInDetRotCreator(
                nameSuffix=split_cluster_map_extension,
                SplitClusterMapExtension=split_cluster_map_extension))

    from InDetRecExample.InDetJobProperties import InDetFlags
    use_broad_cluster_any = InDetFlags.useBroadClusterErrors() and (
        not InDetFlags.doDBMstandalone())
    if 'BroadRotCreatorTool' not in kwargs and not InDetFlags.doRefit():
        kwargs = setDefaults(
            kwargs,
            BroadRotCreatorTool=TrackingCommon.getInDetBroadRotCreator(
                nameSuffix=split_cluster_map_extension,
                SplitClusterMapExtension=split_cluster_map_extension))

    if InDetFlags.doDBMstandalone():
        kwargs = setDefaults(kwargs,
                             StraightLine=True,
                             OutlierCut=5,
                             RecalibrateTRT=False,
                             TRTExtensionCuts=False,
                             TrackChi2PerNDFCut=20)

    if InDetFlags.doRefit() or use_broad_cluster_any is True:
        kwargs = setDefaults(kwargs, RecalibrateSilicon=False)
    if InDetFlags.doRefit():
        kwargs = setDefaults(kwargs,
                             BroadRotCreatorTool=None,
                             ReintegrateOutliers=False,
                             RecalibrateTRT=False)
    if InDetFlags.doRobustReco():
        kwargs = setDefaults(
            kwargs,
            # BroadRotCreatorTool = None
            OutlierCut=10.0,
            TrackChi2PerNDFCut=20)

    if InDetFlags.doRobustReco() or InDetFlags.doCosmics():
        kwargs = setDefaults(kwargs, MaxOutliers=99)
    if InDetFlags.doCosmics() or InDetFlags.doBeamHalo():
        kwargs = setDefaults(kwargs, Acceleration=False)

    if InDetFlags.materialInteractions() and not InDetFlags.solenoidOn():
        kwargs = setDefaults(kwargs, Momentum=1000. * Units.MeV)
    return InDetGlobalChi2FitterBase(name, **kwargs)