Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
NSWMonitorAlgorithm.py
Go to the documentation of this file.
1 #
2 #Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from AthenaConfiguration.ComponentFactory import CompFactory
6 
7 def 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 
60 if __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)
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
Constants
some useful constants -------------------------------------------------—
NSWMonitorAlgorithm.NSWMonitoringCfg
def NSWMonitoringCfg(inputFlags)
Definition: NSWMonitorAlgorithm.py:7
python.MuonGeometryConfig.MuonGeoModelCfg
def MuonGeoModelCfg(flags)
Definition: MuonGeometryConfig.py:28
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69