31 flags, name="InDetTRT_DriftCircleTool", usePhase=False, **kwargs):
32 from TRT_ConditionsAlgs.TRT_ConditionsAlgsConfig import TRTAlignCondAlgCfg
33 acc = TRTAlignCondAlgCfg(flags)
34
35 if "TRTDriftFunctionTool" not in kwargs:
36 from InDetConfig.TRT_DriftFunctionToolConfig import (
37 TRT_DriftFunctionToolCfg)
38 kwargs.setdefault("TRTDriftFunctionTool", acc.popToolsAndMerge(
39 TRT_DriftFunctionToolCfg(flags)))
40
41 if "ConditionsSummaryTool" not in kwargs:
42 from TRT_ConditionsServices.TRT_ConditionsServicesConfig import (
43 TRT_StrawStatusSummaryToolCfg)
44 kwargs.setdefault("ConditionsSummaryTool", acc.popToolsAndMerge(
45 TRT_StrawStatusSummaryToolCfg(flags)))
46
47 kwargs.setdefault("UseConditionsStatus", True)
48 kwargs.setdefault("useDriftTimeHTCorrection", True)
49 kwargs.setdefault("useDriftTimeToTCorrection", True)
50
51 if usePhase:
52 acc.setPrivateTools(
53 CompFactory.InDet.TRT_DriftCircleToolCosmics(name, **kwargs))
54 return acc
55
56 kwargs.setdefault("UseConditionsHTStatus", True)
57 kwargs.setdefault("SimpleOutOfTimePileupSupression", False)
58 kwargs.setdefault("SimpleOutOfTimePileupSupressionArgon", False)
59 kwargs.setdefault("RejectIfFirstBit", False)
60 kwargs.setdefault("RejectIfFirstBitArgon", False)
61 kwargs.setdefault("ValidityGateSuppression",
62 flags.Beam.BunchSpacing<=25 and
63 flags.Beam.Type is BeamType.Collisions)
64 kwargs.setdefault("ValidityGateSuppressionArgon",
65 flags.Beam.BunchSpacing<=25 and
66 flags.Beam.Type is BeamType.Collisions)
67
68 gains = TRTDriftTimes(flags)
69 kwargs.setdefault("LowGate", gains.LowGate)
70
71 kwargs.setdefault("LowGateArgon", gains.LowGate)
72 kwargs.setdefault("HighGate", gains.HighGate)
73 kwargs.setdefault("HighGateArgon", gains.HighGate)
74
76 MinTrailingEdge = 11.0*ns
77 MaxDriftTime = 60.0*ns
78 kwargs.setdefault("MinTrailingEdge", MinTrailingEdge)
79 kwargs.setdefault("MinTrailingEdgeArgon", MinTrailingEdge)
80 kwargs.setdefault("MaxDriftTime", MaxDriftTime)
81 kwargs.setdefault("MaxDriftTimeArgon", MaxDriftTime)
82
83 acc.setPrivateTools(CompFactory.InDet.TRT_DriftCircleTool(name, **kwargs))
84 return acc
85
86