21 if flags.Trigger.FPGATrackSim.GenScan.initialLayerStudy:
22 cutset = {
"rin": flags.Trigger.FPGATrackSim.GenScan.rin,
23 "rout": flags.Trigger.FPGATrackSim.GenScan.rout,
24 "parBins": flags.Trigger.FPGATrackSim.GenScan.parBins,
25 "parMin": flags.Trigger.FPGATrackSim.GenScan.parMin,
26 "parMax": flags.Trigger.FPGATrackSim.GenScan.parMax,
27 "parSet": flags.Trigger.FPGATrackSim.GenScan.parSet
29 log.info(
"Running initial layer study, taking FPGATrackSimBinning cuts from flags")
32 if flags.Trigger.FPGATrackSim.oldRegionDefs:
33 cutset = importlib.import_module(flags.Trigger.FPGATrackSim.GenScan.genScanCuts).cuts[flags.Trigger.FPGATrackSim.region]
37 relpath = os.path.join(flags.Trigger.FPGATrackSim.mapsDir, flags.Trigger.FPGATrackSim.GenScan.genScanCuts +
".py")
38 abspath = unixtools.find_datafile(relpath, pathlist=os.getenv(
"CALIBPATH").
split(
":"))
39 spec=importlib.util.spec_from_file_location(
"FPGATrackSimGenScanCuts", abspath)
40 cutmodule = importlib.util.module_from_spec(spec)
41 spec.loader.exec_module(cutmodule)
42 cutset=cutmodule.cuts[flags.Trigger.FPGATrackSim.region]
43 log.info(
"Running layer study using configured cuts file")
47 BinnnedHits = CompFactory.FPGATrackSimBinnedHits(
"BinnedHits_LayerStudy")
48 BinnnedHits.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
49 BinnnedHits.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionCfg(flags))
52 BinTool = CompFactory.FPGATrackSimBinTool(
"BinTool_LayerStudy")
53 BinTool.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
58 if (cutset[
"parSet"]==
"PhiSlicedKeyLyrPars"):
59 BinDesc = CompFactory.FPGATrackSimKeyLayerBinDesc(
"KeyLayerBinDescLayerStudy")
60 BinDesc.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
61 BinDesc.rin=cutset[
"rin"]
62 BinDesc.rout=cutset[
"rout"]
65 step1 = CompFactory.FPGATrackSimBinStep(
"PhiBinning")
66 step1.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
67 step1.parBins = [1,1,cutset[
"parBins"][2],cutset[
"parBins"][3],cutset[
"parBins"][4]]
68 step2 = CompFactory.FPGATrackSimBinStep(
"FullBinning")
69 step2.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
70 step2.parBins = cutset[
"parBins"]
71 binsteps = [step1,step2]
73 log.fatal(
"Unknown Binning Setup: ",cutset[
"parSet"])
75 BinTool.BinDesc = BinDesc
76 BinTool.Steps = binsteps
80 BinTool.d0FractionalPadding =0.05
81 BinTool.z0FractionalPadding =0.05
82 BinTool.etaFractionalPadding =0.05
83 BinTool.phiFractionalPadding =0.05
84 BinTool.qOverPtFractionalPadding =0.05
85 BinTool.parMin = cutset[
"parMin"]
86 BinTool.parMax = cutset[
"parMax"]
87 BinnnedHits.BinTool = BinTool
89 result.setPrivateTools(BinnnedHits)