3 @file FPGATrackSimBankGenConfig.py
4 @author Riley Xu - rixu@cern.ch
6 @brief This file declares functions to configure components in FPGATrackSimBankGen
11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
13 from FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import FPGATrackSimRoadUnionToolCfg,FPGATrackSimRoadUnionTool1DCfg,FPGATrackSimRawLogicCfg
19 SpacePointTool = CompFactory.FPGATrackSimSpacePointsTool()
20 SpacePointTool.Filtering = flags.Trigger.FPGATrackSim.ActiveConfig.spacePointFiltering
21 SpacePointTool.FilteringClosePoints =
False
22 SpacePointTool.PhiWindow = 0.004
23 SpacePointTool.Duplication =
True
24 result.setPrivateTools(SpacePointTool)
28 newFlags = flags.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag)
34 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
37 from TrkConfig.TrkTruthCreatorToolsConfig
import TruthToTrackToolCfg
40 FPGATrackSimSGInputTool = CompFactory.FPGATrackSimSGToRawHitsTool(maxEta=5.0, minPt=0.8 * GeV,
41 dumpHitsOnTracks=
False,
42 dumpTruthIntersections=
False,
43 ReadOfflineClusters=
False,
45 ReadOfflineTracks=
False,
46 UseNominalOrigin =
True,
47 Extrapolator = MyExtrapolator,
48 TruthToTrackTool = MyTruthToTrack )
49 result.setPrivateTools(FPGATrackSimSGInputTool)
56 theFPGATrackSimMatrixGenAlg = CompFactory.FPGATrackSimMatrixGenAlgo()
57 theFPGATrackSimMatrixGenAlg.Clustering =
True
58 theFPGATrackSimMatrixGenAlg.IdealiseGeometry = 2
59 theFPGATrackSimMatrixGenAlg.SingleSector =
False
60 theFPGATrackSimMatrixGenAlg.HoughConstants =
True
61 theFPGATrackSimMatrixGenAlg.DeltaPhiConstants =
False
62 theFPGATrackSimMatrixGenAlg.PT_THRESHOLD = 1.0
63 theFPGATrackSimMatrixGenAlg.D0_THRESHOLD = 2.0
64 theFPGATrackSimMatrixGenAlg.TRAIN_PDG = 13
65 theFPGATrackSimMatrixGenAlg.NBanks = 1
67 theFPGATrackSimMatrixGenAlg.SpacePoints =
True
69 theFPGATrackSimMatrixGenAlg.minSpacePlusPixel = flags.Trigger.FPGATrackSim.minSpacePlusPixel
72 theFPGATrackSimMatrixGenAlg.WCmax = 2
74 theFPGATrackSimMatrixGenAlg.FPGATrackSimRawToLogicalHitsTool = acc.getPrimaryAndMerge(
FPGATrackSimRawLogicCfg(flags))
76 if (flags.Trigger.FPGATrackSim.ActiveConfig.hough1D):
82 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
86 theFPGATrackSimMatrixGenAlg.FPGATrackSimClusteringFTKTool = CompFactory.FPGATrackSimClusteringTool()
89 import FPGATrackSimConfTools.FPGATrackSimTagConfig
as FPGATrackSimTagConfig
90 bank_tag = FPGATrackSimTagConfig.getTags(stage=
'bank')[
'bank']
91 theFPGATrackSimMatrixGenAlg.sectorQPtBins = bank_tag[
'sectorQPtBins']
92 theFPGATrackSimMatrixGenAlg.qptAbsBinning = bank_tag[
'qptAbsBinning']
94 acc.addEventAlgo(theFPGATrackSimMatrixGenAlg)
99 if __name__ ==
"__main__":
100 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
101 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
103 from AthenaCommon.Logging
import logging
104 log = logging.getLogger(__name__)
107 flags.Trigger.FPGATrackSim.Hough.IdealGeoRoads =
False
116 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
120 acc.store(
open(
'FPGATrackSimMapMakerConfig.pkl',
'wb'))
122 from AthenaConfiguration.Utils
import setupLoggingLevels
125 MatrixFileName=
"matrix.root"
126 acc.addService(CompFactory.THistSvc(Output = [
"TRIGFPGATrackSimMATRIXOUT DATAFILE='"+MatrixFileName+
"', OPT='RECREATE'"]))
128 statusCode = acc.run()
129 assert statusCode.isSuccess()
is True,
"Application execution did not succeed"