ATLAS Offline Software
Loading...
Searching...
No Matches
TBH6ByteStream-Monitor.py
Go to the documentation of this file.
1include( "AthenaCommon/Atlas.UnixStandardJob.py" )
2
3include( "DetDescrCnvSvc/DetStore_joboptions.py" )
4
5DetDescrCnvSvc = Service( "DetDescrCnvSvc" )
6DetDescrCnvSvc.DetectorManagers+= ["CaloTTDescrManager"]
7DetDescrCnvSvc.DetectorManagers += [ "CaloMgr" ]
8
9# include( "LArDetMgrDetDescrCnv/LArDetMgrDetDescrCnv_joboptions.py" )
10# include( "LArDetMgrDetDescrCnv/LArDetMgrDetDescrCnv_H8_joboptions.py" )
11include( "LArDetMgrDetDescrCnv/LArDetMgrDetDescrCnv_H6_joboptions.py" )
12#
13#---- ByteStream-Files input --------------------
14#
15
16include( "TBCnv/TBReadH6BS_jobOptions.py" )
17ByteStreamInputSvc = Service( "ByteStreamInputSvc" )
18# ByteStreamInputSvc.inputFiles = ["MyRawEvent.re"]
19# With H6 - See also TBReadH6BS_jobOptions.py !!
20# ByteStreamInputSvc.inputFiles = ["bytestream.out"]
21# ByteStreamInputSvc.inputFiles = ["/scratchdisk/rmcphers/data/run240.dat"]
22#ByteStreamInputSvc.inputFiles = ["/scratchdisk/rmcphers/data/run370.dat"]
23ByteStreamInputSvc.inputFiles = [ "/raid/bytestream/phys/run590.bstr" ]
24
25
26ToolSvc = Service( "ToolSvc" )
27
28ToolSvc.TBByteStreamCnvTool.Dump = FALSE
29ToolSvc.TBByteStreamCnvTool.OutputLevel = WARNING
30
31#--- Monitoring ---------------------------
32
33theApp.TopAlg += [ "TBAlgoSequencer/Seq1" ]
34
35theApp.Dlls += [ "AthenaMonitoring"]
36
37Seq1 = Algorithm( "Seq1" )
38
39Seq1.SubAlgorithms = [
40 "TBEventStreamer/BeamStreamer",
41 "TBBPCRec/TBBPCRec",
42# "ReadTBLArDigits",
43 "AthenaMon/TBMon1",
44 "AthenaMon/LArMon1",
45 "TBLArRawChannelBuilder",
46 "CaloCellMaker/CaloCellMaker",
47 "AthenaMon/CaloMonitor" ]
48
49#
50# Event selection (streaming)
51#
52# add some documentation
53#
54BeamStreamer = Algorithm( "BeamStreamer" )
55#
56BeamStreamer.ToolNames = [ "TBPatternUnitStreamerTool/BitSelector" ]
57#
58BeamStreamer.BitSelector.AcceptPattern = [ "S1", "S2", "S3" ]
59BeamStreamer.BitSelector.RejectPattern = [ "VetoLeft",
60 "VetoRight",
61 "VetoUp",
62 "VetoDown",
63 "HoleVeto",
64 "EarlyPU",
65 "LatePU" ]
66
67TBBPCRec = Algorithm("TBBPCRec")
68include( "TBRec/H6BPCRec_jobOptions.py" )
69TBBPCRec.OutputLevel = WARNING
70
71#ReadTBLArDigits = Algorithm( "ReadTBLArDigits" )
72#ReadTBLArDigits.ContainerKey="FREE"
73#ReadTBLArDigits.DumpFile="TBLArDigits.txt"
74#ReadTBLArDigits.PrintCellLocation=TRUE
75#ReadTBLArDigits.OutputLevel=3
76#NtupleSvc = Service( "NtupleSvc" )
77#NtupleSvc.Output=["FILE1 DATAFILE='TBLArDigits.root' TYP='ROOT' OPT='NEW'"]
78
79#ReadLArDigits = Algorithm( "ReadLArDigits" )
80#ReadLArDigits.ContainerKey="FREE"
81#ReadLArDigits.DumpFile="LArDigits.txt"
82#ReadLArDigits.PrintCellLocation=TRUE
83#ReadLArDigits.OutputLevel=3
84
85TBLArRawChannelBuilder = Algorithm("TBLArRawChannelBuilder");
86TBLArRawChannelBuilder.OutputLevel = INFO
87TBLArRawChannelBuilder.maxSamp = 8
88TBLArRawChannelBuilder.RecoMode = "CUBIC"
89TBLArRawChannelBuilder.CubicAdcCut = 10.
90
91include ("CaloRec/CaloCellMakerFromRaw_H6_jobOptions.py" )
92
93theApp.Dlls += [ "TBMonitoring" ]
94theApp.Dlls += [ "LArMonitoring" ]
95
96TBMon1 = Algorithm( "TBMon1" )
97LArMon1 = Algorithm( "LArMon1" )
98
99tdcbinnum = 100
100tdcmin = 0
101tdcmax = 1023
102
103bpcmin = -70*mm
104bpcmax = 70*mm
105bpcbinnum = 70
106
107# ------------- BPC Monitor -------
108TBMon1.AthenaMonTools += ["TBBPCMonTool/BPCmon"]
109ToolSvc.BPCmon.MonitorBPC = TRUE
110ToolSvc.BPCmon.MonitorBPCRaw = TRUE
111ToolSvc.BPCmon.FakeDetectors = FALSE
112# H6 BPCs
113ToolSvc.BPCmon.BPCNames = ["BPC0","BPC1","BPC2","BPC3","BPC4","BPC5"]
114ToolSvc.BPCmon.BPCMaxPos = bpcmax
115ToolSvc.BPCmon.BPCMinPos = bpcmin
116ToolSvc.BPCmon.BPCBinNum = bpcbinnum
117ToolSvc.BPCmon.TDCBinNum = tdcbinnum
118ToolSvc.BPCmon.TDCMax = tdcmax
119ToolSvc.BPCmon.TDCMin = tdcmin
120#ToolSvc.BPCmon.OutputLevel =3
121
122# # ------------- Scint Monitor -------
123#TBMon1.AthenaMonTools += ["TBScintillatorMonTool/Scintmon"]
124#ToolSvc.Scintmon.FakeDetectors = FALSE
125# # H6 scint names :
126#ToolSvc.Scintmon.ScintNames = ["S1","S2","S3", "B",
127# "Veto",
128# "muon1","muon2","muon3","muon4",
129# "muon5","muon6","muon7","muon8",]
130
131#ToolSvc.Scintmon.TDCBinNum = tdcbinnum
132#ToolSvc.Scintmon.TDCMax = tdcmax
133#ToolSvc.Scintmon.TDCMin = tdcmin
134#ToolSvc.Scintmon.OutputLevel =3
135
136# ------------- Scint Monitor -------
137# TBMon1.AthenaMonTools += ["TBTailCatcherRawMonTool/TCmon"]
138
139#------------- ADC Monitor -------
140TBMon1.AthenaMonTools += ["TBADCRawMonTool/ADCmon"]
141ToolSvc.ADCmon.TestADCMonTool = FALSE
142include( "TBCnv/H6ADCChannelNames.py" ) # list of ADC
143ToolSvc.ADCmon.ADCBinNum = tdcbinnum
144ToolSvc.ADCmon.ADCMax = tdcmax
145ToolSvc.ADCmon.ADCMin = tdcmin
146
147#------------- TDC Monitor -------
148TBMon1.AthenaMonTools += ["TBTDCRawMonTool/TDCmon"]
149ToolSvc.TDCmon.TestTDCMonTool = FALSE
150include( "TBCnv/H6TDCChannelNames.py" ) # list of TDC
151ToolSvc.TDCmon.TDCBinNum = tdcbinnum
152ToolSvc.TDCmon.TDCMax = tdcmax
153ToolSvc.TDCmon.TDCMin = tdcmin
154
155#------------- LArDigitMonitoring -------------
156LArMon1.AthenaMonTools += ["LArDigMonTool<LArDigitContainer>/pedmon0"]
157ToolSvc.pedmon0.histoPathBase = "/stat/pedsamp0"
158ToolSvc.pedmon0.digitKey = "FREE"
159# ToolSvc.pedmon0.maxSamp = 3
160ToolSvc.pedmon0.pedMode = "SAMPLE"
161ToolSvc.pedmon0.pedSamp = 0
162#ToolSvc.pedmon0.OutputLevel = 3
163
164#------------- CaloResponse Monitoring ---------
165CaloMonitor = Algorithm( "CaloMonitor" )
166CaloMonitor.AthenaMonTools += [ "TBCaloResponseMonTool/calMonitor" ]
167ToolSvc.calMonitor.OutputLevel = INFO
168# output
169ToolSvc.calMonitor.histoPathBase = "/stat/calomon"
170# input
171ToolSvc.calMonitor.CellContainerName = "AllCalo" # CaloCellContainer
172ToolSvc.calMonitor.BPCContainerName = "BPCCont" # TBBPCCont
173#
174# IncludedCalos: possible are LAREM, LARHEC, LARFCAL, TILE, or
175# H6CALO = LAREM, LARHEC, LARFCAL
176# H8CALO = LAREM, TILE
177#
178H8CALO = [ "LAREM", "TILE" ]
179H6CALO = [ "LAREM", "LARHEC", "LARFCAL" ]
180ToolSvc.calMonitor.IncludedCalos = H6CALO
181#
182# IncludedSamplings: possible are PreSamplerB, EMB1, EMB2, EMB3,
183# PreSamplerE, EME1, EME2, EME3,
184# TileBar0, TileBar1, TileBar2,
185# TileGap1, TileGap2, TileGap3,
186# TileExt0, TileExt1, TileExt2,
187# FCal1, FCal2, FCal3
188# or
189# H6Samplings = EME2, EME3,
190# HEC0, HEC1, HEC2
191# FCal1, FCal2, FCal3
192# H8Samplings = PreSamplerB,
193# EMB1, EMB2, EMB3,
194# TileBar0, TileBar1, TileBar2
195#
196H6Samplings = [ "EME2", "EME3", "HEC0", "HEC1", "HEC2",
197 "FCal1", "FCal2", "FCal3" ]
198H8Samplings = [ "PreSamplerB", "EMB1", "EMB2", "EMB3",
199 "TileBar0", "TileBar1", "TileBar2" ]
200ToolSvc.calMonitor.IncludedSamplings = H6Samplings
201# calorimeter energy histogram definitions
202ToolSvc.calMonitor.CaloEnergyBins = 100
203ToolSvc.calMonitor.CaloEnergyMin = -10.*GeV
204ToolSvc.calMonitor.CaloEnergyMax = 390.*GeV
205# calorimeter eta range
206ToolSvc.calMonitor.CaloEtaBins = 35
207ToolSvc.calMonitor.CaloEtaMin = 1.5
208ToolSvc.calMonitor.CaloEtaMax = 5.0
209# calorimeter phi range
210ToolSvc.calMonitor.CaloPhiBins = 64
211ToolSvc.calMonitor.CaloPhiMin = 90.*deg
212ToolSvc.calMonitor.CaloPhiMax = 180.*deg
213# BPC x/y ranges
214ToolSvc.calMonitor.BPCXBins = bpcbinnum
215ToolSvc.calMonitor.BPCXMin = bpcmin
216ToolSvc.calMonitor.BPCXMax = bpcmax
217ToolSvc.calMonitor.BPCYBins = bpcbinnum
218ToolSvc.calMonitor.BPCYMin = bpcmin
219ToolSvc.calMonitor.BPCYMax = bpcmax
220# average profile configurations
221ToolSvc.calMonitor.MinEventsInBin = 20
222# display unit switches
223ToolSvc.calMonitor.EnergyUnits = GeV
224ToolSvc.calMonitor.LengthUnits = mm
225ToolSvc.calMonitor.AngleUnits = rad
226# -- use root histos --
227theApp.Dlls += [ "RootHistCnv" ]
228theApp.HistogramPersistency = "ROOT"
229HistogramPersistencySvc = Service( "HistogramPersistencySvc" )
230HistogramPersistencySvc.OutputFile = "/home/lochp/scan-136.root"
231
232# -- Use auditors --
233#theApp.Dlls += [ "GaudiAud" ]
234# write out a summary of the time spent
235#
236#theAuditorSvc = AuditorSvc()
237#theAuditorSvc.Auditors += [ "ChronoAuditor"]
238# write out a short message upon entering or leaving each algorithm
239#
240# AuditorSvc.Auditors += { "NameAuditor" };
241#-------------------------------------------------------------------------
242# user driving parameters
243#
244# Number of events to be processed (default is 10)
245theApp.EvtMax = 100000
246
247# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
248MessageSvc = Service( "MessageSvc" )
249MessageSvc.OutputLevel = INFO
250
251AthenaEventLoopMgr = Service( "AthenaEventLoopMgr" )
252AthenaEventLoopMgr.OutputLevel = WARNING
253
254# Dump all objects available
255#StoreGateSvc = Service( "StoreGateSvc" )
256#StoreGateSvc.Dump = TRUE