ATLAS Offline Software
Loading...
Searching...
No Matches
TgcRawDataMonitorAlgorithm.py
Go to the documentation of this file.
2# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3#
4
5'''
6@file TgcRawDataMonitorAlgorithm.py
7@author M.Aoki
8@date 2019-10-03
9@brief Python configuration for the Run III AthenaMonitoring package for TGC
10'''
11
13 from AthenaConfiguration.ComponentFactory import CompFactory
14 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
15 from AthenaConfiguration.Enums import Format
16 result = ComponentAccumulator()
17
18 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
19 result.merge(AtlasFieldCacheCondAlgCfg(inputFlags))
20
21 from AthenaMonitoring import AthMonitorCfgHelper
22 helper = AthMonitorCfgHelper(inputFlags,'TgcRawDataMonitorCfg')
23
24 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
25 extrapolator = result.popToolsAndMerge(AtlasExtrapolatorCfg(inputFlags))
26
27 tgcRawDataMonitorTool = CompFactory.TgcRawDataMonitorTool("TgcRawDataMonitorTool")
28
29 from MuonSelectorTools.MuonSelectorToolsConfig import MuonSelectionToolCfg
30 tgcRawDataMonAlg = helper.addAlgorithm(CompFactory.TgcRawDataMonitorAlgorithm,'TgcRawDataMonAlg',
31 TrackExtrapolator = extrapolator,
32 TgcRawDataMonitorTool = tgcRawDataMonitorTool,
33 MuonSelectionTool = result.popToolsAndMerge(MuonSelectionToolCfg(inputFlags,
34 MuQuality=1,
35 MaxEta=2.7)),
36 doExpressProcessing = inputFlags.Common.doExpressProcessing )
37
38 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
39 result.merge( TrackingGeometryCondAlgCfg(inputFlags ) )
40
41 doGapByGapHitOcc = True
42 doGapByGapEffMap = False
43 doHitResiduals = True
44
45 tgcRawDataMonAlg.FillGapByGapHistograms = (doGapByGapHitOcc or doGapByGapEffMap or doHitResiduals)
46
47 tgcRawDataMonAlg.GRLTool = ""
48
49 tgcRawDataMonAlg.UseOnlyCombinedMuons = True
50 tgcRawDataMonAlg.UseOnlyMuidCoStacoMuons = True
51 tgcRawDataMonAlg.UseMuonSelectorTool = True
52
53 tgcRawDataMonAlg.MonitorThresholdPatterns = True
54 tgcRawDataMonAlg.ThrPatternList = "MU3V,MU3VF,MU3VC,MU5VF,MU8F,MU8FC,MU9VF,MU9VFC,MU8VF,MU8VFC,MU14FCH,MU14FCHR,MU15VFCH,MU15VFCHR,MU18VFCH,MU10BOM,MU12BOM,MU8FH,MU20VFC,MU12FCH,MU4BOM,MU4BO,MU10BO,MU14EOF,MU8EOF,MU3EOF,"
55
56 tgcRawDataMonAlg.TagAndProbe = True
57 tgcRawDataMonAlg.TagAndProbeZmumu = False
58
59 if not inputFlags.DQ.triggerDataAvailable:
60 tgcRawDataMonAlg.MuonRoIContainerName = ''
61 tgcRawDataMonAlg.MuonRoIContainerBCm2Name = ''
62 tgcRawDataMonAlg.MuonRoIContainerBCm1Name = ''
63 tgcRawDataMonAlg.MuonRoIContainerBCp1Name = ''
64 tgcRawDataMonAlg.MuonRoIContainerBCp2Name = ''
65 tgcRawDataMonAlg.TagAndProbe = False
66 tgcRawDataMonAlg.MonitorThresholdPatterns = False
67 tgcRawDataMonAlg.ThrPatternList = ''
68 tgcRawDataMonAlg.MonitorTriggerMultiplicity = False
69 tgcRawDataMonAlg.CtpDecisionMoniorList = ''
70 tgcRawDataMonAlg.UseMuonSelectorTool = False
71
72 if inputFlags.Trigger.EDMVersion < 3: # Run2 and before
73 tgcRawDataMonAlg.MuonRoIContainerBCm2Name = ''
74 tgcRawDataMonAlg.MuonRoIContainerBCm1Name = ''
75 tgcRawDataMonAlg.MuonRoIContainerBCp1Name = ''
76 tgcRawDataMonAlg.MuonRoIContainerBCp2Name = ''
77 tgcRawDataMonAlg.MuRoIThresholdPatternsKey = ''
78 tgcRawDataMonAlg.TgcCoinDataContainerNextNextBCName = ''
79 tgcRawDataMonAlg.MonitorThresholdPatterns = False
80
81 if inputFlags.Input.Format is Format.BS or 'TGC_MeasurementsAllBCs' in inputFlags.Input.Collections:
82 tgcRawDataMonAlg.AnaTgcPrd=True
83 if inputFlags.Input.Format is Format.BS or ('TrigT1CoinDataCollection' in inputFlags.Input.Collections and
84 'TrigT1CoinDataCollectionNextBC' in inputFlags.Input.Collections and
85 'TrigT1CoinDataCollectionPriorBC' in inputFlags.Input.Collections ):
86 tgcRawDataMonAlg.AnaTgcCoin=True
87
88 mainDir = 'Muon/MuonRawDataMonitoring/TGC/'
89 import math
90
91 myGroup = helper.addGroup(tgcRawDataMonAlg,'TgcRawDataMonitor',mainDir)
92
93
94 commonPath = 'EventInfo/'
95 myGroupCommon = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_Common', mainDir)
96 myGroupCommon.defineHistogram('mon_lb;TgcMon_LuminosityBlock',title='Luminosity Block;Luminosity Block;Number of events',
97 path=commonPath,type='TH1F',xbins=10,xmin=0,xmax=10,opt='kAddBinsDynamically', merge='merge')
98 myGroupCommon.defineHistogram('mon_bcid;TgcMon_BCID',title='BCID;BCID;Number of events',
99 path=commonPath,type='TH1F',xbins=4096,xmin=-0.5,xmax=4095.5)
100 myGroupCommon.defineHistogram('mon_pileup;TgcMon_Pileup',title='Pileup;Pileup;Number of events',
101 path=commonPath,type='TH1F',xbins=101,xmin=-0.5,xmax=100.5)
102 myGroupCommon.defineHistogram('mon_primvtx_z;TgcMon_PrimaryVertexZ',title='Primary Vertex Z;Primary Vertex Z [mm];Number of events',
103 path=commonPath,type='TH1F',xbins=100,xmin=-200.,xmax=200.)
104
105 muonPath = 'Muon/'
106 myGroupMuon = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_Muon', mainDir)
107 myGroupMuon.defineHistogram('oflmuon_num;TgcMon_OfflineMuon_num',title='OfflineMuon_num;OfflineMuon num per event;Number of events',
108 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
109 myGroupMuon.defineHistogram('oflmuon_muonType;TgcMon_OfflineMuon_muonType',title='OfflineMuon_muonType;OfflineMuon muonType;Number of events',
110 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
111 myGroupMuon.defineHistogram('oflmuon_author;TgcMon_OfflineMuon_author',title='OfflineMuon_author;OfflineMuon author;Number of events',
112 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
113 myGroupMuon.defineHistogram('oflmuon_quality;TgcMon_OfflineMuon_quality',title='OfflineMuon_quality;OfflineMuon quality;Number of events',
114 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
115 myGroupMuon.defineHistogram('oflmuon_pt;TgcMon_OfflineMuon_Pt',title='OfflineMuon_Pt;OfflineMuon pT [GeV];Number of events',
116 path=muonPath,type='TH1F',xbins=100,xmin=0,xmax=100)
117 myGroupMuon.defineHistogram('oflmuon_eta,oflmuon_phi;TgcMon_OfflineMuon_EtaVsPhi',title='OfflineMuon_EtaVsPhi;OfflineMuon Eta;OfflineMuon Phi',
118 path=muonPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
119 myGroupMuon.defineHistogram('oflmuon_pvdz;TgcMon_OfflineMuon_pvdz',title='OfflineMuon_PVDZ;Delta Z [mm];Number of events',
120 path=muonPath,type='TH1F',xbins=100,xmin=-100,xmax=100)
121 myGroupMuon.defineHistogram('oflmuon_pvdca;TgcMon_OfflineMuon_pvdca',title='OfflineMuon_PVDCA;DCA [mm];Number of events',
122 path=muonPath,type='TH1F',xbins=100,xmin=-5,xmax=5)
123
124 myGroupMuon.defineHistogram('oflmuon_probe_num;TgcMon_OfflineMuon_Probe_num',title='OfflineMuon_Probe_num;OfflineMuon num per event;Number of events',
125 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
126 myGroupMuon.defineHistogram('oflmuon_probe_muonType;TgcMon_OfflineMuon_Probe_muonType',title='OfflineMuon_Probe_muonType;OfflineMuon muonType;Number of events',
127 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
128 myGroupMuon.defineHistogram('oflmuon_probe_author;TgcMon_OfflineMuon_Probe_author',title='OfflineMuon_Probe_author;OfflineMuon author;Number of events',
129 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
130 myGroupMuon.defineHistogram('oflmuon_probe_quality;TgcMon_OfflineMuon_Probe_quality',title='OfflineMuon_Probe_quality;OfflineMuon quality;Number of events',
131 path=muonPath,type='TH1F',xbins=21,xmin=-0.5,xmax=20.5)
132 myGroupMuon.defineHistogram('oflmuon_probe_pt;TgcMon_OfflineMuon_Probe_Pt',title='OfflineMuon_Probe_Pt;OfflineMuon pT [GeV];Number of events',
133 path=muonPath,type='TH1F',xbins=100,xmin=0,xmax=100)
134 myGroupMuon.defineHistogram('oflmuon_probe_eta,oflmuon_probe_phi;TgcMon_OfflineMuon_Probe_EtaVsPhi',title='OfflineMuon_Probe_EtaVsPhi;OfflineMuon Eta;OfflineMuon Phi',
135 path=muonPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
136 myGroupMuon.defineHistogram('oflmuon_probe_pvdz;TgcMon_OfflineMuon_Probe_pvdz',title='OfflineMuon_Probe_PVDZ;Delta Z [mm];Number of events',
137 path=muonPath,type='TH1F',xbins=100,xmin=-100,xmax=100)
138 myGroupMuon.defineHistogram('oflmuon_probe_pvdca;TgcMon_OfflineMuon_Probe_pvdca',title='OfflineMuon_Probe_PVDCA;DCA [mm];Number of events',
139 path=muonPath,type='TH1F',xbins=100,xmin=-5,xmax=5)
140
141 myGroupMuon.defineHistogram('oflmuon_deltaR;TgcMon_OfflineMuon_DeltaR',title='OfflineMuon_DeltaR;OfflineMuon DeltaR;Number of events',
142 path=muonPath,type='TH1F',xbins=100,xmin=0,xmax=5)
143 myGroupMuon.defineHistogram('oflmuon_deltaR_roi;TgcMon_OfflineMuon_DeltaR_to_RoIs',title='OfflineMuon_DeltaR_to_RoIs;OfflineMuon DeltaR to RoIs;Number of events',
144 path=muonPath,type='TH1F',xbins=100,xmin=0,xmax=5)
145 myGroupMuon.defineHistogram('oflmuon_deltaR_hlt;TgcMon_OfflineMuon_DeltaR_to_HLTs',title='OfflineMuon_DeltaR_to_HLTs;OfflineMuon DeltaR to HLTs;Number of events',
146 path=muonPath,type='TH1F',xbins=100,xmin=0,xmax=5)
147
148
149
150 trigThrPatternsPath = 'TrigPatterns/'
151 for monTrig in tgcRawDataMonAlg.ThrPatternList.split(','):
152 if monTrig == "":continue
153 monTrigGroup = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor'+monTrig, mainDir)
154
155 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+';L1Item_MuonRoI_Evt_Eta_'+monTrig,title='L1Item_MuonRoI_Evt_Eta_'+monTrig+';MuonRoI Eta;Entries',
156 path=trigThrPatternsPath,type='TH1F',xbins=100,xmin=-2.5,xmax=2.5)
157 monTrigGroup.defineHistogram('l1item_roi_phi_rpc_'+monTrig+';L1Item_MuonRoI_Evt_Phi_RPC_'+monTrig,title='L1Item_MuonRoI_Evt_Phi_RPC_'+monTrig+';MuonRoI Phi;Entries',
158 path=trigThrPatternsPath,type='TH1F',xbins=32,xmin=-math.pi,xmax=math.pi)
159 monTrigGroup.defineHistogram('l1item_roi_phi_tgc_'+monTrig+';L1Item_MuonRoI_Evt_Phi_TGC_'+monTrig,title='L1Item_MuonRoI_Evt_Phi_TGC_'+monTrig+';MuonRoI Phi;Entries',
160 path=trigThrPatternsPath,type='TH1F',xbins=48,xmin=-math.pi,xmax=math.pi)
161
162 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_phi_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsPhi_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsPhi_'+monTrig+';MuonRoI Eta;MuonRoI Phi',
163 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
164 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_thrNumber_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsThrNumber_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsThrNumber_'+monTrig+';MuonRoI Eta;MuonRoI Threshold Number',
165 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=15,ymin=0.5,ymax=15.5)
166 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_ismorecand_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsIsMoreCand_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsIsMoreCand_'+monTrig+';MuonRoI Eta;MuonRoI IsMoreCand Flag',
167 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=3,ymin=-1.5,ymax=1.5)
168 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_bw3coin_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsBW3Coin_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsBW3Coin_'+monTrig+';MuonRoI Eta;MuonRoI BW3Coin Flag',
169 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=3,ymin=-1.5,ymax=1.5)
170 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_innercoin_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsInnerCoin_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsInnerCoin_'+monTrig+';MuonRoI Eta;MuonRoI InnerCoin Flag',
171 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=3,ymin=-1.5,ymax=1.5)
172 monTrigGroup.defineHistogram('l1item_roi_eta_'+monTrig+',l1item_roi_goodmf_'+monTrig+';L1Item_MuonRoI_Evt_EtaVsGoodMF_'+monTrig,title='L1Item_MuonRoI_Evt_EtaVsGoodMF_'+monTrig+';MuonRoI Eta;MuonRoI GoodMF Flag',
173 path=trigThrPatternsPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=3,ymin=-1.5,ymax=1.5)
174
175 monTrigGroup.defineHistogram('l1item_roi_roiNumber_'+monTrig+',l1item_roi_sector_'+monTrig+';L1Item_MuonRoI_Evt_SectorVsRoINumber_Barrel_'+monTrig,title='L1Item_MuonRoI SectorVsRoINumber Barrel '+monTrig+';RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
176 type='TH2F',cutmask='l1item_roi_barrel_'+monTrig,path=trigThrPatternsPath,xbins=29,xmin=-0.5,xmax=28.5,ybins=65,ymin=-32.5,ymax=32.5)
177 monTrigGroup.defineHistogram('l1item_roi_roiNumber_'+monTrig+',l1item_roi_sector_'+monTrig+';L1Item_MuonRoI_Evt_SectorVsRoINumber_Endcap_'+monTrig,title='L1Item_MuonRoI SectorVsRoINumber Endcap '+monTrig+';RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
178 type='TH2F',cutmask='l1item_roi_endcap_'+monTrig,path=trigThrPatternsPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
179 monTrigGroup.defineHistogram('l1item_roi_roiNumber_'+monTrig+',l1item_roi_sector_'+monTrig+';L1Item_MuonRoI_Evt_SectorVsRoINumber_Forward_'+monTrig,title='L1Item_MuonRoI SectorVsRoINumber Forward '+monTrig+';RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
180 type='TH2F',cutmask='l1item_roi_forward_'+monTrig,path=trigThrPatternsPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
181
182 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_barrel_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Barrel_sideA_'+monTrig,title='L1Item_MuonRoI PhiVsLB Barrel sideA '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
183 cutmask='l1item_roi_sideA_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=32,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
184 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_barrel_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Barrel_sideC_'+monTrig,title='L1Item_MuonRoI PhiVsLB Barrel sideC '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
185 cutmask='l1item_roi_sideC_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=32,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
186
187 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_endcap_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Endcap_sideA_'+monTrig,title='L1Item_MuonRoI PhiVsLB Endcap sideA '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
188 cutmask='l1item_roi_sideA_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
189 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_endcap_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Endcap_sideC_'+monTrig,title='L1Item_MuonRoI PhiVsLB Endcap sideC '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
190 cutmask='l1item_roi_sideC_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
191
192 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_forward_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Forward_sideA_'+monTrig,title='L1Item_MuonRoI PhiVsLB Forward sideA '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
193 cutmask='l1item_roi_sideA_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
194 monTrigGroup.defineHistogram('lumiBlock_l1item_'+monTrig+',l1item_roi_phi_forward_'+monTrig+';L1Item_MuonRoI_Evt_PhiVsLB_Forward_sideC_'+monTrig,title='L1Item_MuonRoI PhiVsLB Forward sideC '+monTrig+';Luminosity block;MuonRoI Phi',type='TH2F',
195 cutmask='l1item_roi_sideC_'+monTrig,path=trigThrPatternsPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
196
197 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_pt_rpc_l1item_'+monTrig+';L1Item_MuonRoI_Eff_Pt_RPC_'+monTrig,title='L1Item_MuonRoI_Eff_Pt_RPC_'+monTrig+';Offline muon pT [GeV];Efficiency',
198 type='TEfficiency',path=trigThrPatternsPath,xbins=50,xmin=0,xmax=50)
199 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_pt_tgc_l1item_'+monTrig+';L1Item_MuonRoI_Eff_Pt_TGC_'+monTrig,title='L1Item_MuonRoI_Eff_Pt_TGC_'+monTrig+';Offline muon pT [GeV];Efficiency',
200 type='TEfficiency',path=trigThrPatternsPath,xbins=50,xmin=0,xmax=50)
201 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_phi_rpc_l1item_'+monTrig+';L1Item_MuonRoI_Eff_Phi_RPC_'+monTrig,title='L1Item_MuonRoI_Eff_Phi_RPC_'+monTrig+';Offline muon phi [rad.];Efficiency',
202 type='TEfficiency',path=trigThrPatternsPath,xbins=32,xmin=-math.pi,xmax=math.pi)
203 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_phi_tgc_l1item_'+monTrig+';L1Item_MuonRoI_Eff_Phi_TGC_'+monTrig,title='L1Item_MuonRoI_Eff_Phi_TGC_'+monTrig+';Offline muon phi [rad.];Efficiency',
204 type='TEfficiency',path=trigThrPatternsPath,xbins=48,xmin=-math.pi,xmax=math.pi)
205 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_eta_l1item_'+monTrig+';L1Item_MuonRoI_Eff_Eta_'+monTrig,title='L1Item_MuonRoI_Eff_Eta_'+monTrig+';Offline muon eta;Efficiency',
206 type='TEfficiency',path=trigThrPatternsPath,xbins=100,xmin=-2.5,xmax=2.5)
207 monTrigGroup.defineHistogram('muon_passed_l1item_'+monTrig+',muon_eta_l1item_'+monTrig+',muon_phi_l1item_'+monTrig+';L1Item_MuonRoI_Eff_EtaVsPhi_'+monTrig,title='L1Item_MuonRoI_Eff_EtaVsPhi_'+monTrig+';Offline muon eta; Offline muon phi',
208 type='TEfficiency',path=trigThrPatternsPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
209
210
211
212 trigMultiPath = 'TrigMultiplicity/'
213 for monTrig in tgcRawDataMonAlg.CtpDecisionMoniorList.split(';'):
214 tmp = monTrig.split(',')[0]
215 objname = tmp.replace('Tit:','')
216 if objname == "":continue
217 monTrigGroup = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor'+objname, mainDir)
218
219 monTrigGroup.defineHistogram('ctpMultiplicity;'+objname+'_ctpMultiplicity',title=objname+' ctpMultiplicity;Ctp Output Multiplicity;Number of events',
220 path=trigMultiPath,xbins=11,xmin=-0.5,xmax=10.5)
221 monTrigGroup.defineHistogram('rawMultiplicity;'+objname+'_rawMultiplicity',title=objname+' rawMultiplicity;Raw Input Multiplicity;Number of events',
222 path=trigMultiPath,xbins=11,xmin=-0.5,xmax=10.5)
223 monTrigGroup.defineHistogram('countDiff;'+objname+'_L1CountDiff',title=objname+' L1CountDiff;Event-by-event N(CTP out)-N(CTP in);Number of events',
224 path=trigMultiPath,xbins=11,xmin=-5.5,xmax=5.5)
225
226 monTrigGroup.defineHistogram('roiMatching_CTPin,roiMatching_CTPout;'+objname+'_RoiMatching',title=objname+'_RoiMatching;Input;Output',
227 path=trigMultiPath,type='TH2F',xbins=2,xmin=-0.5,xmax=1.5,ybins=2,ymin=-0.5,ymax=1.5,xlabels=['NotExist','Exist'],ylabels=['NotExist','Exist'])
228
229 monTrigGroup.defineHistogram('Eta,Phi;'+objname+'_L1Count_EtaVsPhi_inOk_outOk',title=objname+'_L1Count_EtaVsPhi_inOk_outOk;MuonRoI Eta;MuonRoI Phi',
230 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
231 monTrigGroup.defineHistogram('Eta,dRmin;'+objname+'_L1Count_EtaVsdRmin_inOk_outOk',title=objname+'_L1Count_EtaVsdRmin_inOk_outOk;MuonRoI Eta;Closest dR between Muon RoIs',
232 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=11,ymin=-0.1,ymax=1.0)
233 monTrigGroup.defineHistogram('dRmin;'+objname+'_roi_dRmin_inOk_outOk',title=objname+'_roi_dRmin_inOk_outOk;Closest dR between Muon RoIs;Number of events',
234 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=11,xmin=-0.1,xmax=1.0)
235 monTrigGroup.defineHistogram('ThrNum;'+objname+'_roi_ThrNum_inOk_outOk',title=objname+'_roi_ThrNum_inOk_outOk;Threshold number (positive for barrel, negative for endcap);Number of events',
236 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=22,xmin=-15.5,xmax=6.5)
237 monTrigGroup.defineHistogram('Charge;'+objname+'_roi_Charge_inOk_outOk',title=objname+'_roi_Charge_inOk_outOk;Muon charge;Number of events',
238 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
239 monTrigGroup.defineHistogram('BW3Coin;'+objname+'_roi_BW3Coin_inOk_outOk',title=objname+'_roi_BW3Coin_inOk_outOk;TGC BW3Coin flag;Number of events',
240 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
241 monTrigGroup.defineHistogram('InnerCoin;'+objname+'_roi_InnerCoin_inOk_outOk',title=objname+'_roi_InnerCoin_inOk_outOk;TGC InnerCoin flag;Number of events',
242 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
243 monTrigGroup.defineHistogram('GoodMF;'+objname+'_roi_GoodMF_inOk_outOk',title=objname+'_roi_GoodMF_inOk_outOk;TGC GoodMF flag;Number of events',
244 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
245 monTrigGroup.defineHistogram('IsMoreCandInRoI;'+objname+'_roi_IsMoreCandInRoI_inOk_outOk',title=objname+'_roi_IsMoreCandInRoI_inOk_outOk;RPC IsMoreCandInRoI flag;Number of events',
246 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
247 monTrigGroup.defineHistogram('PhiOverlap;'+objname+'_roi_PhiOverlap_inOk_outOk',title=objname+'_roi_PhiOverlap_inOk_outOk;PhiOverlap flag;Number of events',
248 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
249 monTrigGroup.defineHistogram('EtaOverlap;'+objname+'_roi_EtaOverlap_inOk_outOk',title=objname+'_roi_EtaOverlap_inOk_outOk;EtaOverlap flag;Number of events',
250 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
251 monTrigGroup.defineHistogram('dRmin,PhiOverlap;'+objname+'_roi_dRminVsPhiOverlap_inOk_outOk',
252 title=objname+'_roi_dRminVsPhiOverlap_inOk_outOk;Closest dR between Muon RoIs;PhiOverlap flag',
253 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=3,ymin=-1.5,ymax=1.5)
254 monTrigGroup.defineHistogram('isVetoed;'+objname+'_roi_isVetoed_inOk_outOk',title=objname+'_roi_isVetoed_inOk_outOk;isVetoed flag;Number of events',
255 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
256 monTrigGroup.defineHistogram('dRmin,isVetoed;'+objname+'_roi_dRminVsisVetoed_inOk_outOk',
257 title=objname+'_roi_dRminVsisVetoed_inOk_outOk;Closest dR between Muon RoIs;isVetoed flag',
258 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=2,ymin=-0.5,ymax=1.5)
259 monTrigGroup.defineHistogram('Eta,isVetoed;'+objname+'_roi_EtaVsisVetoed_inOk_outOk',
260 title=objname+'_roi_EtaVsisVetoed_inOk_outOk;MuonRoI Eta;isVetoed flag',
261 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=2,ymin=-0.5,ymax=1.5)
262 monTrigGroup.defineHistogram('Eta,pTdiff;'+objname+'_L1Count_EtaVspTdiff_inOk_outOk',title=objname+'_L1Count_EtaVspTdiff_inOk_outOk;MuonRoI Eta;pT difference',
263 cutmask='inOk_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=31,ymin=-15.5,ymax=15.5)
264 monTrigGroup.defineHistogram('pTdiff;'+objname+'_roi_pTdiff_inOk_outOk',title=objname+'_roi_pTdiff_inOk_outOk;pT difference;Number of events',
265 cutmask='inOk_outOk',path=trigMultiPath,type='TH1F',xbins=31,xmin=-15.5,xmax=15.5)
266
267
268 monTrigGroup.defineHistogram('Eta,Phi;'+objname+'_L1Count_EtaVsPhi_inOk_outNg',title=objname+'_L1Count_EtaVsPhi_inOk_outNg;MuonRoI Eta;MuonRoI Phi',
269 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
270 monTrigGroup.defineHistogram('Eta,dRmin;'+objname+'_L1Count_EtaVsdRmin_inOk_outNg',title=objname+'_L1Count_EtaVsdRmin_inOk_outNg;MuonRoI Eta;Closest dR between Muon RoIs',
271 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=11,ymin=-0.1,ymax=1.0)
272 monTrigGroup.defineHistogram('dRmin;'+objname+'_roi_dRmin_inOk_outNg',title=objname+'_roi_dRmin_inOk_outNg;Closest dR between Muon RoIs;Number of events',
273 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=11,xmin=-0.1,xmax=1.0)
274 monTrigGroup.defineHistogram('ThrNum;'+objname+'_roi_ThrNum_inOk_outNg',title=objname+'_roi_ThrNum_inOk_outNg;Threshold number (positive for barrel, negative for endcap);Number of events',
275 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=22,xmin=-15.5,xmax=6.5)
276 monTrigGroup.defineHistogram('Charge;'+objname+'_roi_Charge_inOk_outNg',title=objname+'_roi_Charge_inOk_outNg;Muon charge;Number of events',
277 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
278 monTrigGroup.defineHistogram('BW3Coin;'+objname+'_roi_BW3Coin_inOk_outNg',title=objname+'_roi_BW3Coin_inOk_outNg;TGC BW3Coin flag;Number of events',
279 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
280 monTrigGroup.defineHistogram('InnerCoin;'+objname+'_roi_InnerCoin_inOk_outNg',title=objname+'_roi_InnerCoin_inOk_outNg;TGC InnerCoin flag;Number of events',
281 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
282 monTrigGroup.defineHistogram('GoodMF;'+objname+'_roi_GoodMF_inOk_outNg',title=objname+'_roi_GoodMF_inOk_outNg;TGC GoodMF flag;Number of events',
283 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
284 monTrigGroup.defineHistogram('IsMoreCandInRoI;'+objname+'_roi_IsMoreCandInRoI_inOk_outNg',title=objname+'_roi_IsMoreCandInRoI_inOk_outNg;RPC IsMoreCandInRoI flag;Number of events',
285 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
286 monTrigGroup.defineHistogram('PhiOverlap;'+objname+'_roi_PhiOverlap_inOk_outNg',title=objname+'_roi_PhiOverlap_inOk_outNg;PhiOverlap flag;Number of events',
287 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
288 monTrigGroup.defineHistogram('EtaOverlap;'+objname+'_roi_EtaOverlap_inOk_outNg',title=objname+'_roi_EtaOverlap_inOk_outNg;EtaOverlap flag;Number of events',
289 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
290 monTrigGroup.defineHistogram('dRmin,PhiOverlap;'+objname+'_roi_dRminVsPhiOverlap_inOk_outNg',
291 title=objname+'_roi_dRminVsPhiOverlap_inOk_outNg;Closest dR between Muon RoIs;PhiOverlap flag',
292 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=3,ymin=-1.5,ymax=1.5)
293 monTrigGroup.defineHistogram('isVetoed;'+objname+'_roi_isVetoed_inOk_outNg',title=objname+'_roi_isVetoed_inOk_outNg;isVetoed flag;Number of events',
294 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
295 monTrigGroup.defineHistogram('dRmin,isVetoed;'+objname+'_roi_dRminVsisVetoed_inOk_outNg',
296 title=objname+'_roi_dRminVsisVetoed_inOk_outNg;Closest dR between Muon RoIs;isVetoed flag',
297 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=2,ymin=-0.5,ymax=1.5)
298 monTrigGroup.defineHistogram('Eta,isVetoed;'+objname+'_roi_EtaVsisVetoed_inOk_outNg',
299 title=objname+'_roi_EtaVsisVetoed_inOk_outNg;MuonRoI Eta;isVetoed flag',
300 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=2,ymin=-0.5,ymax=1.5)
301 monTrigGroup.defineHistogram('Eta,pTdiff;'+objname+'_L1Count_EtaVspTdiff_inOk_outNg',title=objname+'_L1Count_EtaVspTdiff_inOk_outNg;MuonRoI Eta;pT difference',
302 cutmask='inOk_outNg',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=31,ymin=-15.5,ymax=15.5)
303 monTrigGroup.defineHistogram('pTdiff;'+objname+'_roi_pTdiff_inOk_outNg',title=objname+'_roi_pTdiff_inOk_outNg;pT difference;Number of events',
304 cutmask='inOk_outNg',path=trigMultiPath,type='TH1F',xbins=31,xmin=-15.5,xmax=15.5)
305
306
307 monTrigGroup.defineHistogram('Eta,Phi;'+objname+'_L1Count_EtaVsPhi_inNg_outOk',title=objname+'_L1Count_EtaVsPhi_inNg_outOk;MuonRoI Eta;MuonRoI Phi',
308 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
309 monTrigGroup.defineHistogram('Eta,dRmin;'+objname+'_L1Count_EtaVsdRmin_inNg_outOk',title=objname+'_L1Count_EtaVsdRmin_inNg_outOk;MuonRoI Eta;Closest dR between Muon RoIs',
310 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=11,ymin=-0.1,ymax=1.0)
311 monTrigGroup.defineHistogram('dRmin;'+objname+'_roi_dRmin_inNg_outOk',title=objname+'_roi_dRmin_inNg_outOk;Closest dR between Muon RoIs;Number of events',
312 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=11,xmin=-0.1,xmax=1.0)
313 monTrigGroup.defineHistogram('ThrNum;'+objname+'_roi_ThrNum_inNg_outOk',title=objname+'_roi_ThrNum_inNg_outOk;Threshold number (positive for barrel, negative for endcap);Number of events',
314 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=22,xmin=-15.5,xmax=6.5)
315 monTrigGroup.defineHistogram('Charge;'+objname+'_roi_Charge_inNg_outOk',title=objname+'_roi_Charge_inNg_outOk;Muon charge;Number of events',
316 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
317 monTrigGroup.defineHistogram('BW3Coin;'+objname+'_roi_BW3Coin_inNg_outOk',title=objname+'_roi_BW3Coin_inNg_outOk;TGC BW3Coin flag;Number of events',
318 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
319 monTrigGroup.defineHistogram('InnerCoin;'+objname+'_roi_InnerCoin_inNg_outOk',title=objname+'_roi_InnerCoin_inNg_outOk;TGC InnerCoin flag;Number of events',
320 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
321 monTrigGroup.defineHistogram('GoodMF;'+objname+'_roi_GoodMF_inNg_outOk',title=objname+'_roi_GoodMF_inNg_outOk;TGC GoodMF flag;Number of events',
322 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
323 monTrigGroup.defineHistogram('IsMoreCandInRoI;'+objname+'_roi_IsMoreCandInRoI_inNg_outOk',title=objname+'_roi_IsMoreCandInRoI_inNg_outOk;RPC IsMoreCandInRoI flag;Number of events',
324 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
325 monTrigGroup.defineHistogram('PhiOverlap;'+objname+'_roi_PhiOverlap_inNg_outOk',title=objname+'_roi_PhiOverlap_inNg_outOk;PhiOverlap flag;Number of events',
326 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=3,xmin=-1.5,xmax=1.5)
327 monTrigGroup.defineHistogram('EtaOverlap;'+objname+'_roi_EtaOverlap_inNg_outOk',title=objname+'_roi_EtaOverlap_inNg_outOk;EtaOverlap flag;Number of events',
328 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
329 monTrigGroup.defineHistogram('dRmin,PhiOverlap;'+objname+'_roi_dRminVsPhiOverlap_inNg_outOk',
330 title=objname+'_roi_dRminVsPhiOverlap_inNg_outOk;Closest dR between Muon RoIs;PhiOverlap flag',
331 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=3,ymin=-1.5,ymax=1.5)
332 monTrigGroup.defineHistogram('isVetoed;'+objname+'_roi_isVetoed_inNg_outOk',title=objname+'_roi_isVetoed_inNg_outOk;isVetoed flag;Number of events',
333 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=2,xmin=-0.5,xmax=1.5)
334 monTrigGroup.defineHistogram('dRmin,isVetoed;'+objname+'_roi_dRminVsisVetoed_inNg_outOk',
335 title=objname+'_roi_dRminVsisVetoed_inNg_outOk;Closest dR between Muon RoIs;isVetoed flag',
336 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=11,xmin=-0.1,xmax=1.0,ybins=2,ymin=-0.5,ymax=1.5)
337 monTrigGroup.defineHistogram('Eta,isVetoed;'+objname+'_roi_EtaVsisVetoed_inNg_outOk',
338 title=objname+'_roi_EtaVsisVetoed_inNg_outOk;MuonRoI Eta;isVetoed flag',
339 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=2,ymin=-0.5,ymax=1.5)
340 monTrigGroup.defineHistogram('Eta,pTdiff;'+objname+'_L1Count_EtaVspTdiff_inNg_outOk',title=objname+'_L1Count_EtaVspTdiff_inNg_outOk;MuonRoI Eta;pT difference',
341 cutmask='inNg_outOk',path=trigMultiPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=31,ymin=-15.5,ymax=15.5)
342 monTrigGroup.defineHistogram('pTdiff;'+objname+'_roi_pTdiff_inNg_outOk',title=objname+'_roi_pTdiff_inNg_outOk;pT difference;Number of events',
343 cutmask='inNg_outOk',path=trigMultiPath,type='TH1F',xbins=31,xmin=-15.5,xmax=15.5)
344
345
346
347
348 trigPath = 'Trig/'
349
350 myGroup.defineHistogram('roi_sector,roi_timing;MuonRoI_Evt_SectorVsTiming_Barrel',type='TH2F',
351 title='MuonRoI Sector vs Timing Barrel;MuonRoI Trigger Sector +1 (>0 for A, <0 for C);Timing',cutmask='roi_barrel',path=trigPath,
352 xbins=65,xmin=-32.5,xmax=32.5,ybins=5,ymin=-2.5,ymax=2.5,ylabels=['-2BC','-1BC','CurrBC','+1BC','+2BC'])
353 myGroup.defineHistogram('roi_sector,roi_timing;MuonRoI_Evt_SectorVsTiming_Endcap',type='TH2F',
354 title='MuonRoI Sector vs Timing Endcap;MuonRoI Trigger Sector +1 (>0 for A, <0 for C);Timing',cutmask='roi_endcap',path=trigPath,
355 xbins=97,xmin=-48.5,xmax=48.5,ybins=5,ymin=-2.5,ymax=2.5,ylabels=['-2BC','-1BC','CurrBC','+1BC','+2BC'])
356 myGroup.defineHistogram('roi_sector,roi_timing;MuonRoI_Evt_SectorVsTiming_Forward',type='TH2F',
357 title='MuonRoI Sector vs Timing Forward;MuonRoI Trigger Sector +1 (>0 for A, <0 for C);Timing',cutmask='roi_forward',path=trigPath,
358 xbins=49,xmin=-24.5,xmax=24.5,ybins=5,ymin=-2.5,ymax=2.5,ylabels=['-2BC','-1BC','CurrBC','+1BC','+2BC'])
359
360 myGroup.defineHistogram('roi_thr,roi_sector;MuonRoI_Evt_SectorVsThreshold_Barrel',title='MuonRoI SectorVsThreshold Barrel;Threshold;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
361 type='TH2F',cutmask='roi_barrel',path=trigPath,xbins=7,xmin=-0.5,xmax=6.5,ybins=65,ymin=-32.5,ymax=32.5)
362 myGroup.defineHistogram('roi_thr,roi_sector;MuonRoI_Evt_SectorVsThreshold_Endcap',title='MuonRoI SectorVsThreshold Endcap;Threshold;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
363 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=16,xmin=-0.5,xmax=15.5,ybins=97,ymin=-48.5,ymax=48.5)
364 myGroup.defineHistogram('roi_thr,roi_sector;MuonRoI_Evt_SectorVsThreshold_Forward',title='MuonRoI SectorVsThreshold Forward;Threshold;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
365 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=16,xmin=-0.5,xmax=15.5,ybins=49,ymin=-24.5,ymax=24.5)
366
367 myGroup.defineHistogram('roi_roiNumber,roi_sector;MuonRoI_Evt_SectorVsRoINumber_Barrel',title='MuonRoI SectorVsRoINumber Barrel;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
368 type='TH2F',cutmask='roi_barrel',path=trigPath,xbins=29,xmin=-0.5,xmax=28.5,ybins=65,ymin=-32.5,ymax=32.5)
369 myGroup.defineHistogram('roi_roiNumber,roi_sector;MuonRoI_Evt_SectorVsRoINumber_Endcap',title='MuonRoI SectorVsRoINumber Endcap;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
370 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
371 myGroup.defineHistogram('roi_roiNumber,roi_sector;MuonRoI_Evt_SectorVsRoINumber_Forward',title='MuonRoI SectorVsRoINumber Forward;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
372 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
373
374 myGroup.defineHistogram('roi_roiNumber,roi_sector_wBW3Coin;MuonRoI_Evt_SectorVsRoINumber_wBW3Coin_Endcap',title='MuonRoI SectorVsRoINumber wBW3Coin Endcap;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
375 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
376 myGroup.defineHistogram('roi_roiNumber,roi_sector_wBW3Coin;MuonRoI_Evt_SectorVsRoINumber_wBW3Coin_Forward',title='MuonRoI SectorVsRoINumber wBW3Coin Forward;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
377 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
378
379 myGroup.defineHistogram('roi_roiNumber,roi_sector_wInnerCoin;MuonRoI_Evt_SectorVsRoINumber_wInnerCoin_Endcap',title='MuonRoI SectorVsRoINumber wInnerCoin Endcap;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
380 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
381 myGroup.defineHistogram('roi_roiNumber,roi_sector_wInnerCoin;MuonRoI_Evt_SectorVsRoINumber_wInnerCoin_Forward',title='MuonRoI SectorVsRoINumber wInnerCoin Forward;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
382 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
383
384 myGroup.defineHistogram('roi_charge;MuonRoI_Evt_Charge',title='MuonRoI Charge;Charge;Number of events',
385 cutmask='roi_tgc',path=trigPath,xbins=3,xmin=-1.5,xmax=1.5)
386 myGroup.defineHistogram('muon_l1passCharge,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_Charge',title='MuonRoI_Eff_EtaVsPhi_Charge;Offline muon eta; Offline muon phi',
387 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
388 myGroup.defineHistogram('muon_l1passCharge,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_Charge',title='MuonRoI_Eff_Pt_TGC_Charge;Offline muon pT [GeV];Efficiency',
389 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
390 myGroup.defineHistogram('muon_l1passCharge,muon_eta4gev;MuonRoI_Eff_Eta_Charge',title='MuonRoI_Eff_Eta_Charge;Offline muon eta; Efficiency',
391 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
392 myGroup.defineHistogram('muon_l1passCharge,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_Charge',title='MuonRoI_Eff_Phi_TGC_Charge;Offline muon phi; Efficiency',
393 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
394 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_Charge_Positive',type='TH2F',
395 title='MuonRoI Eta vs Phi Charge Positive;MuonRoI Eta;MuonRoI Phi',cutmask='roi_posCharge',path=trigPath,
396 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
397 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_Charge_Negative',type='TH2F',
398 title='MuonRoI Eta vs Phi Charge Negative;MuonRoI Eta;MuonRoI Phi',cutmask='roi_negCharge',path=trigPath,
399 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
400 myGroup.defineHistogram('roi_thr,roi_charge;MuonRoI_Evt_ChargeVsThr',type='TH2F',
401 title='MuonRoI Charge vs Thr;MuonRoI Thresholds;MuonRoI Charge',cutmask='roi_tgc',path=trigPath,
402 xbins=20,xmin=-0.5,xmax=19.5,ybins=3,ymin=-1.5,ymax=1.5)
403
404
405 myGroup.defineHistogram('roi_innercoin,roi_eta_tgc;MuonRoI_Eff_Eta_wInnerCoin_ThrAll',title='MuonRoI Eff Eta wInnerCoin ThrAll;MuonRoI Eta;Efficiency',
406 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
407 myGroup.defineHistogram('roi_innercoin,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wInnerCoin_ThrAll',title='MuonRoI Eff Phi TGC wInnerCoin ThrAll;MuonRoI Phi;Efficiency',
408 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
409 myGroup.defineHistogram('roi_innercoin,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wInnerCoin_ThrAll',title='MuonRoI Eff Eta vs Phi wInnerCoin ThrAll;MuonRoI Eta;MuonRoI Phi',
410 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
411 myGroup.defineHistogram('roi_innercoin,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wInnerCoin_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wInnerCoin Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
412 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
413 myGroup.defineHistogram('roi_innercoin,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wInnerCoin_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wInnerCoin Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
414 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
415
416 myGroup.defineHistogram('roi_innveto,roi_eta_tgc;MuonRoI_Eff_Eta_wInnerCoinVeto_ThrAll',title='MuonRoI Eff Eta wInnerCoinVeto ThrAll;MuonRoI Eta;Efficiency',
417 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
418 myGroup.defineHistogram('roi_innveto,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wInnerCoinVeto_ThrAll',title='MuonRoI Eff Phi TGC wInnerCoinVeto ThrAll;MuonRoI Phi;Efficiency',
419 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
420 myGroup.defineHistogram('roi_innveto,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wInnerCoinVeto_ThrAll',title='MuonRoI Eff Eta vs Phi wInnerCoinVeto ThrAll;MuonRoI Eta;MuonRoI Phi',
421 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
422 myGroup.defineHistogram('roi_innveto,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wInnerCoinVeto_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wInnerCoinVeto Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
423 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
424 myGroup.defineHistogram('roi_innveto,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wInnerCoinVeto_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wInnerCoinVeto Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
425 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
426
427 myGroup.defineHistogram('roi_bw3coin,roi_eta_tgc;MuonRoI_Eff_Eta_wBW3Coin_ThrAll',title='MuonRoI Eff Eta wBW3Coin ThrAll;MuonRoI Eta;Efficiency',
428 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
429 myGroup.defineHistogram('roi_bw3coin,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wBW3Coin_ThrAll',title='MuonRoI Eff Phi TGC wBW3Coin ThrAll;MuonRoI Phi;Efficiency',
430 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
431 myGroup.defineHistogram('roi_bw3coin,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wBW3Coin_ThrAll',title='MuonRoI Eff Eta vs Phi wBW3Coin ThrAll;MuonRoI Eta;MuonRoI Phi',
432 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
433 myGroup.defineHistogram('roi_bw3coin,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBW3Coin_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBW3Coin Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
434 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
435 myGroup.defineHistogram('roi_bw3coin,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBW3Coin_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBW3Coin Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
436 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
437
438 myGroup.defineHistogram('roi_bw3coinveto,roi_eta_tgc;MuonRoI_Eff_Eta_wBW3CoinVeto_ThrAll',title='MuonRoI Eff Eta wBW3CoinVeto ThrAll;MuonRoI Eta;Efficiency',
439 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
440 myGroup.defineHistogram('roi_bw3coinveto,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wBW3CoinVeto_ThrAll',title='MuonRoI Eff Phi TGC wBW3CoinVeto ThrAll;MuonRoI Phi;Efficiency',
441 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
442 myGroup.defineHistogram('roi_bw3coinveto,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wBW3CoinVeto_ThrAll',title='MuonRoI Eff Eta vs Phi wBW3CoinVeto ThrAll;MuonRoI Eta;MuonRoI Phi',
443 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
444 myGroup.defineHistogram('roi_bw3coinveto,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBW3CoinVeto_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBW3CoinVeto Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
445 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
446 myGroup.defineHistogram('roi_bw3coinveto,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBW3CoinVeto_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBW3CoinVeto Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
447 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
448
449 myGroup.defineHistogram('roi_goodmf,roi_eta_tgc;MuonRoI_Eff_Eta_wGoodMF_ThrAll',title='MuonRoI Eff Eta wGoodMF ThrAll;MuonRoI Eta;Efficiency',
450 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
451 myGroup.defineHistogram('roi_goodmf,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wGoodMF_ThrAll',title='MuonRoI Eff Phi TGC wGoodMF ThrAll;MuonRoI Phi;Efficiency',
452 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
453 myGroup.defineHistogram('roi_goodmf,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wGoodMF_ThrAll',title='MuonRoI Eff Eta vs Phi wGoodMF ThrAll;MuonRoI Eta;MuonRoI Phi',
454 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
455 myGroup.defineHistogram('roi_goodmf,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wGoodMF_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wGoodMF Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
456 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
457 myGroup.defineHistogram('roi_goodmf,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wGoodMF_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wGoodMF Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
458 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
459
460 myGroup.defineHistogram('roi_badmf,roi_eta_tgc;MuonRoI_Eff_Eta_wBadMF_ThrAll',title='MuonRoI Eff Eta wBadMF ThrAll;MuonRoI Eta;Efficiency',
461 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
462 myGroup.defineHistogram('roi_badmf,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wBadMF_ThrAll',title='MuonRoI Eff Phi TGC wBadMF ThrAll;MuonRoI Phi;Efficiency',
463 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
464 myGroup.defineHistogram('roi_badmf,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wBadMF_ThrAll',title='MuonRoI Eff Eta vs Phi wBadMF ThrAll;MuonRoI Eta;MuonRoI Phi',
465 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
466 myGroup.defineHistogram('roi_badmf,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBadMF_Endcap_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBadMF Endcap ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
467 type='TEfficiency',cutmask='roi_endcap',path=trigPath,xbins=149,xmin=-0.5,xmax=148.5,ybins=97,ymin=-48.5,ymax=48.5)
468 myGroup.defineHistogram('roi_badmf,roi_roiNumber,roi_sector;MuonRoI_Eff_SectorVsRoINumber_wBadMF_Forward_ThrAll',title='MuonRoI Eff SectorVsRoINumber wBadMF Forward ThrAll;RoI Number;MuonRoI Trigger Sector +1 (>0 for A, <0 for C)',
469 type='TEfficiency',cutmask='roi_forward',path=trigPath,xbins=65,xmin=-0.5,xmax=64.5,ybins=49,ymin=-24.5,ymax=24.5)
470
471
472
473 myGroup.defineHistogram('roi_bw3coin;MuonRoI_Evt_BW3Coin',title='MuonRoI BW3Coin Flag;BW3Coin Flag;Number of events',
474 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
475 myGroup.defineHistogram('muon_l1passBW3Coin,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_BW3Coin',title='MuonRoI_Eff_EtaVsPhi_BW3Coin;Offline muon eta; Offline muon phi',
476 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
477 myGroup.defineHistogram('muon_l1passBW3Coin,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_BW3Coin',title='MuonRoI_Eff_Pt_TGC_BW3Coin;Offline muon pT [GeV];Efficiency',
478 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
479 myGroup.defineHistogram('muon_l1passBW3Coin,muon_eta4gev;MuonRoI_Eff_Eta_BW3Coin',title='MuonRoI_Eff_Eta_BW3Coin;Offline muon eta; Efficiency',
480 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
481 myGroup.defineHistogram('muon_l1passBW3Coin,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_BW3Coin',title='MuonRoI_Eff_Phi_TGC_BW3Coin;Offline muon phi; Efficiency',
482 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,ymax=math.pi)
483 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_BW3Coin',type='TH2F',
484 title='MuonRoI Eta vs Phi BW3Coin;MuonRoI Eta;MuonRoI Phi',cutmask='roi_bw3coin',path=trigPath,
485 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
486 myGroup.defineHistogram('roi_thr,roi_bw3coin;MuonRoI_Evt_ThrVsBW3Coin',type='TH2F',
487 title='MuonRoI Thr vs BW3Coin;MuonRoI Thresholds;MuonRoI BW3Coin',cutmask='roi_tgc',path=trigPath,
488 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
489
490 myGroup.defineHistogram('roi_bw3coinveto;MuonRoI_Evt_BW3CoinVeto',title='MuonRoI BW3CoinVeto Flag;BW3CoinVeto Flag;Number of events',
491 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
492 myGroup.defineHistogram('muon_l1passBW3CoinVeto,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_BW3CoinVeto',title='MuonRoI_Eff_EtaVsPhi_BW3CoinVeto;Offline muon eta; Offline muon phi',
493 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
494 myGroup.defineHistogram('muon_l1passBW3CoinVeto,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_BW3CoinVeto',title='MuonRoI_Eff_Pt_TGC_BW3CoinVeto;Offline muon pT [GeV];Efficiency',
495 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
496 myGroup.defineHistogram('muon_l1passBW3CoinVeto,muon_eta4gev;MuonRoI_Eff_Eta_BW3CoinVeto',title='MuonRoI_Eff_Eta_BW3CoinVeto;Offline muon eta; Efficiency',
497 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
498 myGroup.defineHistogram('muon_l1passBW3CoinVeto,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_BW3CoinVeto',title='MuonRoI_Eff_Phi_TGC_BW3CoinVeto;Offline muon phi; Efficiency',
499 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
500 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_BW3CoinVeto',type='TH2F',
501 title='MuonRoI Eta vs Phi BW3CoinVeto;MuonRoI Eta;MuonRoI Phi',cutmask='roi_bw3coinveto',path=trigPath,
502 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
503 myGroup.defineHistogram('roi_thr,roi_bw3coinveto;MuonRoI_Evt_ThrVsBW3CoinVeto',type='TH2F',
504 title='MuonRoI Thr vs BW3CoinVeto;MuonRoI Thresholds;MuonRoI BW3CoinVeto',cutmask='roi_tgc',path=trigPath,
505 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
506
507 myGroup.defineHistogram('roi_innercoin;MuonRoI_Evt_InnerCoin',title='MuonRoI InnerCoin Flag;InnerCoin Flag;Number of events',
508 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
509 myGroup.defineHistogram('muon_l1passInnerCoin,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_InnerCoin',title='MuonRoI_Eff_EtaVsPhi_InnerCoin;Offline muon eta; Offline muon phi',
510 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
511 myGroup.defineHistogram('muon_l1passInnerCoin,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_InnerCoin',title='MuonRoI_Eff_Pt_TGC_InnerCoin;Offline muon pT [GeV];Efficiency',
512 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
513 myGroup.defineHistogram('muon_l1passInnerCoin,muon_eta4gev;MuonRoI_Eff_Eta_InnerCoin',title='MuonRoI_Eff_Eta_InnerCoin;Offline muon Eta;Efficiency',
514 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
515 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_InnerCoin',title='MuonRoI_Eff_Phi_TGC_InnerCoin;Offline muon Phi;Efficiency',
516 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
517 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p05eta1p3;MuonRoI_Eff_Phi_TGC_1p05eta1p3_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3_InnerCoin;Offline muon Phi;Efficiency',
518 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
519 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p05eta1p3A;MuonRoI_Eff_Phi_TGC_1p05eta1p3A_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3A_InnerCoin;Offline muon Phi;Efficiency',
520 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
521 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p05eta1p3C;MuonRoI_Eff_Phi_TGC_1p05eta1p3C_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3C_InnerCoin;Offline muon Phi;Efficiency',
522 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
523 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p3eta2p4;MuonRoI_Eff_Phi_TGC_1p3eta2p4_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4_InnerCoin;Offline muon Phi;Efficiency',
524 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
525 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p3eta2p4A;MuonRoI_Eff_Phi_TGC_1p3eta2p4A_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4A_InnerCoin;Offline muon Phi;Efficiency',
526 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
527 myGroup.defineHistogram('muon_l1passInnerCoin,muon_phi4gev_1p3eta2p4C;MuonRoI_Eff_Phi_TGC_1p3eta2p4C_InnerCoin',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4C_InnerCoin;Offline muon Phi;Efficiency',
528 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
529 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_InnerCoin',type='TH2F',
530 title='MuonRoI Eta vs Phi InnerCoin;MuonRoI Eta;MuonRoI Phi',cutmask='roi_innercoin',path=trigPath,
531 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
532 myGroup.defineHistogram('roi_thr,roi_innercoin;MuonRoI_Evt_ThrVsInnerCoin',type='TH2F',
533 title='MuonRoI Thr vs InnerCoin;MuonRoI Thresholds;MuonRoI InnerCoin',cutmask='roi_tgc',path=trigPath,
534 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
535
536 myGroup.defineHistogram('roi_lumiBlock,roi_phi_sideA;MuonRoI_Evt_PhiVsLB_wInnerCoinEtaUpTo1p3_sideA',title='MuonRoI PhiVsLB wInnerCoinEtaUpTo1p3 sideA;Luminosity block;MuonRoI Phi',
537 type='TH2F',cutmask='roi_wInnerCoinEtaUpTo1p3',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
538 myGroup.defineHistogram('roi_lumiBlock,roi_phi_sideA;MuonRoI_Evt_PhiVsLB_wInnerCoinEtaBeyond1p3_sideA',title='MuonRoI PhiVsLB wInnerCoinEtaBeyond1p3 sideA;Luminosity block;MuonRoI Phi',
539 type='TH2F',cutmask='roi_wInnerCoinEtaBeyond1p3',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
540 myGroup.defineHistogram('roi_lumiBlock,roi_phi_sideC;MuonRoI_Evt_PhiVsLB_wInnerCoinEtaUpTo1p3_sideC',title='MuonRoI PhiVsLB wInnerCoinEtaUpTo1p3 sideC;Luminosity block;MuonRoI Phi',
541 type='TH2F',cutmask='roi_wInnerCoinEtaUpTo1p3',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
542 myGroup.defineHistogram('roi_lumiBlock,roi_phi_sideC;MuonRoI_Evt_PhiVsLB_wInnerCoinEtaBeyond1p3_sideC',title='MuonRoI PhiVsLB wInnerCoinEtaBeyond1p3 sideC;Luminosity block;MuonRoI Phi',
543 type='TH2F',cutmask='roi_wInnerCoinEtaBeyond1p3',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
544
545 myGroup.defineHistogram('roi_lumiBlock,roi_phi_wBW3Coin_sideA;MuonRoI_Evt_PhiVsLB_wBW3Coin_Endcap_sideA',title='MuonRoI PhiVsLB wBW3Coin Endcap sideA;Luminosity block;MuonRoI Phi',
546 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
547 myGroup.defineHistogram('roi_lumiBlock,roi_phi_wBW3Coin_sideA;MuonRoI_Evt_PhiVsLB_wBW3Coin_Forward_sideA',title='MuonRoI PhiVsLB wBW3Coin Forward sideA;Luminosity block;MuonRoI Phi',
548 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
549 myGroup.defineHistogram('roi_lumiBlock,roi_phi_wBW3Coin_sideC;MuonRoI_Evt_PhiVsLB_wBW3Coin_Endcap_sideC',title='MuonRoI PhiVsLB wBW3Coin Endcap sideC;Luminosity block;MuonRoI Phi',
550 type='TH2F',cutmask='roi_endcap',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
551 myGroup.defineHistogram('roi_lumiBlock,roi_phi_wBW3Coin_sideC;MuonRoI_Evt_PhiVsLB_wBW3Coin_Forward_sideC',title='MuonRoI PhiVsLB wBW3Coin Forward sideC;Luminosity block;MuonRoI Phi',
552 type='TH2F',cutmask='roi_forward',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
553
554 myGroup.defineHistogram('roi_innveto;MuonRoI_Evt_InnerCoinVeto',title='MuonRoI InnerCoinVeto Flag;InnerCoinVeto Flag;Number of events',
555 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
556 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_InnerCoinVeto',title='MuonRoI_Eff_EtaVsPhi_InnerCoinVeto;Offline muon eta; Offline muon phi',
557 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
558 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_InnerCoinVeto',title='MuonRoI_Eff_Pt_TGC_InnerCoinVeto;Offline muon pT [GeV];Efficiency',
559 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
560 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_eta4gev;MuonRoI_Eff_Eta_InnerCoinVeto',title='MuonRoI_Eff_Eta_InnerCoinVeto;Offline muon Eta;Efficiency',
561 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
562 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_InnerCoinVeto;Offline muon Phi;Efficiency',
563 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
564 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p05eta1p3;MuonRoI_Eff_Phi_TGC_1p05eta1p3_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3_InnerCoinVeto;Offline muon Phi;Efficiency',
565 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
566 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p05eta1p3A;MuonRoI_Eff_Phi_TGC_1p05eta1p3A_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3A_InnerCoinVeto;Offline muon Phi;Efficiency',
567 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
568 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p05eta1p3C;MuonRoI_Eff_Phi_TGC_1p05eta1p3C_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p05eta1p3C_InnerCoinVeto;Offline muon Phi;Efficiency',
569 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
570 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p3eta2p4;MuonRoI_Eff_Phi_TGC_1p3eta2p4_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4_InnerCoinVeto;Offline muon Phi;Efficiency',
571 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
572 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p3eta2p4A;MuonRoI_Eff_Phi_TGC_1p3eta2p4A_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4A_InnerCoinVeto;Offline muon Phi;Efficiency',
573 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
574 myGroup.defineHistogram('muon_l1passInnerCoinVeto,muon_phi4gev_1p3eta2p4C;MuonRoI_Eff_Phi_TGC_1p3eta2p4C_InnerCoinVeto',title='MuonRoI_Eff_Phi_TGC_1p3eta2p4C_InnerCoinVeto;Offline muon Phi;Efficiency',
575 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
576 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_InnerCoinVeto',type='TH2F',
577 title='MuonRoI Eta vs Phi InnerCoinVeto;MuonRoI Eta;MuonRoI Phi',cutmask='roi_innveto',path=trigPath,
578 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
579 myGroup.defineHistogram('roi_thr,roi_innveto;MuonRoI_Evt_ThrVsInnerCoinVeto',type='TH2F',
580 title='MuonRoI Thr vs InnerCoinVeto;MuonRoI Thresholds;MuonRoI InnerCoinVeto',cutmask='roi_tgc',path=trigPath,
581 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
582
583 myGroup.defineHistogram('roi_goodmf;MuonRoI_Evt_GoodMF',title='MuonRoI GoodMF Flag;GoodMF Flag;Number of events',
584 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
585 myGroup.defineHistogram('muon_l1passGoodMF,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_GoodMF',title='MuonRoI_Eff_EtaVsPhi_GoodMF;Offline muon eta; Offline muon phi',
586 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
587 myGroup.defineHistogram('muon_l1passGoodMF,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_GoodMF',title='MuonRoI_Eff_Pt_TGC_GoodMF;Offline muon pT [GeV];Efficiency',
588 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
589 myGroup.defineHistogram('muon_l1passGoodMF,muon_eta4gev;MuonRoI_Eff_Eta_GoodMF',title='MuonRoI_Eff_Eta_GoodMF;Offline muon eta; Efficiency',
590 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
591 myGroup.defineHistogram('muon_l1passGoodMF,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_GoodMF',title='MuonRoI_Eff_Phi_TGC_GoodMF;Offline muon phi; Efficiency',
592 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
593 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_GoodMF',type='TH2F',
594 title='MuonRoI Eta vs Phi GoodMF;MuonRoI Eta;MuonRoI Phi',cutmask='roi_goodmf',path=trigPath,
595 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
596 myGroup.defineHistogram('roi_thr,roi_goodmf;MuonRoI_Evt_ThrVsGoodMF',type='TH2F',
597 title='MuonRoI Thr vs GoodMF;MuonRoI Thresholds;MuonRoI GoodMF',cutmask='roi_tgc',path=trigPath,
598 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
599
600 myGroup.defineHistogram('roi_badmf;MuonRoI_Evt_BadMF',title='MuonRoI BadMF Flag;BadMF Flag;Number of events',
601 cutmask='roi_tgc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
602 myGroup.defineHistogram('muon_l1passBadMF,muon_eta4gev,muon_phi4gev;MuonRoI_Eff_EtaVsPhi_BadMF',title='MuonRoI_Eff_EtaVsPhi_BadMF;Offline muon eta; Offline muon phi',
603 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
604 myGroup.defineHistogram('muon_l1passBadMF,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_BadMF',title='MuonRoI_Eff_Pt_TGC_BadMF;Offline muon pT [GeV];Efficiency',
605 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
606 myGroup.defineHistogram('muon_l1passBadMF,muon_eta4gev;MuonRoI_Eff_Eta_BadMF',title='MuonRoI_Eff_Eta_BadMF;Offline muon eta; Efficiency',
607 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
608 myGroup.defineHistogram('muon_l1passBadMF,muon_phi4gev_tgc;MuonRoI_Eff_Phi_TGC_BadMF',title='MuonRoI_Eff_Phi_TGC_BadMF;Offline muon phi; Efficiency',
609 cutmask='muon_l1passThr1TGC',type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
610 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_BadMF',type='TH2F',
611 title='MuonRoI Eta vs Phi BadMF;MuonRoI Eta;MuonRoI Phi',cutmask='roi_badmf',path=trigPath,
612 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
613 myGroup.defineHistogram('roi_thr,roi_badmf;MuonRoI_Evt_ThrVsBadMF',type='TH2F',
614 title='MuonRoI Thr vs BadMF;MuonRoI Thresholds;MuonRoI BadMF',cutmask='roi_tgc',path=trigPath,
615 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
616
617 myGroup.defineHistogram('roi_ismorecand;MuonRoI_Evt_RpcIsMoreCandInRoI',title='MuonRoI RpcIsMoreCandInRoI Flag;RpcIsMoreCandInRoI Flag;Number of events',
618 cutmask='roi_rpc',path=trigPath,xbins=2,xmin=-0.5,xmax=1.5)
619 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_RpcIsMoreCandInRoI',type='TH2F',
620 title='MuonRoI Eta vs Phi RpcIsMoreCandInRoI;MuonRoI Eta;MuonRoI Phi',cutmask='roi_ismorecand',path=trigPath,
621 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
622 myGroup.defineHistogram('roi_thr,roi_ismorecand;MuonRoI_Evt_ThrVsRpcIsMoreCandInRoI',type='TH2F',
623 title='MuonRoI Thr vs RpcIsMoreCandInRoI;MuonRoI Thresholds;MuonRoI RpcIsMoreCandInRoI',cutmask='roi_rpc',path=trigPath,
624 xbins=20,xmin=-0.5,xmax=19.5,ybins=2,ymin=-0.5,ymax=1.5)
625
626 myGroup.defineHistogram('roi_thr;MuonRoI_Evt_Thresholds_RPC',title='MuonRoI Thresholds RPC;MuonRoI Threshold number;Number of events',
627 cutmask='roi_rpc',path=trigPath,xbins=20,xmin=-0.5,xmax=19.5)
628 myGroup.defineHistogram('roi_thr;MuonRoI_Evt_Thresholds_TGC',title='MuonRoI Thresholds TGC;MuonRoI Threshold number;Number of events',
629 cutmask='roi_tgc',path=trigPath,xbins=20,xmin=-0.5,xmax=19.5)
630
631 myGroup.defineHistogram('roi_lumiBlock,roi_phi_barrel;MuonRoI_Evt_PhiVsLB_Barrel_sideA',title='MuonRoI PhiVsLB Barrel sideA;Luminosity block;MuonRoI Phi',type='TH2F',
632 cutmask='roi_sideA',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=32,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
633 myGroup.defineHistogram('roi_lumiBlock,roi_phi_barrel;MuonRoI_Evt_PhiVsLB_Barrel_sideC',title='MuonRoI PhiVsLB Barrel sideC;Luminosity block;MuonRoI Phi',type='TH2F',
634 cutmask='roi_sideC',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=32,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
635
636 myGroup.defineHistogram('roi_lumiBlock,roi_phi_endcap;MuonRoI_Evt_PhiVsLB_Endcap_sideA',title='MuonRoI PhiVsLB Endcap sideA;Luminosity block;MuonRoI Phi',type='TH2F',
637 cutmask='roi_sideA',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
638 myGroup.defineHistogram('roi_lumiBlock,roi_phi_endcap;MuonRoI_Evt_PhiVsLB_Endcap_sideC',title='MuonRoI PhiVsLB Endcap sideC;Luminosity block;MuonRoI Phi',type='TH2F',
639 cutmask='roi_sideC',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=48,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
640
641 myGroup.defineHistogram('roi_lumiBlock,roi_phi_forward;MuonRoI_Evt_PhiVsLB_Forward_sideA',title='MuonRoI PhiVsLB Forward sideA;Luminosity block;MuonRoI Phi',type='TH2F',
642 cutmask='roi_sideA',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
643 myGroup.defineHistogram('roi_lumiBlock,roi_phi_forward;MuonRoI_Evt_PhiVsLB_Forward_sideC',title='MuonRoI PhiVsLB Forward sideC;Luminosity block;MuonRoI Phi',type='TH2F',
644 cutmask='roi_sideC',path=trigPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=24,ymin=-math.pi,ymax=math.pi,opt='kAddBinsDynamically', merge='merge')
645
646
647 for n in range(1,16):
648
649 myGroup.defineHistogram('roi_eta_wInnerCoin;MuonRoI_Evt_Eta_wInnerCoin_Thr%02d' % n,title='MuonRoI Eta wInnerCoin Thr%02d;MuonRoI Eta;Number of events' % n,
650 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
651 myGroup.defineHistogram('roi_eta_wBW3Coin;MuonRoI_Evt_Eta_wBW3Coin_Thr%02d' % n,title='MuonRoI Eta wBW3Coin Thr%02d;MuonRoI Eta;Number of events' % n,
652 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
653
654 myGroup.defineHistogram('roi_eta_wInnerCoinVeto;MuonRoI_Evt_Eta_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Eta wInnerCoinVeto Thr%02d;MuonRoI Eta;Number of events' % n,
655 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
656 myGroup.defineHistogram('roi_eta_wBW3CoinVeto;MuonRoI_Evt_Eta_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Eta wBW3CoinVeto Thr%02d;MuonRoI Eta;Number of events' % n,
657 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
658
659 myGroup.defineHistogram('roi_phi_wInnerCoin;MuonRoI_Evt_Phi_TGC_wInnerCoin_Thr%02d' % n,title='MuonRoI Phi TGC wInnerCoin Thr%02d;MuonRoI Phi;Number of events' % n,
660 cutmask='thrmask'+str(n),path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
661 myGroup.defineHistogram('roi_phi_wBW3Coin;MuonRoI_Evt_Phi_TGC_wBW3Coin_Thr%02d' % n,title='MuonRoI Phi TGC wBW3Coin Thr%02d;MuonRoI Phi;Number of events' % n,
662 cutmask='thrmask'+str(n),path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
663
664 myGroup.defineHistogram('roi_phi_wInnerCoinVeto;MuonRoI_Evt_Phi_TGC_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Phi TGC wInnerCoinVeto Thr%02d;MuonRoI Phi;Number of events' % n,
665 cutmask='thrmask'+str(n),path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
666 myGroup.defineHistogram('roi_phi_wBW3CoinVeto;MuonRoI_Evt_Phi_TGC_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Phi TGC wBW3CoinVeto Thr%02d;MuonRoI Phi;Number of events' % n,
667 cutmask='thrmask'+str(n),path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
668
669 myGroup.defineHistogram('roi_eta_wInnerCoin,roi_phi_wInnerCoin;MuonRoI_Evt_EtaVsPhi_wInnerCoin_Thr%02d' % n,title='MuonRoI Eta vs Phi wInnerCoin Thr%02d;MuonRoI Eta;Number of events' % n,
670 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi,type='TH2F')
671 myGroup.defineHistogram('roi_eta_wBW3Coin,roi_phi_wBW3Coin;MuonRoI_Evt_EtaVsPhi_wBW3Coin_Thr%02d' % n,title='MuonRoI Eta vs Phi wBW3Coin Thr%02d;MuonRoI Eta;Number of events' % n,
672 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi,type='TH2F')
673
674 myGroup.defineHistogram('roi_eta_wInnerCoinVeto,roi_phi_wInnerCoinVeto;MuonRoI_Evt_EtaVsPhi_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Eta vs Phi wInnerCoinVeto Thr%02d;MuonRoI Eta;Number of events' % n,
675 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi,type='TH2F')
676 myGroup.defineHistogram('roi_eta_wBW3CoinVeto,roi_phi_wBW3CoinVeto;MuonRoI_Evt_EtaVsPhi_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Eta vs Phi wBW3CoinVeto Thr%02d;MuonRoI Eta;Number of events' % n,
677 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi,type='TH2F')
678
679 myGroup.defineHistogram('roi_eta;MuonRoI_Evt_Eta_Thr%02d' % n,title='MuonRoI Eta Thr%02d;MuonRoI Eta;Number of events' % n,
680 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
681 myGroup.defineHistogram('roi_eta_rpc;MuonRoI_Evt_Eta_RPC_Thr%02d' % n,title='MuonRoI Eta RPC Thr%02d;MuonRoI Eta;Number of events' % n,
682 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
683 myGroup.defineHistogram('roi_eta_tgc;MuonRoI_Evt_Eta_TGC_Thr%02d' % n,title='MuonRoI Eta TGC Thr%02d;MuonRoI Eta;Number of events' % n,
684 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
685 myGroup.defineHistogram('roi_phi_rpc;MuonRoI_Evt_Phi_RPC_Thr%02d' % n,title='MuonRoI Phi RPC Thr%02d;MuonRoI Phi;Number of events' % n,
686 cutmask='thrmask'+str(n),path=trigPath,xbins=32,xmin=-math.pi,xmax=math.pi)
687 myGroup.defineHistogram('roi_phi_tgc;MuonRoI_Evt_Phi_TGC_Thr%02d' % n,title='MuonRoI Phi TGC Thr%02d;MuonRoI Phi;Number of events' % n,
688 cutmask='thrmask'+str(n),path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
689 myGroup.defineHistogram('roi_eta,roi_phi;MuonRoI_Evt_EtaVsPhi_Thr%02d' % n,type='TH2F',title='MuonRoI Eta vs Phi Thr%02d;MuonRoI Eta;MuonRoI Phi' % n,
690 cutmask='thrmask'+str(n),path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
691
692 myGroup.defineHistogram('roi_innercoin,roi_eta_tgc;MuonRoI_Eff_Eta_wInnerCoin_Thr%02d' % n,title='MuonRoI Eff Eta wInnerCoin Thr%02d;MuonRoI Eta;Efficiency' % n,
693 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
694 myGroup.defineHistogram('roi_innercoin,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wInnerCoin_Thr%02d' % n,title='MuonRoI Eff Phi TGC wInnerCoin Thr%02d;MuonRoI Phi;Efficiency' % n,
695 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
696 myGroup.defineHistogram('roi_innercoin,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wInnerCoin_Thr%02d' % n,title='MuonRoI Eff Eta vs Phi wInnerCoin Thr%02d;MuonRoI Eta;MuonRoI Phi' % n,
697 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
698
699 myGroup.defineHistogram('roi_innveto,roi_eta_tgc;MuonRoI_Eff_Eta_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Eff Eta wInnerCoinVeto Thr%02d;MuonRoI Eta;Efficiency' % n,
700 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
701 myGroup.defineHistogram('roi_innveto,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Eff Phi TGC wInnerCoinVeto Thr%02d;MuonRoI Phi;Efficiency' % n,
702 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
703 myGroup.defineHistogram('roi_innveto,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wInnerCoinVeto_Thr%02d' % n,title='MuonRoI Eff Eta vs Phi wInnerCoinVeto Thr%02d;MuonRoI Eta;MuonRoI Phi' % n,
704 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
705
706 myGroup.defineHistogram('roi_bw3coin,roi_eta_tgc;MuonRoI_Eff_Eta_wBW3Coin_Thr%02d' % n,title='MuonRoI Eff Eta wBW3Coin Thr%02d;MuonRoI Eta;Efficiency' % n,
707 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
708 myGroup.defineHistogram('roi_bw3coin,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wBW3Coin_Thr%02d' % n,title='MuonRoI Eff Phi TGC wBW3Coin Thr%02d;MuonRoI Phi;Efficiency' % n,
709 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
710 myGroup.defineHistogram('roi_bw3coin,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wBW3Coin_Thr%02d' % n,title='MuonRoI Eff Eta vs Phi wBW3Coin Thr%02d;MuonRoI Eta;MuonRoI Phi' % n,
711 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
712
713 myGroup.defineHistogram('roi_bw3coinveto,roi_eta_tgc;MuonRoI_Eff_Eta_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Eff Eta wBW3CoinVeto Thr%02d;MuonRoI Eta;Efficiency' % n,
714 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
715 myGroup.defineHistogram('roi_bw3coinveto,roi_phi_tgc;MuonRoI_Eff_Phi_TGC_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Eff Phi TGC wBW3CoinVeto Thr%02d;MuonRoI Phi;Efficiency' % n,
716 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
717 myGroup.defineHistogram('roi_bw3coinveto,roi_eta_tgc,roi_phi_tgc;MuonRoI_Eff_EtaVsPhi_wBW3CoinVeto_Thr%02d' % n,title='MuonRoI Eff Eta vs Phi wBW3CoinVeto Thr%02d;MuonRoI Eta;MuonRoI Phi' % n,
718 cutmask='thrmask'+str(n),type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
719
720
721 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_rpc;MuonRoI_Eff_Pt_RPC_Thr%02d' % (n,n),title='MuonRoI_Eff_Pt_RPC_Thr%02d;Offline muon pT [GeV];Efficiency' % n,
722 type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
723 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_Thr%02d' % (n,n),title='MuonRoI_Eff_Pt_TGC_Thr%02d;Offline muon pT [GeV];Efficiency' % n,
724 type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
725 myGroup.defineHistogram('muon_l1passThr%d,muon_phi_rpc;MuonRoI_Eff_Phi_RPC_Thr%02d' % (n,n),title='MuonRoI_Eff_Phi_RPC_Thr%02d;Offline muon phi [rad.];Efficiency' % n,
726 type='TEfficiency',path=trigPath,xbins=32,xmin=-math.pi,xmax=math.pi)
727 myGroup.defineHistogram('muon_l1passThr%d,muon_phi_tgc;MuonRoI_Eff_Phi_TGC_Thr%02d' % (n,n),title='MuonRoI_Eff_Phi_TGC_Thr%02d;Offline muon phi [rad.];Efficiency' % n,
728 type='TEfficiency',path=trigPath,xbins=48,xmin=-math.pi,xmax=math.pi)
729 myGroup.defineHistogram('muon_l1passThr%d,muon_eta;MuonRoI_Eff_Eta_Thr%02d' % (n,n),title='MuonRoI_Eff_Eta_Thr%02d;Offline muon eta;Efficiency' % n,
730 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5)
731 myGroup.defineHistogram('muon_l1passThr%d,muon_eta,muon_phi;MuonRoI_Eff_EtaVsPhi_Thr%02d' % (n,n),title='MuonRoI_Eff_EtaVsPhi_Thr%02d;Offline muon eta; Offline muon phi' % n,
732 type='TEfficiency',path=trigPath,xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
733
734 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcA;MuonRoI_Eff_PtVsPhi_TGC_Endcap_sideA_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_Endcap_sideA_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
735 cutmask='muon_endcap',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
736 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcA;MuonRoI_Eff_PtVsPhi_TGC_Forward_sideA_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_Forward_sideA_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
737 cutmask='muon_forward',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=24,ymin=-math.pi,ymax=math.pi)
738 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcC;MuonRoI_Eff_PtVsPhi_TGC_Endcap_sideC_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_Endcap_sideC_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
739 cutmask='muon_endcap',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
740 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcC;MuonRoI_Eff_PtVsPhi_TGC_Forward_sideC_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_Forward_sideC_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
741 cutmask='muon_forward',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=24,ymin=-math.pi,ymax=math.pi)
742
743 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_ChargePos_Thr%02d' % (n,n),title='MuonRoI_Eff_Pt_TGC_ChargePos_Thr%02d;Offline muon pT [GeV];Efficiency' % n,
744 cutmask='muon_chargePos',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
745 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc;MuonRoI_Eff_Pt_TGC_ChargeNeg_Thr%02d' % (n,n),title='MuonRoI_Eff_Pt_TGC_ChargeNeg_Thr%02d;Offline muon pT [GeV];Efficiency' % n,
746 cutmask='muon_chargeNeg',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50)
747
748 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcA;MuonRoI_Eff_PtVsPhi_TGC_ChargePos_sideA_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_ChargePos_sideA_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
749 cutmask='muon_chargePos',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
750 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcA;MuonRoI_Eff_PtVsPhi_TGC_ChargeNeg_sideA_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_ChargeNeg_sideA_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
751 cutmask='muon_chargeNeg',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
752
753 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcC;MuonRoI_Eff_PtVsPhi_TGC_ChargePos_sideC_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_ChargePos_sideC_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
754 cutmask='muon_chargePos',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
755 myGroup.defineHistogram('muon_l1passThr%d,muon_pt_tgc,muon_phi0gev_tgcC;MuonRoI_Eff_PtVsPhi_TGC_ChargeNeg_sideC_Thr%02d' % (n,n),title='MuonRoI_Eff_PtVsPhi_TGC_ChargeNeg_sideC_Thr%02d;Offline muon pT [GeV];Offline muon phi;Efficiency' % n,
756 cutmask='muon_chargeNeg',type='TEfficiency',path=trigPath,xbins=50,xmin=0,xmax=50,ybins=48,ymin=-math.pi,ymax=math.pi)
757
758
759
760
761
762 label_ieta_sw = []
763 label_iphi_sw = []
764 label_glbl_index_sw = []
765 for i in range(4) : label_ieta_sw.append('')
766 for i in range(24) : label_iphi_sw.append('')
767 for i in range(96) : label_glbl_index_sw.append('')
768 for eta in range(2):
769 for sector in range(0,16):
770 for phi in range(0,25):
771 for lay in range(1,3):
772 if eta==0 and sector!=0:continue
773 if eta==1 and phi>2:continue
774 if eta==1 and sector==7 and phi==0:continue
775 if eta==1 and sector==11 and phi==0:continue
776 if eta==1 and sector==15 and phi==0:continue
777 if eta==1 and sector%2!=1:continue
778 eta_index = eta * 2 + lay
779 if eta==0:
780 phi_index = phi
781 else:
782 phi_index = phi + int(sector / 2) + sector
783 glbl_index = eta * 24*2 + (phi_index - 1) * 2 + lay
784 if eta==0:
785 label_ieta_sw[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
786 label_iphi_sw[phi_index-1] = 'F%df%d' % (sector,phi)
787 label_glbl_index_sw[glbl_index-1] = 'F%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
788 else:
789 label_ieta_sw[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
790 if lay==1:
791 label_iphi_sw[phi_index-1] = 'E%df%d(%s)' % (sector,phi,label_iphi_sw[phi_index-1])
792 label_glbl_index_sw[glbl_index-1] = 'E%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
793 label_ieta_bw1 = []
794 label_iphi_bw1 = []
795 label_glbl_index_bw1 = []
796 label_ieta_bw23 = []
797 label_iphi_bw23 = []
798 label_glbl_index_bw23 = []
799 label_ieta_online_wire = []
800 label_ieta_online_strip = []
801 label_iphi_online = []
802 label_glbl_index_online = []
803 i = 0
804 for sec in range(1,13):
805 for phi in range(4):
806 i = i+1
807 label_iphi_online.append('%02df%d(%d)' % (sec,phi,i))
808 for iM in range(1,5):
809 for iEta in range(1,7):
810 if iEta>1 and iM == 4: continue
811 if iEta>5 and iM == 1: continue
812 e_or_f = ("E%d" % (iEta)) if (iEta<=4 and iM==1) or (iEta<=5 and (iM==2 or iM==3)) or (iM==4) else "F"
813 for igap in range(1,4):
814 if iM>=2 and igap>2: continue
815 label_ieta_online_wire.append('M%d%sL%d' % (iM,e_or_f,igap))
816 if iM==1 and igap==2: continue
817 label_ieta_online_strip.append('M%d%sL%d' % (iM,e_or_f,igap))
818 for isec in range(1,13):
819 for ista in range(1,4):
820 for iphi in range(4):
821 for ieta in range(1,7):
822 if ista==1: #M1
823 if ieta<=4: Eta='E%d' % (ieta)
824 else: Eta='F'
825 else: # M23
826 if ieta<=5: Eta='E%d' % (ieta)
827 else: Eta='F'
828 for igap in range(1,4):
829 if iphi==0 and igap==1 and ieta==1:
830 label = '%02dM%df%d%sL%d' % (isec,ista,iphi,Eta,igap)
831 else:
832 label = ''
833 label_glbl_index_online.append( label )
834 for iphi in range(24):
835 for igap in range(1,3):
836 if iphi==0 and igap==1: label = 'M4f%dE1L%d' % (iphi+1,igap)
837 else: label = ''
838 label_glbl_index_online.append( label )
839
840 for i in range(15) : label_ieta_bw1.append('')
841 for i in range(48) : label_iphi_bw1.append('')
842 for i in range(720) : label_glbl_index_bw1.append('')
843 for i in range(12) : label_ieta_bw23.append('')
844 for i in range(48) : label_iphi_bw23.append('')
845 for i in range(576) : label_glbl_index_bw23.append('')
846 for eta in range(6):
847 for sector in range(1,13):
848 for phi in range(4):
849 for lay in range(1,4):
850 for station in range(1,3):
851 if station==1 and eta==5: continue
852 if station!=1 and lay==3: continue
853 nlay = 3 if station==1 else 2
854 eta_index = eta * nlay + lay
855 phi_index = (sector - 1) * 4 + phi + 1
856 glbl_index = eta * 48*nlay + (phi_index - 1) * nlay + lay
857 if station==1:
858 label_ieta_bw1[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
859 label_iphi_bw1[phi_index-1] = '%df%d' % (sector,phi)
860 label_glbl_index_bw1[glbl_index-1] = '%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
861 else:
862 label_ieta_bw23[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
863 label_iphi_bw23[phi_index-1] = '%df%d' % (sector,phi)
864 label_glbl_index_bw23[glbl_index-1] = '%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
865
866 label_bw24sectors = []
867 for i in range(25) : label_bw24sectors.append('')
868 for side in ['A','C']:
869 for sector in range(1,13):
870 index = 13 + sector if side=='A' else 13 - sector
871 label_bw24sectors[index-1] = '%s%02d' % (side,sector)
872
873
874 myGroupHit = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_TgcHit', mainDir)
875 hitPath = 'Hit/'
876 hitEffPath = 'HitEff/'
877 myGroupHit.defineHistogram('hit_n;TgcPrd_nHits',title='TgcPrd_nHits;Number of hits;Number of events',
878 path=hitPath,xbins=100,xmin=0,xmax=1000,opt='kAddBinsDynamically', merge='merge')
879 myGroupHit.defineHistogram('hit_bcmask;TgcPrd_Timing',title='TgcPrd_Timing;Timing (BC bit mask);Number of events',
880 path=hitPath,xbins=8,xmin=-0.5,xmax=7.5,xlabels=['Undef','Next-only','Curr-only','Curr&Next','Prev-only','Prev&Next','Prev&Curr','Prev&Curr&Next'])
881
882 for opt in ['', '_wTrack']:
883 titlesuffix=opt
884 if opt=='':titlesuffix='_All'
885 myGroupHit.defineHistogram('mon_lb,hit_bw24sectors'+opt+';TgcPrd_BWSectorsVsLB'+titlesuffix,
886 title='BWSectorsVsLB'+titlesuffix+';Luminosity block;',type='TH2F',
887 path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors,opt='kAddBinsDynamically', merge='merge')
888 myGroupHit.defineHistogram('mon_lb,hit_bw24sectors_strip'+opt+';TgcPrd_BWSectorsVsLB_Strip'+titlesuffix,
889 title='BWSectorsVsLB_Strip'+titlesuffix+';Luminosity block;',type='TH2F',
890 path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors,opt='kAddBinsDynamically', merge='merge')
891 myGroupHit.defineHistogram('mon_lb,hit_bw24sectors_wire'+opt+';TgcPrd_BWSectorsVsLB_Wire'+titlesuffix,
892 title='BWSectorsVsLB_Wire'+titlesuffix+';Luminosity block;',type='TH2F',
893 path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors,opt='kAddBinsDynamically', merge='merge')
894 myGroupHit.defineHistogram('hit_bw24sectors'+opt+',hit_bwtiming'+opt+';TgcPrd_BWSectorsVsTiming'+titlesuffix,
895 title='BWSectorsVsTiming'+titlesuffix+';;Timing',type='TH2F',
896 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
897 myGroupHit.defineHistogram('hit_bw24sectors_strip'+opt+',hit_bwtiming_strip'+opt+';TgcPrd_BWSectorsVsTiming_Strip'+titlesuffix,
898 title='BWSectorsVsTiming_Strip'+titlesuffix+';;Timing',type='TH2F',
899 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
900 myGroupHit.defineHistogram('hit_bw24sectors_wire'+opt+',hit_bwtiming_wire'+opt+';TgcPrd_BWSectorsVsTiming_Wire'+titlesuffix,
901 title='BWSectorsVsTiming_Wire'+titlesuffix+';;Timing',type='TH2F',
902 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
903 myGroupHit.defineHistogram('hit_bwfulleta'+opt+',hit_bw24sectors'+opt+';TgcPrd_BWSectorsVsEta'+titlesuffix,
904 title='BWSectorsVsEta'+titlesuffix+';;',type='TH2F',
905 path=hitPath,xbins=6,xmin=-0.5,xmax=5.5,xlabels=['F','E1','E2','E3','E4','E5'],ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors)
906 myGroupHit.defineHistogram('hit_bwfulleta_strip'+opt+',hit_bw24sectors_strip'+opt+';TgcPrd_BWSectorsVsEta_Strip'+titlesuffix,
907 title='BWSectorsVsEta_Strip'+titlesuffix+';;',type='TH2F',
908 path=hitPath,xbins=6,xmin=-0.5,xmax=5.5,xlabels=['F','E1','E2','E3','E4','E5'],ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors)
909 myGroupHit.defineHistogram('hit_bwfulleta_wire'+opt+',hit_bw24sectors_wire'+opt+';TgcPrd_BWSectorsVsEta_Wire'+titlesuffix,
910 title='BWSectorsVsEta_Wire'+titlesuffix+';;',type='TH2F',
911 path=hitPath,xbins=6,xmin=-0.5,xmax=5.5,xlabels=['F','E1','E2','E3','E4','E5'],ybins=25,ymin=-12.5,ymax=12.5,ylabels=label_bw24sectors)
912
913
914
915 myGroupHit.defineHistogram('hit_bcmask_bw24sectors_All,hit_bcmask_for_bw24sectors_All;TgcPrd_BWSectorsVsBCMask_All',
916 title='BWSectorsVsBCMask_All;;',type='TH2F',
917 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=8,ymin=-0.5,ymax=7.5,ylabels=['Undef','Next-only','Curr-only','Curr&Next','Prev-only','Prev&Next','Prev&Curr','Prev&Curr&Next'])
918 myGroupHit.defineHistogram('hit_bcmask_bw24sectors_Wire,hit_bcmask_for_bw24sectors_Wire;TgcPrd_BWSectorsVsBCMask_Wire',
919 title='BWSectorsVsBCMask_Wire;;',type='TH2F',
920 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=8,ymin=-0.5,ymax=7.5,ylabels=['Undef','Next-only','Curr-only','Curr&Next','Prev-only','Prev&Next','Prev&Curr','Prev&Curr&Next'])
921 myGroupHit.defineHistogram('hit_bcmask_bw24sectors_Strip,hit_bcmask_for_bw24sectors_Strip;TgcPrd_BWSectorsVsBCMask_Strip',
922 title='BWSectorsVsBCMask_Strip;;',type='TH2F',
923 path=hitPath,xbins=25,xmin=-12.5,xmax=12.5,xlabels=label_bw24sectors,ybins=8,ymin=-0.5,ymax=7.5,ylabels=['Undef','Next-only','Curr-only','Curr&Next','Prev-only','Prev&Next','Prev&Curr','Prev&Curr&Next'])
924
925 for side in ['A', 'C']:# side-A or side-C
926 for s_or_w in ['S','W']:# strip or wire
927
928 s_or_w_long = "wire" if s_or_w == "W" else "strip"
929 x_name = "hit_online_x_%s_%s" % (side,s_or_w_long)
930 y_name = "hit_online_y_%s_%s" % (side,s_or_w_long)
931 objname = "HitMap_EtaVsPhi_%s_%s" % (side,s_or_w_long)
932 title = "HitMap_EtaVsPhi_%s_%s" % (side,s_or_w_long)
933 nbinsx = 36 if s_or_w == "S" else 41
934 nbinsy = 48
935 label_ieta = label_ieta_online_wire if s_or_w == "W" else label_ieta_online_strip
936 label_iphi = label_iphi_online
937 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,title=title+';;',type='TH2F',path=hitPath,
938 xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,
939 xlabels=label_ieta,ylabels=label_iphi)
940 eff_name = "hit_online_effnum_x_%s_%s" % (side,s_or_w_long)
941 x_name = "hit_online_effden_x_%s_%s" % (side,s_or_w_long)
942 y_name = "hit_online_effden_y_%s_%s" % (side,s_or_w_long)
943 objname = "EffMap_EtaVsPhi_%s_%s" % (side,s_or_w_long)
944 title = "EffMap_EtaVsPhi_%s_%s" % (side,s_or_w_long)
945 myGroupHit.defineHistogram(eff_name+','+x_name+','+y_name+';'+objname,
946 title=title+';;',type='TEfficiency',path=hitEffPath,
947 xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,xlabels=label_ieta,
948 ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,ylabels=label_iphi)
949 x_name = "hit_online_glblphi_effnum_%s_%s" % (side,s_or_w_long)
950 y_name = "hit_online_glblphi_effden_%s_%s" % (side,s_or_w_long)
951 objname = "EffMap_GlobalChamberIndex_%s_%s" % (side,s_or_w_long)
952 title = "EffMap_GlobalChamberIndex_%s_%s" % (side,s_or_w_long)
953 nbins = 2640
954 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
955 title=title+';;Efficiency',type='TEfficiency',path=hitEffPath,
956 xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index_online)
957 x_name = "mon_lb"
958 y_name = "hit_online_glblphi_%s_%s" % (side,s_or_w_long)
959 objname = "HitMap_LumiblockVsGlobalChamberIndex_%s_%s" % (side,s_or_w_long)
960 title = "HitMap_LumiblockVsGlobalChamberIndex_%s_%s" % (side,s_or_w_long)
961 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
962 title=title+';LumiBlock;',type='TH2F',path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,
963 ybins=nbins,ymin=0.5,ymax=nbins+0.5,ylabels=label_glbl_index_online,opt='kAddBinsDynamically', merge='merge')
964 for station in range(1,5):# M1,2,3,4
965 name = "%sM%02i%s" % (side,station,s_or_w) # e.g. AM01W
966 nbins = 10
967 label_glbl_index = []
968 if station==1:
969 nbins = 720
970 label_glbl_index = label_glbl_index_bw1
971 elif station==2 or station==3:
972 nbins = 576
973 label_glbl_index = label_glbl_index_bw23
974 else: # station==4
975 nbins = 96
976 label_glbl_index = label_glbl_index_sw
977
978 x_name = "mon_lb"
979 y_name = "hit_glblphi_%s" % (name)
980 objname = "TgcPrd_GlobalChamberIndexVsLB_%s" % (name)
981 title = "GlobalChamberIndexVsLB_%s" % (name)
982 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
983 title=title+';Luminosity block;',type='TH2F',
984 path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,
985 ybins=nbins,ymin=0.5,ymax=nbins+0.5,ylabels=label_glbl_index,opt='kAddBinsDynamically', merge='merge')
986 x_name = "hit_glblphi_%s" % (name)
987 y_name = "hit_bunch_%s" % (name)
988 objname = "TgcPrd_GlobalChamberIndexVsTiming_All_%s" % (name)
989 title = "GlobalChamberIndexVsTiming_All_%s" % (name)
990 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
991 title=title+';;Timing',type='TH2F',
992 path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
993 ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
994 x_name = "hit_glblphi_wTrack_%s" % (name)
995 y_name = "hit_bunch_wTrack_%s" % (name)
996 objname = "TgcPrd_GlobalChamberIndexVsTiming_wTrack_%s" % (name)
997 title = "GlobalChamberIndexVsTiming_wTrack_%s" % (name)
998 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
999 title=title+';;Timing',type='TH2F',
1000 path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
1001 ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
1002
1003 x_name = "hit_glblphi_effnum_%s" % (name)
1004 y_name = "hit_glblphi_effden_%s" % (name)
1005 objname = "TgcPrd_GlobalChamberIndex_Efficiency_%s" % (name)
1006 title = "GlobalChamberIndex_Efficiency_%s" % (name)
1007 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
1008 title=title+';;Efficiency',type='TEfficiency',
1009 path=hitEffPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index)
1010
1011 x_name = "hit_bcmask_glblphi_%s" % (name)
1012 y_name = "hit_bcmask_%s" % (name)
1013 objname = "TgcPrd_GlobalChamberIndexVsBCMask_%s" % (name)
1014 title = "GlobalChamberIndexVsBCMask_%s" % (name)
1015 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
1016 title=title+';;',type='TH2F',
1017 path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
1018 ybins=8,ymin=-0.5,ymax=7.5,ylabels=['Undef',
1019 'Next-only',
1020 'Curr-only',
1021 'Curr&Next',
1022 'Prev-only',
1023 'Prev&Next',
1024 'Prev&Curr',
1025 'Prev&Curr&Next'])
1026
1027
1028 nbinsx = 10
1029 nbinsy = 10
1030 label_ieta = []
1031 label_iphi = []
1032 if station==1:
1033 nbinsx = 15
1034 nbinsy = 48
1035 label_ieta = label_ieta_bw1
1036 label_iphi = label_iphi_bw1
1037 elif station==2 or station==3:
1038 nbinsx = 12
1039 nbinsy = 48
1040 label_ieta = label_ieta_bw23
1041 label_iphi = label_iphi_bw23
1042 else: # station==4
1043 nbinsx = 4
1044 nbinsy = 24
1045 label_ieta = label_ieta_sw
1046 label_iphi = label_iphi_sw
1047
1048 x_name = "hit_x_%s" % (name)
1049 y_name = "hit_y_%s" % (name)
1050 objname = "TgcPrd_iPhiVsiEta_%s" % (name)
1051 title = "iPhiVsiEta_%s" % (name)
1052 myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
1053 title=title+';;',type='TH2F',path=hitPath,
1054 xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,xlabels=label_ieta,
1055 ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,ylabels=label_iphi)
1056
1057 eff_name = "hit_effnum_x_%s" % (name)
1058 x_name = "hit_effden_x_%s" % (name)
1059 y_name = "hit_effden_y_%s" % (name)
1060 objname = "TgcPrd_iPhiVsiEta_Efficiency_%s" % (name)
1061 title = "iPhiVsiEta_Efficiency_%s" % (name)
1062 myGroupHit.defineHistogram(eff_name+','+x_name+','+y_name+';'+objname,
1063 title=title+';;',type='TEfficiency',
1064 path=hitEffPath,
1065 xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,xlabels=label_ieta,
1066 ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,ylabels=label_iphi)
1067
1068
1069
1070 for side in ['A', 'C']:# side-A or side-C
1071 for sector in range(0,16):# Sector 00...15 (00 for FI, 01..15 for EI, 01..12 for BW)
1072 for station in range(1,5):# M1,2,3,4
1073 for phi in range(25):# internal phi 0,1,2,3...24 (0..3 for BW and EI, 1..24 for FI)
1074 for eta in range(6):# eta index 1,,,5 for Endcap, and 0 for Forward
1075 for lay in range(1,4):# sub-layer 1,2,3 (triplet) or 1,2 (doublet)
1076 if station<4 and (sector>12 or sector==0):continue # BW only 1..12 sectors
1077 if station==4 and eta==0 and sector!=0:continue # FI only sector-0
1078 if station==4 and eta==1 and sector%2==0:continue # EI only odd-sectors (1,3,5,7..15)
1079 if station==4 and eta==0 and phi==0:continue # FI only 1..24 internal phi
1080 if (station<4 or (station==4 and eta==1)) and phi>3: continue # BW and EI only 0..3 internal phi
1081 if station==1 and eta==5:continue # BW M1 has only 1..4 eta
1082 if station==4 and eta>1:continue # EI/FI eta 0 or 1
1083 if station>1 and lay>2:continue # triplet is only M1
1084 for s_or_w in ['S','W']:# strip or wire
1085 if station==1 and lay==2 and s_or_w=="S":continue # there is no strip channel on M1 L2
1086 nbins = 100
1087 if s_or_w=="S":
1088 nbins = 32
1089 else:
1090 if station==1:
1091 if eta==1: nbins = 24
1092 elif eta==2: nbins = 23
1093 elif eta==3:
1094 if lay==1: nbins = 61
1095 else: nbins = 62
1096 elif eta==4:
1097 if lay==1: nbins = 92
1098 else: nbins = 91
1099 else: # forward
1100 if lay==2: nbins = 104
1101 else: nbins = 105
1102 elif station==2:
1103 if eta==1 or eta==2 or eta==3: nbins = 32
1104 elif eta==4: nbins = 103
1105 elif eta==5: nbins = 110
1106 else: nbins = 125 # forward
1107 elif station==3:
1108 if eta==1: nbins = 31
1109 elif eta==2: nbins = 30
1110 elif eta==3: nbins = 32
1111 elif eta==4: nbins = 106
1112 elif eta==5: nbins = 96
1113 else: nbins = 122
1114 else: # EI/FI
1115 if eta==1:
1116 if (sector==1 and phi==0) or (sector==1 and phi==2) or (sector==9 and phi==0) or (sector==9 and phi==2) or sector==11 or sector==15:
1117 nbins = 16 # EI short
1118 else:
1119 nbins = 24 # EI
1120 else: nbins = 32 # FI
1121
1122 if doGapByGapHitOcc:
1123 chamber_name = "%s%02dM%02df%02d%s%02dL%02d%s" % (side,sector,station,phi,'F' if eta==0 else 'E',eta,lay,s_or_w)
1124 objname = 'TgcPrd_ChannelOccupancy_'+ chamber_name
1125 title = 'Occ_'+chamber_name
1126 myGroupHit.defineHistogram('hit_on_'+chamber_name+';'+objname,
1127 title=title+';Channel ID;Number of events',
1128 path="GapByGapHits/",xbins=nbins,xmin=0.5,xmax=nbins+0.5)
1129
1130 if doGapByGapEffMap:
1131 objname = 'TgcPrd_GapByGapEffMap_' + chamber_name
1132 title = 'Eff_' + chamber_name
1133 objectx = 'hit_localX_effden_' + chamber_name
1134 objecty = 'hit_localY_effden_' + chamber_name
1135 objectz = 'hit_effnum_' + chamber_name
1136 myGroupHit.defineHistogram(objectz+','+objectx+','+objecty+';'+objname,
1137 title=title+';X [mm];Y [mm]',type='TEfficiency',
1138 path="GapByGapEffMap/",xbins=100,xmin=-1000,xmax=1000,ybins=100,ymin=-1500,ymax=1500)
1139
1140 if lay == 1 and doHitResiduals:
1141 chamber_name = "%s%02dM%02df%02d%s%02d%s" % (side,sector,station,phi,'F' if eta==0 else 'E',eta,s_or_w)
1142 objname = 'TgcPrd_Residual_' + chamber_name
1143 title = 'Res_'+chamber_name
1144 myGroupHit.defineHistogram('hit_residual_on_'+chamber_name+';'+objname,
1145 title=title+';Residual [mm];Number of events',
1146 path="Residuals/",xbins=400,xmin=-1000,xmax=1000)
1147
1148
1149
1150
1151
1152
1153
1154 myGroupCoin = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_TgcCoin', mainDir)
1155 coinPath = 'Coin/'
1156 myGroupCoin.defineHistogram('nTgcCoinDetElementIsNull;h_nTgcCoinDetElementIsNull',title='nTgcCoinDetElementIsNull',
1157 path=coinPath,xbins=101,xmin=-0.5,xmax=100.5)
1158 myGroupCoin.defineHistogram('nTgcCoinPostOutPtrIsNull;h_nTgcCoinPostOutPtrIsNull',title='nTgcCoinPostOutPtrIsNull',
1159 path=coinPath,xbins=101,xmin=-0.5,xmax=100.5)
1160 myGroupCoin.defineHistogram('trigger_sectors_endcap,trigger_multiplicity_endcap;SL_Endcap_TgcCoin_Evt_SectorVsMultiplicity',
1161 title='SL_Endcap_TgcCoin_Evt_SectorVsMultiplicity;SL Trigger Sector +1 (>0 for A, <0 for C);Multiplicity',
1162 path=coinPath,type='TH2F',ybins=10,ymin=-0.5,ymax=9.5,xbins=97,xmin=-48.5,xmax=48.5)
1163 myGroupCoin.defineHistogram('trigger_sectors_forward,trigger_multiplicity_forward;SL_Forward_TgcCoin_Evt_SectorVsMultiplicity',
1164 title='SL_Forward_TgcCoin_Evt_SectorVsMultiplicity;SL Trigger Sector +1 (>0 for A, <0 for C);Multiplicity',
1165 path=coinPath,type='TH2F',ybins=10,ymin=-0.5,ymax=9.5,xbins=49,xmin=-24.5,xmax=24.5)
1166
1167 for Det in ['Eifi','Tile','Rpc','Nsw']:
1168 det = Det.lower()
1169 for Region in ['','_Endcap','_Forward']:
1170 region = Region.lower()
1171 nrois = 64 if Region == '_Forward' else 148
1172 nsectors = 24 if Region == '_Forward' else 48
1173 rmask_endfwd = 'coin_inner_tgc_forward' if Region == '_Forward' else 'coin_inner_tgc_endcap'
1174 rmask_coverage = 'coin_inner_tgc_etaupto1p3'
1175 if Det == 'Nsw':
1176 if Region == '_Endcap':
1177 rmask_coverage = 'coin_inner_tgc_etafrom1p3_endcap'
1178 else:
1179 rmask_coverage = 'coin_inner_tgc_forward'
1180
1181
1182 if Region == '':
1183 myGroupCoin.defineHistogram('coin_inner_'+det+'_roiEta,coin_inner_'+det+'_roiPhi;InnerCoin_Evt2D_'+Det+'_EtaVsPhi',
1184 title='InnerCoin_Evt2D_'+Det+'_EtaVsPhi;RoI Eta;RoI Phi',
1185 path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1186 if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1187 myGroupCoin.defineHistogram('coin_inner_'+det+'_roiNum,coin_inner_'+det+'_slSector'+region+';InnerCoin_Evt2D_'+Det+Region+'_SectorVsRoI',
1188 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1189 path=coinPath,type='TH2F',ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1190 myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid',
1191 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Bcid ('+Det+' - ATLAS)',
1192 path=coinPath,type='TH2F',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,ybins=31,ymin=-15.5,ymax=15.5)
1193 myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaTiming;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming',
1194 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Signal Timing',
1195 path=coinPath,type='TH2F',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,ybins=11,ymin=-5.5,ymax=5.5)
1196 myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid_BcCurr',
1197 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid_BcCurr;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Bcid ('+Det+' - ATLAS)',
1198 path=coinPath,type='TH2F',cutmask='coin_inner_'+det+'_currBc',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,ybins=31,ymin=-15.5,ymax=15.5)
1199 myGroupCoin.defineHistogram('mon_bcid,coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_BcidVsDeltaBcid_BcCurr',
1200 title='InnerCoin_Evt2D_'+Det+Region+'_BcidVsDeltaBcid_BcCurr;Bcid;Delta Bcid ('+Det+' - ATLAS)',
1201 path=coinPath,type='TH2F',cutmask='coin_inner_'+det+region+'_currBc',xbins=4096,xmin=-0.5,xmax=4095.5,ybins=31,ymin=-15.5,ymax=15.5)
1202 myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaTiming;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming_goodBcid0',
1203 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming_goodBcid0;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Signal Timing',
1204 path=coinPath,type='TH2F',cutmask='coin_inner_'+det+'_goodBcid0',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,ybins=11,ymin=-5.5,ymax=5.5)
1205
1206
1207 for bcid in ['','0','1','2']:
1208 goodBcid = '_goodBcid'+bcid if bcid != '' else ''
1209 cmask = 'coin_inner_'+det+goodBcid if bcid != '' else ''
1210 myGroupCoin.defineHistogram('mon_lb,coin_inner_'+det+'_slSector_goodTiming'+region+';InnerCoin_Evt2D_'+Det+Region+'_SectorVsLB_BcCurr'+goodBcid,
1211 title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsLB_BcCurr'+goodBcid+';Lumi Block;SL Trigger Sector +1 (>0 for A, <0 for C)',
1212 path=coinPath,type='TH2F',cutmask=cmask,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=100,xmin=0.5,xmax=100.5,
1213 opt='kAddBinsDynamically', merge='merge')
1214
1215
1216 for htype in ['Eff','Reduction']:
1217 fake = '_fake' if htype == 'Reduction' else ''
1218
1219 if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1220 myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_CoinFlag',
1221 title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_CoinFlag;SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1222 path=coinPath,type='TEfficiency',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,cutmask=rmask_coverage)
1223 myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_CoinFlag',
1224 title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_CoinFlag;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1225 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1226 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+'_goodBcid0,coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodBcid0',
1227 title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodBcid0;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1228 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1229 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_goodTiming',
1230 title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_goodTiming;SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1231 path=coinPath,type='TEfficiency',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,cutmask=rmask_coverage)
1232 myGroupCoin.defineHistogram('coin_inner_tgc_anyBc'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI',
1233 title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1234 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1235 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodTiming',
1236 title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodTiming;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1237 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1238
1239 if Region == '':
1240 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_goodTiming',
1241 title='InnerCoin_'+htype+'1D_'+Det+'_Eta_goodTiming;RoI Eta;Efficiency',
1242 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1243 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_eta,coin_inner_tgc'+fake+'_phi;InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_goodTiming',
1244 title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_goodTiming;RoI Eta;RoI Phi',
1245 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1246 myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_eta,coin_inner_tgc'+fake+'_phi;InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_CoinFlag',
1247 title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_CoinFlag;RoI Eta;RoI Phi',
1248 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1249 myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_CoinFlag',
1250 title='InnerCoin_'+htype+'1D_'+Det+'_Eta_CoinFlag;RoI Eta;Efficiency',
1251 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1252
1253
1254 for Bunch in ['Any','Prev','Curr','Next','NextNext']:
1255 bunch = Bunch.lower()
1256
1257 for bcid in ['','0','1','2']:
1258 goodBcid = '_goodBcid'+bcid if bcid != '' else ''
1259 if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1260 myGroupCoin.defineHistogram('coin_inner_tgc_'+bunch+'Bc'+Det+goodBcid+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_Bc'+Bunch+goodBcid,
1261 title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_Bc'+Bunch+goodBcid+';SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1262 path=coinPath,type='TEfficiency',cutmask=rmask_coverage,xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5)
1263 myGroupCoin.defineHistogram('coin_inner_tgc_'+bunch+'Bc'+Det+goodBcid+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_Bc'+Bunch+goodBcid,
1264 title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_Bc'+Bunch+goodBcid+';RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1265 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1266 if Region == '':
1267 myGroupCoin.defineHistogram('coin_inner_tgc_'+bunch+'Bc'+Det+goodBcid+',coin_inner_tgc'+fake+'_eta,coin_inner_tgc'+fake+'_phi;InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_Bc'+Bunch+goodBcid,
1268 title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_Bc'+Bunch+goodBcid+';RoI Eta;RoI Phi',
1269 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1270 myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+goodBcid+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_Bc'+Bunch+goodBcid,
1271 title='InnerCoin_'+htype+'1D_'+Det+'_Eta_Bc'+Bunch+goodBcid+';RoI Eta;Efficiency',
1272 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1273
1274
1275 for bcmask in ['1','2','3','4','5','6','7']:
1276 bcmaskmean = ''
1277 if bcmask == '1': bcmaskmean = 'NextOnly'
1278 elif bcmask == '2': bcmaskmean = 'CurrOnly'
1279 elif bcmask == '3': bcmaskmean = 'CurrAndNextOnly'
1280 elif bcmask == '4': bcmaskmean = 'PrevOnly'
1281 elif bcmask == '5': bcmaskmean = 'PrevAndNextOnly'
1282 elif bcmask == '6': bcmaskmean = 'PrevAndCurrOnly'
1283 elif bcmask == '7': bcmaskmean = 'PrevAndCurrAndNext'
1284 myGroupCoin.defineHistogram('coin_inner_tgc_Nsw_bcmask'+bcmask+',coin_inner_tgc_eta,coin_inner_tgc_phi;InnerCoin_Eff2D_Nsw_EtaVsPhi_'+bcmaskmean,
1285 title='InnerCoin_Eff2D_Nsw_EtaVsPhi_'+bcmaskmean+';RoI Eta;RoI Phi',
1286 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1287 myGroupCoin.defineHistogram('coin_inner_tgc_Nsw_bcmask'+bcmask+',coin_inner_tgc_eta;InnerCoin_Eff1D_Nsw_Eta_'+bcmaskmean,
1288 title='InnerCoin_Eff1D_Nsw_Eta_'+bcmaskmean+';RoI Eta;Efficiency',
1289 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1290 for Region in ['Endcap','Forward']:
1291 nrois = 64 if Region == 'Forward' else 148
1292 nsectors = 24 if Region == 'Forward' else 48
1293 rmask_endfwd = 'coin_inner_tgc_forward' if Region == 'Forward' else 'coin_inner_tgc_endcap'
1294 rmask_coverage = 'coin_inner_tgc_forward' if Region == 'Forward' else 'coin_inner_tgc_etafrom1p3_endcap'
1295 myGroupCoin.defineHistogram('coin_inner_tgc_Nsw_bcmask'+bcmask+',coin_inner_tgc_sector;InnerCoin_Eff1D_Nsw_'+Region+'_Sector_'+bcmaskmean,
1296 title='InnerCoin_Eff1D_Nsw_'+Region+'_Sector_'+bcmaskmean+';SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1297 path=coinPath,type='TEfficiency',cutmask=rmask_coverage,xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5)
1298 myGroupCoin.defineHistogram('coin_inner_tgc_Nsw_bcmask'+bcmask+',coin_inner_tgc_roi,coin_inner_tgc_sector;InnerCoin_Eff2D_Nsw_'+Region+'_SectorVsRoI_'+bcmaskmean,
1299 title='InnerCoin_Eff2D_Nsw_'+Region+'_SectorVsRoI_'+bcmaskmean+';RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1300 path=coinPath,type='TEfficiency',cutmask=rmask_endfwd,ybins=nsectors*2+1,ymin=-1*nsectors-0.5,ymax=nsectors+0.5,xbins=nrois,xmin=-0.5,xmax=nrois-0.5)
1301
1302 #Tile inner coincidence
1303 myGroupCoin.defineHistogram('coin_inner_tile2_slSector,coin_inner_tile2_tmdbDecisions;InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions',
1304 title='InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions;SL Trigger Sector +1 (>0 for A, <0 for C);TMDB Module Decisions',
1305 path=coinPath,type='TH2F',xbins=97,xmin=-48.5,xmax=48.5,ybins=3,ymin=0.5,ymax=3.5,ylabels=['D5 only','D6 only','D5+D6'])
1306 myGroupCoin.defineHistogram('coin_inner_tile2_slSector,coin_inner_tile2_tmdbDecisions;InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions_BcCurr',
1307 title='InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions_BcCurr;SL Trigger Sector +1 (>0 for A, <0 for C);TMDB Module Decisions',
1308 path=coinPath,type='TH2F',cutmask='coin_inner_tile2_currBc',xbins=97,xmin=-48.5,xmax=48.5,ybins=3,ymin=0.5,ymax=3.5,ylabels=['D5 only','D6 only','D5+D6'])
1309
1310 #Nsw inner coincidence
1311 myGroupCoin.defineHistogram('coin_inner_nsw_roiEta,coin_inner_nsw_R;InnerCoin_Evt2D_Nsw_RoiEtaVsR',
1312 title='InnerCoin_Evt2D_Nsw_RoiEtaVsR;SL RoI Eta;NSW R',
1313 path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=251,ymin=-0.5,ymax=250.5)
1314 myGroupCoin.defineHistogram('coin_inner_nsw_roiPhi,coin_inner_nsw_Phi;InnerCoin_Evt2D_Nsw_RoiPhiVsPhi',
1315 title='InnerCoin_Evt2D_Nsw_RoiPhiVsPhi;SL RoI Phi;NSW Phi',
1316 path=coinPath,type='TH2F',xbins=48*10,xmin=-math.pi,xmax=math.pi,ybins=61,ymin=-0.5,ymax=60.5)
1317 myGroupCoin.defineHistogram('coin_inner_nsw_roiEta,coin_inner_nsw_deltaR;InnerCoin_Evt2D_Nsw_RoiEtaVsDeltaR',
1318 title='InnerCoin_Evt2D_Nsw_RoiEtaVsDeltaR;SL RoI Eta;DeltaR(Nsw - SL)',
1319 path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=1000,ymin=-500,ymax=500)
1320
1321
1322
1324 for side in ['A','C']:
1325 label_slnswinput_index = []
1326 slid = 0
1327 for sec in range(1,13):# 1..12
1328 for dup in range(2):# 0..1
1329 slid += 1
1330 for inp in range(6):# 0..6
1331 label = '%s%02dE%02d-%d' % (side,sec,slid,inp) # A01E01-0
1332 label_slnswinput_index.append(label)
1333 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid',
1334 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid;;Delta Bcid (Nsw - ATLAS)',
1335 path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5)
1336 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming',
1337 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming;;Delta Signal Timing (Nsw - ATLAS)',
1338 path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5)
1339
1340 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid_goodTiming',
1341 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid_goodTiming;;Delta Bcid (Nsw - ATLAS)',
1342 path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5,cutmask='coin_inner_nsw_goodTiming')
1343 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming_goodBcid0',
1344 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming_goodBcid0;;Delta Signal Timing (Nsw - ATLAS)',
1345 path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5,cutmask='coin_inner_nsw_goodBcid0')
1346
1347 for bcid in ['0','1','2']:
1348 myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Endcap;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_NswGoodTimingBcid'+bcid,
1349 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_NswGoodTimingBcid'+bcid+';Lumi Block;',cutmask='coin_inner_nsw_goodTimingBcid'+bcid,
1350 opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1351 ybins=144,ymin=-0.5,ymax=143.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1352 for bunch in ['Prev','Curr','Next','NextNext']:
1353 myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Endcap;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_Bc'+bunch,
1354 title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_Bc'+bunch+';Lumi Block;',cutmask='coin_inner_nsw_Bc'+bunch,
1355 opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1356 ybins=144,ymin=-0.5,ymax=143.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1357
1358
1359 # Forward
1360 for side in ['A','C']:
1361 label_slnswinput_index = []
1362 for sec in range(1,13):# 1..12
1363 for inp in range(6):# 0..6
1364 label = '%s%02dF%02d-%d' % (side,sec,sec,inp) # A01F01-0
1365 label_slnswinput_index.append(label)
1366 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid',
1367 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid;;Delta Bcid (Nsw - ATLAS)',
1368 path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5)
1369 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming',
1370 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming;;Delta Signal Timing (Nsw - ATLAS)',
1371 path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5)
1372
1373 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid_goodTiming',
1374 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid_goodTiming;;Delta Bcid (Nsw - ATLAS)',
1375 path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5,cutmask='coin_inner_nsw_goodTiming')
1376 myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming_goodBcid0',
1377 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming_goodBcid0;;Delta Signal Timing (Nsw - ATLAS)',
1378 path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5,cutmask='coin_inner_nsw_goodBcid0')
1379
1380 for bcid in ['0','1','2']:
1381 myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Forward;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_NswGoodTimingBcid'+bcid,
1382 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_NswGoodTimingBcid'+bcid+';Lumi Block;',cutmask='coin_inner_nsw_goodTimingBcid'+bcid,
1383 opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1384 ybins=72,ymin=-0.5,ymax=71.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1385 for bunch in ['Prev','Curr','Next','NextNext']:
1386 myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Forward;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_Bc'+bunch,
1387 title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_Bc'+bunch+';Lumi Block;',cutmask='coin_inner_nsw_Bc'+bunch,
1388 opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1389 ybins=72,ymin=-0.5,ymax=71.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1390
1391
1392 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_sector;InnerCoin_Eff2D_CoinFlagC_Endcap_SectorVsRoI',
1393 title='InnerCoin_Eff2D_CoinFlagC_Endcap_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1394 path=coinPath,type='TEfficiency',cutmask='coin_inner_tgc_endcap',ybins=97,ymin=-48.5,ymax=48.5,xbins=149,xmin=-0.5,xmax=148.5)
1395 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_fake_sector;InnerCoin_Reduction2D_CoinFlagC_Endcap_SectorVsRoI',
1396 title='InnerCoin_Reduction2D_CoinFlagC_Endcap_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1397 path=coinPath,type='TEfficiency',cutmask='coin_inner_tgc_endcap',ybins=97,ymin=-48.5,ymax=48.5,xbins=149,xmin=-0.5,xmax=148.5)
1398
1399 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_sector;InnerCoin_Eff2D_CoinFlagC_Forward_SectorVsRoI',
1400 title='InnerCoin_Eff2D_CoinFlagC_Forward_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1401 path=coinPath,type='TEfficiency',cutmask='coin_inner_tgc_forward',ybins=49,ymin=-24.5,ymax=24.5,xbins=65,xmin=-0.5,xmax=64.5)
1402 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_fake_sector;InnerCoin_Reduction2D_CoinFlagC_Forward_SectorVsRoI',
1403 title='InnerCoin_Reduction2D_CoinFlagC_Forward_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1404 path=coinPath,type='TEfficiency',cutmask='coin_inner_tgc_forward',ybins=49,ymin=-24.5,ymax=24.5,xbins=65,xmin=-0.5,xmax=64.5)
1405
1406 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_eta,coin_inner_tgc_phi;InnerCoin_Eff2D_CoinFlagC_EtaVsPhi',
1407 title='InnerCoin_Eff2D_CoinFlagC_EtaVsPhi;RoI Eta;RoI Phi',
1408 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1409 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_fake_eta,coin_inner_tgc_fake_phi;InnerCoin_Reduction2D_CoinFlagC_EtaVsPhi',
1410 title='InnerCoin_Reduction2D_CoinFlagC_EtaVsPhi;RoI Eta;RoI Phi',
1411 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1412
1413 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_eta;InnerCoin_Eff1D_CoinFlagC_Eta',
1414 title='InnerCoin_Eff1D_CoinFlagC_Eta;RoI Eta;Efficiency',
1415 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1416 myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_fake_eta;InnerCoin_Reduction1D_CoinFlagC_Eta',
1417 title='InnerCoin_Reduction1D_CoinFlagC_Eta;RoI Eta;Efficiency',
1418 path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1419
1420 for coinType in ['SL','HPT','LPT','EIFI']:
1421 for region in ['','Endcap','Forward']:
1422 suffix0 = coinType if region == '' else coinType+'_'+region
1423 nrois = 148 if region == 'Endcap' else 64
1424 nsectors = 48 if region == 'Endcap' else 24
1425 for chanType in ['','Wire','Strip']:
1426 if coinType == 'SL' and chanType != '': continue # no wire or strip for "SL"
1427 if coinType == 'HPT' and chanType == '': continue # always wire or strip for "HPT"
1428 if coinType == 'LPT' and chanType == '': continue # always wire or strip for "LPT"
1429 if coinType == 'EIFI' and chanType == '': continue # always wire or strip for "EIFI" tracklet
1430 suffix = suffix0+'_' if chanType == '' else suffix0+'_'+chanType+'_'
1431
1432 if coinType == 'SL':
1433 for thr in range(1,16): #1.2...15
1434 cut = suffix+"coin_cutmask_pt"+str(thr)
1435 PT = "_Thr%02d" % thr
1436 if region == '':
1437 myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi'+PT,
1438 title=suffix+'TgcCoin_Evt_EtaVsPhi'+PT+';Eta;Phi',
1439 type='TH2F',path=coinPath,cutmask=cut,
1440 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1441 else:
1442 myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI'+PT,
1443 title=suffix+'TgcCoin_Evt_SectorVsRoI'+PT+';RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1444 type='TH2F',path=coinPath,cutmask=cut,
1445 xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1446 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1447
1448 if region == '':
1449 myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi',
1450 title=suffix+'TgcCoin_Evt_EtaVsPhi;Eta;Phi',
1451 type='TH2F',path=coinPath,
1452 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1453 myGroupCoin.defineHistogram(suffix+'coin_ext_matched,'+suffix+'coin_ext_eta,'+suffix+'coin_ext_phi;'+suffix+'TgcCoin_Eff_EtaVsPhi',
1454 title=suffix+'TgcCoin_Eff_EtaVsPhi;Eta;Phi',
1455 type='TEfficiency',path=coinPath,
1456 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1457 if coinType == 'SL':
1458 for coinflag in ['Qpos','Qneg','F','C','H','EI','Tile','RPC','NSW']:
1459 myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi_CoinFlag'+coinflag,
1460 title=suffix+'TgcCoin_Evt_EtaVsPhi_CoinFlag'+coinflag+';Eta;Phi',cutmask=suffix+'coin_CoinFlag'+coinflag,
1461 type='TH2F',path=coinPath,
1462 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1463 for coinflag in ['Q','F','C','H','EI','Tile','RPC','NSW']:
1464 myGroupCoin.defineHistogram(suffix+'coin_ext_matched_CoinFlag'+coinflag+','+suffix+'coin_ext_matched_eta,'+suffix+'coin_ext_matched_phi;'+suffix+'TgcCoin_Eff_EtaVsPhi_CoinFlag'+coinflag,
1465 title=suffix+'TgcCoin_Eff_EtaVsPhi_CoinFlag'+coinflag+';Eta;Phi',
1466 type='TEfficiency',path=coinPath,
1467 xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1468
1469 else:
1470 myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_bunch;'+suffix+'TgcCoin_Evt_SectorVsTiming',
1471 title=suffix+'TgcCoin_Evt_SectorVsTiming;Trigger Sector +1 (>0 for A, <0 for C);Timing',
1472 type='TH2F',path=coinPath,
1473 xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1474 ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
1475 myGroupCoin.defineHistogram(suffix+'coin_lb,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsLB',
1476 title=suffix+'TgcCoin_Evt_SectorVsLB;LumiBlock;Trigger Sector +1 (>0 for A, <0 for C)',
1477 type='TH2F',path=coinPath,
1478 xbins=100,xmin=0.5,xmax=100.5,opt='kAddBinsDynamically', merge='merge',
1479 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1480
1481 if coinType == 'SL':
1482 for coinflag in ['EI','Tile','RPC','NSW','F','C','H']:
1483 if region == 'Forward' :
1484 if coinflag == 'EI' :continue
1485 if coinflag == 'Tile' :continue
1486 if coinflag == 'RPC' :continue
1487 myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI_CoinFlag'+coinflag,
1488 title=suffix+'TgcCoin_Evt_SectorVsRoI_CoinFlag'+coinflag+';RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1489 type='TH2F',path=coinPath,cutmask=suffix+'coin_CoinFlag'+coinflag,
1490 xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1491 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1492 if coinflag != 'H' :
1493 myGroupCoin.defineHistogram(suffix+'coin_lb,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsLB_CoinFlag'+coinflag,
1494 title=suffix+'TgcCoin_Evt_SectorVsLB_CoinFlag'+coinflag+';LumiBlock;Trigger Sector +1 (>0 for A, <0 for C)',
1495 type='TH2F',path=coinPath,cutmask=suffix+'coin_CoinFlag'+coinflag,
1496 xbins=100,xmin=0.5,xmax=100.5,opt='kAddBinsDynamically', merge='merge',
1497 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1498
1499 myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI',
1500 title=suffix+'TgcCoin_Evt_SectorVsRoI;RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1501 type='TH2F',path=coinPath,
1502 xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1503 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1504 myGroupCoin.defineHistogram(suffix+'coin_veto_roi,'+suffix+'coin_veto_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI_wVeto',
1505 title=suffix+'TgcCoin_Evt_SectorVsRoI_wVeto;RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1506 type='TH2F',path=coinPath,
1507 xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1508 ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1509 myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_pt;'+suffix+'TgcCoin_Evt_SectorVsThr',
1510 title=suffix+'TgcCoin_Evt_SectorVsThr;Trigger Sector +1 (>0 for A, <0 for C);Threshold',
1511 type='TH2F',path=coinPath,
1512 xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1513 ybins=15,ymin=0.5,ymax=15.5)
1514 myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_isPositiveDeltaR;'+suffix+'TgcCoin_Evt_SectorVsisPositiveDeltaR',
1515 title=suffix+'TgcCoin_Evt_SectorVsisPositiveDeltaR;Trigger Sector +1 (>0 for A, <0 for C);isPositiveDeltaR',
1516 type='TH2F',path=coinPath,
1517 xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1518 ybins=2,ymin=-0.5,ymax=1.5)
1519
1520
1521
1522
1523 acc = helper.result()
1524 result.merge(acc)
1525 return result
1526
1527if __name__=='__main__':
1528 from AthenaCommon.Logging import log
1529 from AthenaCommon.Constants import INFO
1530 log.setLevel(INFO)
1531
1532 from AthenaConfiguration.AllConfigFlags import initConfigFlags
1533 flags = initConfigFlags()
1534 flags.Input.isMC = True
1535 flags.Concurrency.NumThreads = 8
1536
1537 import glob
1538 import sys
1539 if len(sys.argv) == 3:
1540 inputs = sys.argv[1].split(',')
1541 flags.Input.Files = inputs
1542 flags.Output.HISTFileName = sys.argv[2]
1543 else:
1544 inputs = glob.glob('data/*')
1545 flags.Input.Files = inputs
1546 flags.Output.HISTFileName = 'ExampleMonitorOutput.root'
1547
1548 if not flags.Input.isMC:
1549 flags.IOVDb.GlobalTag = "CONDBR2-BLKPA-2024-03"
1550
1551 flags.lock()
1552 flags.dump()
1553
1554 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
1555 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
1556 cfg = MainServicesCfg(flags)
1557 cfg.merge(PoolReadCfg(flags))
1558
1559 tgcRawDataMonitorAcc = TgcRawDataMonitoringConfig(flags)
1560 cfg.merge(tgcRawDataMonitorAcc)
1561 cfg.getEventAlgo('TgcRawDataMonAlg').OutputLevel = INFO
1562 cfg.getEventAlgo('TgcRawDataMonAlg').MonitorThresholdPatterns = True
1563 cfg.getEventAlgo('TgcRawDataMonAlg').TagAndProbe = True
1564 cfg.getEventAlgo('TgcRawDataMonAlg').TgcRawDataMonitorTool.OutputLevel = INFO
1565 cfg.getEventAlgo('TgcRawDataMonAlg').FillGapByGapHistograms = True
1566 cfg.getEventAlgo('TgcRawDataMonAlg').UseMuonSelectorTool = True
1567 cfg.getEventAlgo('TgcRawDataMonAlg').UseOnlyCombinedMuons = True
1568 cfg.getEventAlgo('TgcRawDataMonAlg').UseOnlyMuidCoStacoMuons = True
1569 cfg.getEventAlgo('TgcRawDataMonAlg').RequireIsolated = True
1570 cfg.getEventAlgo('TgcRawDataMonAlg').IsolationWindow = 1.0
1571 cfg.getEventAlgo('TgcRawDataMonAlg').ResidualWindow = 200.
1572 cfg.getEventAlgo('TgcRawDataMonAlg').nHitsInOtherTGCWire = 3
1573 cfg.getEventAlgo('TgcRawDataMonAlg').nHitsInOtherTGCStrip = 2
1574 cfg.getEventAlgo('TgcRawDataMonAlg').MaskChannelFileName = 'tgc_mask_channels.txt'
1575 cfg.getEventAlgo('TgcRawDataMonAlg').TagMuonInDifferentSystem = False
1576 cfg.getEventAlgo('TgcRawDataMonAlg').StreamerFilter = '' # such as 'HLT_noalg_L1MU14FCH'
1577 cfg.getEventAlgo('TgcRawDataMonAlg').doExpressProcessing = False
1578 cfg.getEventAlgo('TgcRawDataMonAlg').pTCutOnTrigExtrapolation = 20000.
1579
1580 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
1581 cfg.merge(AtlasFieldCacheCondAlgCfg(flags))
1582
1583 if not flags.Input.isMC:
1584 from AthenaConfiguration.ComponentFactory import CompFactory
1585 cfg.getEventAlgo('TgcRawDataMonAlg').GRLTool = CompFactory.GoodRunsListSelectorTool('GoodRunsListSelectorTool')
1586 cfg.getEventAlgo('TgcRawDataMonAlg').GRLTool.GoodRunsListVec = ['data22_13p6TeV.periodAllYear_DetStatus-v109-pro28-04_MERGED_PHYS_StandardGRL_All_Good_25ns.xml']
1587
1588 flags_dummy = initConfigFlags()
1589 flags_dummy.Input.Files = flags.Input.Files
1590 flags_dummy.Trigger.triggerConfig = "FILE"
1591 flags_dummy.Trigger.triggerMenuSetup = "Dev_pp_run3_v1"
1592 flags_dummy.lock()
1593 from TrigConfigSvc.TrigConfigSvcCfg import L1ConfigSvcCfg,generateL1Menu
1594 cfg.merge( L1ConfigSvcCfg( flags_dummy ) )
1595 generateL1Menu(flags_dummy)
1596
1597 cfg.printConfig(withDetails=False, summariseProps = False)
1598
1599 cfg.run()
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177