6def CreateITkMisalignAlgCfg(flags, name="CreateITkMisalignAlg", **kwargs):
7
8 result = ComponentAccumulator()
9
10 if flags.Detector.EnableITkPixel:
11 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
12 result.merge(ITkPixelReadoutGeometryCfg(flags))
13 kwargs.setdefault("PixelDetEleCollKey","ITkPixelDetectorElementCollection")
14 else:
15 kwargs.setdefault("PixelDetEleCollKey","")
16
17 if flags.Detector.EnableITkStrip:
18 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
19 result.merge(ITkStripReadoutGeometryCfg(flags))
20 kwargs.setdefault("SCTDetEleCollKey","ITkStripDetectorElementCollection")
21 else:
22 kwargs.setdefault("SCTDetEleCollKey","")
23
24 from InDetAlignGenTools.InDetAlignGenToolsConfig import ITkAlignDBTool
25 dbTool = result.popToolsAndMerge(ITkAlignDBTool(flags))
26
27 kwargs.setdefault("IDAlignDBTool",dbTool)
28 kwargs.setdefault("TRTDetEleCollKey","")
29
30 histoSvc = CompFactory.THistSvc(Output = ["IDENTIFIERTREE DATAFILE='ITkIdentifierTree.root' TYPE='ROOT' OPT='RECREATE'"])
31 result.addService( histoSvc )
32 ntupSvc = CompFactory.NTupleSvc(Output = ["CREATEMISALIGN DATAFILE='CreateMisalignmentITk.root' TYP='ROOT' OPT='NEW'"])
33 result.addService( ntupSvc )
34 result.setAppProperty("HistogramPersistency","ROOT")
35
36 result.addEventAlgo(CompFactory.InDetAlignment.CreateMisalignAlg(name,**kwargs))
37 return result
38