ATLAS Offline Software
Loading...
Searching...
No Matches
NSWMonitorAlgorithm.py
Go to the documentation of this file.
2#Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3#
4
5from AthenaConfiguration.ComponentFactory import CompFactory
6
7def NSWMonitoringCfg(inputFlags):
8
9 import math
10
11
14 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
15 result = ComponentAccumulator()
16 # Make sure muon geometry is configured
17 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
18
19 result.merge(MuonGeoModelCfg(inputFlags))
20
21 # The following class will make a sequence, configure algorithms, and link
22 # them to GenericMonitoringTools
23
24 from AthenaMonitoring import AthMonitorCfgHelper
25 helper = AthMonitorCfgHelper(inputFlags,'NSWAthMonitorCfg')
26
27 # Adding an algorithm to the helper.
28
29 nswMonAlg = helper.addAlgorithm(CompFactory.NSWDataMonAlg,'NSWMonAlg')
30
31 NSWMonGroup=helper.addGroup(nswMonAlg, "NSWMonGroup", "Muon/MuonRawDataMonitoring/NSW")
32
33
34
35 NSWMonGroup.defineHistogram('sector,phi_mu_sideA;s_phi_track_sideA', type='TH2F', title='NSWheel; sector; phi', path='Test', xbins=20, xmin=0, xmax=20, ybins=63, ymin=-math.pi, ymax=math.pi, opt='kAlwaysCreate')
36 NSWMonGroup.defineHistogram('sector,phi_mu_sideC;s_phi_track_sideC', type='TH2F', title='NSWheel; sector; phi', path='Test', xbins=20, xmin=0, xmax=20, ybins=63, ymin=-math.pi, ymax=math.pi, opt='kAlwaysCreate')
37
38
39 NSWMonGroup.defineHistogram('hitcut,lb,phi_mu_sideA;eff_lb_phi_track_sideA', type='TEfficiency', title='Efficiency SideA; lb; phi', path='Efficiency', xbins=600, xmin=-0.5, xmax=3000.5, ybins=32, ymin=-math.pi, ymax=math.pi, opt='kAlwaysCreate')
40 NSWMonGroup.defineHistogram('hitcut,lb,phi_mu_sideC;eff_lb_phi_track_sideC', type='TEfficiency', title='Efficiency SideC; lb; phi', path='Efficiency', xbins=600, xmin=-0.5, xmax=3000.5, ybins=32, ymin=-math.pi, ymax=math.pi, opt='kAlwaysCreate')
41
42 NSWMonGroup.defineHistogram('hitcut,lb,sector_phi;eff_lb_sector', type='TEfficiency', title='Efficiency; lb; sector', path='Efficiency', xbins=600, xmin=-0.5, xmax=3000.5, ybins=33, ymin=-16, ymax=17, opt='kAlwaysCreate') #bin 0.1
43
44 NSWMonGroup.defineHistogram('hitcut,lb_sideA;eff_lb_sideA', type='TEfficiency', title='Efficiency SideA; lb; efficiency', path='Efficiency', xbins=600, xmin=-0.5, xmax=3000.5, opt='kAlwaysCreate') #bin 0.1
45 NSWMonGroup.defineHistogram('hitcut,lb_sideC;eff_lb_sideC', type='TEfficiency', title='Efficiency SideC; lb; efficiency', path='Efficiency', xbins=600, xmin=-0.5, xmax=3000.5, opt='kAlwaysCreate') #bin 0.1
46
47
48
49 NSWMonGroup.defineHistogram('x_trk_sideA,y_trk_sideA;x_y_track_sideA', type='TH2F', title='NSWheel; x_trk; y_trk', path='Test', xbins=100, xmin=-5000, xmax=5000, ybins=100, ymin=-5000, ymax=5000, opt='kAlwaysCreate')
50 NSWMonGroup.defineHistogram('x_trk_sideC,y_trk_sideC;x_y_track_sideC', type='TH2F', title='NSWheel; x_trk; y_trk', path='Test', xbins=100, xmin=-5000, xmax=5000, ybins=100, ymin=-5000, ymax=5000, opt='kAlwaysCreate')
51
52 NSWMonGroup.defineHistogram('hitcut,x_trk_sideA,y_trk_sideA;eff_x_y_track_sideA', type='TEfficiency', title='efficiency; x_trk; y_trk', path='Efficiency', xbins=100, xmin=-5000, xmax=5000, ybins=100, ymin=-5000, ymax=5000, opt='kAlwaysCreate')
53 NSWMonGroup.defineHistogram('hitcut,x_trk_sideC,y_trk_sideC;eff_x_y_track_sideC', type='TEfficiency', title='efficiency; x_trk; y_trk', path='Efficiency', xbins=100, xmin=-5000, xmax=5000, ybins=100, ymin=-5000, ymax=5000, opt='kAlwaysCreate')
54
55
56 acc = helper.result()
57 result.merge(acc)
58 return result
59
60if __name__=='__main__':
61 from AthenaCommon.Constants import DEBUG
62
63 # Set the Athena configuration flags
64 from AthenaConfiguration.AllConfigFlags import initConfigFlags
65 flags = initConfigFlags()
66
67 flags.Input.Files =[
68 '/eos/atlas/atlastier0/rucio/data24_13p6TeV/express_express/00481182/data24_13p6TeV.00481182.express_express.recon.ESD.x854/data24_13p6TeV.00481182.express_express.recon.ESD.x854._lb0800._SFO-ALL._0001.1',
69 ]
70 flags.Output.HISTFileName = 'monitor_nsw.root'
71
72 flags.Detector.GeometryMM=True
73 flags.DQ.useTrigger=False
74 flags.Input.isMC = False
75 if not flags.Input.isMC:
76 flags.IOVDb.GlobalTag = "CONDBR2-BLKPA-2022-10"
77
78 flags.lock()
79 flags.dump()
80 # Initialize configuration object, add accumulator, merge, and run.
81 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
82 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
83 cfg = MainServicesCfg(flags)
84 cfg.merge(PoolReadCfg(flags))
85
86 nswMonitorAcc = NSWMonitoringCfg(flags)
87 #nswMonitorAcc = NSWMonitoringConfig(flags)
88 nswMonitorAcc.OutputLevel=DEBUG
89 cfg.merge(nswMonitorAcc)
90 #cfg.printConfig(withDetails=True, summariseProps = True)
91 # number of events selected in the ESD
92 cfg.run(-1)