ATLAS Offline Software
Functions
TgcRawDataMonitorAlgorithm Namespace Reference

Functions

def TgcRawDataMonitoringConfig (inputFlags)
 

Function Documentation

◆ TgcRawDataMonitoringConfig()

def TgcRawDataMonitorAlgorithm.TgcRawDataMonitoringConfig (   inputFlags)

Definition at line 12 of file TgcRawDataMonitorAlgorithm.py.

12 def TgcRawDataMonitoringConfig(inputFlags):
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 
794  label_ieta_bw1 = []
795  label_iphi_bw1 = []
796  label_glbl_index_bw1 = []
797  label_ieta_bw23 = []
798  label_iphi_bw23 = []
799  label_glbl_index_bw23 = []
800  for i in range(15) : label_ieta_bw1.append('')
801  for i in range(48) : label_iphi_bw1.append('')
802  for i in range(720) : label_glbl_index_bw1.append('')
803  for i in range(12) : label_ieta_bw23.append('')
804  for i in range(48) : label_iphi_bw23.append('')
805  for i in range(576) : label_glbl_index_bw23.append('')
806  for eta in range(6):
807  for sector in range(1,13):
808  for phi in range(4):
809  for lay in range(1,4):
810  for station in range(1,3):
811  if station==1 and eta==5: continue
812  if station!=1 and lay==3: continue
813  nlay = 3 if station==1 else 2
814  eta_index = eta * nlay + lay
815  phi_index = (sector - 1) * 4 + phi + 1
816  glbl_index = eta * 48*nlay + (phi_index - 1) * nlay + lay
817  if station==1:
818  label_ieta_bw1[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
819  label_iphi_bw1[phi_index-1] = '%df%d' % (sector,phi)
820  label_glbl_index_bw1[glbl_index-1] = '%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
821  else:
822  label_ieta_bw23[eta_index-1] = '%s%dL%d' % ('F' if eta==0 else 'E',eta,lay)
823  label_iphi_bw23[phi_index-1] = '%df%d' % (sector,phi)
824  label_glbl_index_bw23[glbl_index-1] = '%df%d%s%dL%d' % (sector,phi,'F' if eta==0 else 'E',eta,lay)
825 
826  label_bw24sectors = []
827  for i in range(25) : label_bw24sectors.append('')
828  for side in ['A','C']:
829  for sector in range(1,13):
830  index = 13 + sector if side=='A' else 13 - sector
831  label_bw24sectors[index-1] = '%s%02d' % (side,sector)
832 
833 
834  myGroupHit = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_TgcHit', mainDir)
835  hitPath = 'Hit/'
836  hitEffPath = 'HitEff/'
837  myGroupHit.defineHistogram('hit_n;TgcPrd_nHits',title='TgcPrd_nHits;Number of hits;Number of events',
838  path=hitPath,xbins=100,xmin=0,xmax=1000,opt='kAddBinsDynamically', merge='merge')
839  myGroupHit.defineHistogram('hit_bcmask;TgcPrd_Timing',title='TgcPrd_Timing;Timing (BC bit mask);Number of events',
840  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'])
841 
842  for opt in ['', '_wTrack']:
843  titlesuffix=opt
844  if opt=='':titlesuffix='_All'
845  myGroupHit.defineHistogram('mon_lb,hit_bw24sectors'+opt+';TgcPrd_BWSectorsVsLB'+titlesuffix,
846  title='BWSectorsVsLB'+titlesuffix+';Luminosity block;',type='TH2F',
847  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')
848  myGroupHit.defineHistogram('mon_lb,hit_bw24sectors_strip'+opt+';TgcPrd_BWSectorsVsLB_Strip'+titlesuffix,
849  title='BWSectorsVsLB_Strip'+titlesuffix+';Luminosity block;',type='TH2F',
850  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')
851  myGroupHit.defineHistogram('mon_lb,hit_bw24sectors_wire'+opt+';TgcPrd_BWSectorsVsLB_Wire'+titlesuffix,
852  title='BWSectorsVsLB_Wire'+titlesuffix+';Luminosity block;',type='TH2F',
853  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')
854  myGroupHit.defineHistogram('hit_bw24sectors'+opt+',hit_bwtiming'+opt+';TgcPrd_BWSectorsVsTiming'+titlesuffix,
855  title='BWSectorsVsTiming'+titlesuffix+';;Timing',type='TH2F',
856  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'])
857  myGroupHit.defineHistogram('hit_bw24sectors_strip'+opt+',hit_bwtiming_strip'+opt+';TgcPrd_BWSectorsVsTiming_Strip'+titlesuffix,
858  title='BWSectorsVsTiming_Strip'+titlesuffix+';;Timing',type='TH2F',
859  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'])
860  myGroupHit.defineHistogram('hit_bw24sectors_wire'+opt+',hit_bwtiming_wire'+opt+';TgcPrd_BWSectorsVsTiming_Wire'+titlesuffix,
861  title='BWSectorsVsTiming_Wire'+titlesuffix+';;Timing',type='TH2F',
862  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'])
863  myGroupHit.defineHistogram('hit_bwfulleta'+opt+',hit_bw24sectors'+opt+';TgcPrd_BWSectorsVsEta'+titlesuffix,
864  title='BWSectorsVsEta'+titlesuffix+';;',type='TH2F',
865  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)
866  myGroupHit.defineHistogram('hit_bwfulleta_strip'+opt+',hit_bw24sectors_strip'+opt+';TgcPrd_BWSectorsVsEta_Strip'+titlesuffix,
867  title='BWSectorsVsEta_Strip'+titlesuffix+';;',type='TH2F',
868  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)
869  myGroupHit.defineHistogram('hit_bwfulleta_wire'+opt+',hit_bw24sectors_wire'+opt+';TgcPrd_BWSectorsVsEta_Wire'+titlesuffix,
870  title='BWSectorsVsEta_Wire'+titlesuffix+';;',type='TH2F',
871  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)
872 
873 
874 
875  myGroupHit.defineHistogram('hit_bcmask_bw24sectors_All,hit_bcmask_for_bw24sectors_All;TgcPrd_BWSectorsVsBCMask_All',
876  title='BWSectorsVsBCMask_All;;',type='TH2F',
877  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'])
878  myGroupHit.defineHistogram('hit_bcmask_bw24sectors_Wire,hit_bcmask_for_bw24sectors_Wire;TgcPrd_BWSectorsVsBCMask_Wire',
879  title='BWSectorsVsBCMask_Wire;;',type='TH2F',
880  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'])
881  myGroupHit.defineHistogram('hit_bcmask_bw24sectors_Strip,hit_bcmask_for_bw24sectors_Strip;TgcPrd_BWSectorsVsBCMask_Strip',
882  title='BWSectorsVsBCMask_Strip;;',type='TH2F',
883  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'])
884 
885 
886 
887  for side in ['A', 'C']:# side-A or side-C
888  for station in range(1,5):# M1,2,3,4
889  for s_or_w in ['S','W']:# strip or wire
890  name = "%sM%02i%s" % (side,station,s_or_w) # e.g. AM01W
891  nbins = 10
892  label_glbl_index = []
893  if station==1:
894  nbins = 720
895  label_glbl_index = label_glbl_index_bw1
896  elif station==2 or station==3:
897  nbins = 576
898  label_glbl_index = label_glbl_index_bw23
899  else: # station==4
900  nbins = 96
901  label_glbl_index = label_glbl_index_sw
902 
903  x_name = "mon_lb"
904  y_name = "hit_glblphi_%s" % (name)
905  objname = "TgcPrd_GlobalChamberIndexVsLB_%s" % (name)
906  title = "GlobalChamberIndexVsLB_%s" % (name)
907  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
908  title=title+';Luminosity block;',type='TH2F',
909  path=hitPath,xbins=100,xmin=-0.5,xmax=99.5,
910  ybins=nbins,ymin=0.5,ymax=nbins+0.5,ylabels=label_glbl_index,opt='kAddBinsDynamically', merge='merge')
911  x_name = "hit_glblphi_%s" % (name)
912  y_name = "hit_bunch_%s" % (name)
913  objname = "TgcPrd_GlobalChamberIndexVsTiming_All_%s" % (name)
914  title = "GlobalChamberIndexVsTiming_All_%s" % (name)
915  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
916  title=title+';;Timing',type='TH2F',
917  path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
918  ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
919  x_name = "hit_glblphi_wTrack_%s" % (name)
920  y_name = "hit_bunch_wTrack_%s" % (name)
921  objname = "TgcPrd_GlobalChamberIndexVsTiming_wTrack_%s" % (name)
922  title = "GlobalChamberIndexVsTiming_wTrack_%s" % (name)
923  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
924  title=title+';;Timing',type='TH2F',
925  path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
926  ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
927 
928  x_name = "hit_glblphi_effnum_%s" % (name)
929  y_name = "hit_glblphi_effden_%s" % (name)
930  objname = "TgcPrd_GlobalChamberIndex_Efficiency_%s" % (name)
931  title = "GlobalChamberIndex_Efficiency_%s" % (name)
932  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
933  title=title+';;Efficiency',type='TEfficiency',
934  path=hitEffPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index)
935 
936  x_name = "hit_bcmask_glblphi_%s" % (name)
937  y_name = "hit_bcmask_%s" % (name)
938  objname = "TgcPrd_GlobalChamberIndexVsBCMask_%s" % (name)
939  title = "GlobalChamberIndexVsBCMask_%s" % (name)
940  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
941  title=title+';;',type='TH2F',
942  path=hitPath,xbins=nbins,xmin=0.5,xmax=nbins+0.5,xlabels=label_glbl_index,
943  ybins=8,ymin=-0.5,ymax=7.5,ylabels=['Undef',
944  'Next-only',
945  'Curr-only',
946  'Curr&Next',
947  'Prev-only',
948  'Prev&Next',
949  'Prev&Curr',
950  'Prev&Curr&Next'])
951 
952 
953  nbinsx = 10
954  nbinsy = 10
955  label_ieta = []
956  label_iphi = []
957  if station==1:
958  nbinsx = 15
959  nbinsy = 48
960  label_ieta = label_ieta_bw1
961  label_iphi = label_iphi_bw1
962  elif station==2 or station==3:
963  nbinsx = 12
964  nbinsy = 48
965  label_ieta = label_ieta_bw23
966  label_iphi = label_iphi_bw23
967  else: # station==4
968  nbinsx = 4
969  nbinsy = 24
970  label_ieta = label_ieta_sw
971  label_iphi = label_iphi_sw
972 
973  x_name = "hit_x_%s" % (name)
974  y_name = "hit_y_%s" % (name)
975  objname = "TgcPrd_iPhiVsiEta_%s" % (name)
976  title = "iPhiVsiEta_%s" % (name)
977  myGroupHit.defineHistogram(x_name+','+y_name+';'+objname,
978  title=title+';;',type='TH2F',path=hitPath,
979  xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,xlabels=label_ieta,
980  ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,ylabels=label_iphi)
981 
982  eff_name = "hit_effnum_x_%s" % (name)
983  x_name = "hit_effden_x_%s" % (name)
984  y_name = "hit_effden_y_%s" % (name)
985  objname = "TgcPrd_iPhiVsiEta_Efficiency_%s" % (name)
986  title = "iPhiVsiEta_Efficiency_%s" % (name)
987  myGroupHit.defineHistogram(eff_name+','+x_name+','+y_name+';'+objname,
988  title=title+';;',type='TEfficiency',
989  path=hitEffPath,
990  xbins=nbinsx,xmin=0.5,xmax=nbinsx+0.5,xlabels=label_ieta,
991  ybins=nbinsy,ymin=0.5,ymax=nbinsy+0.5,ylabels=label_iphi)
992 
993 
994 
995  for side in ['A', 'C']:# side-A or side-C
996  for sector in range(0,16):# Sector 00...15 (00 for FI, 01..15 for EI, 01..12 for BW)
997  for station in range(1,5):# M1,2,3,4
998  for phi in range(25):# internal phi 0,1,2,3...24 (0..3 for BW and EI, 1..24 for FI)
999  for eta in range(6):# eta index 1,,,5 for Endcap, and 0 for Forward
1000  for lay in range(1,4):# sub-layer 1,2,3 (triplet) or 1,2 (doublet)
1001  if station<4 and (sector>12 or sector==0):continue # BW only 1..12 sectors
1002  if station==4 and eta==0 and sector!=0:continue # FI only sector-0
1003  if station==4 and eta==1 and sector%2==0:continue # EI only odd-sectors (1,3,5,7..15)
1004  if station==4 and eta==0 and phi==0:continue # FI only 1..24 internal phi
1005  if (station<4 or (station==4 and eta==1)) and phi>3: continue # BW and EI only 0..3 internal phi
1006  if station==1 and eta==5:continue # BW M1 has only 1..4 eta
1007  if station==4 and eta>1:continue # EI/FI eta 0 or 1
1008  if station>1 and lay>2:continue # triplet is only M1
1009  for s_or_w in ['S','W']:# strip or wire
1010  if station==1 and lay==2 and s_or_w=="S":continue # there is no strip channel on M1 L2
1011  nbins = 100
1012  if s_or_w=="S":
1013  nbins = 32
1014  else:
1015  if station==1:
1016  if eta==1: nbins = 24
1017  elif eta==2: nbins = 23
1018  elif eta==3:
1019  if lay==1: nbins = 61
1020  else: nbins = 62
1021  elif eta==4:
1022  if lay==1: nbins = 92
1023  else: nbins = 91
1024  else: # forward
1025  if lay==2: nbins = 104
1026  else: nbins = 105
1027  elif station==2:
1028  if eta==1 or eta==2 or eta==3: nbins = 32
1029  elif eta==4: nbins = 103
1030  elif eta==5: nbins = 110
1031  else: nbins = 125 # forward
1032  elif station==3:
1033  if eta==1: nbins = 31
1034  elif eta==2: nbins = 30
1035  elif eta==3: nbins = 32
1036  elif eta==4: nbins = 106
1037  elif eta==5: nbins = 96
1038  else: nbins = 122
1039  else: # EI/FI
1040  if eta==1:
1041  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:
1042  nbins = 16 # EI short
1043  else:
1044  nbins = 24 # EI
1045  else: nbins = 32 # FI
1046 
1047  if doGapByGapHitOcc:
1048  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)
1049  objname = 'TgcPrd_ChannelOccupancy_'+ chamber_name
1050  title = 'Occ_'+chamber_name
1051  myGroupHit.defineHistogram('hit_on_'+chamber_name+';'+objname,
1052  title=title+';Channel ID;Number of events',
1053  path="GapByGapHits/",xbins=nbins,xmin=0.5,xmax=nbins+0.5)
1054 
1055  if doGapByGapEffMap:
1056  objname = 'TgcPrd_GapByGapEffMap_' + chamber_name
1057  title = 'Eff_' + chamber_name
1058  objectx = 'hit_localX_effden_' + chamber_name
1059  objecty = 'hit_localY_effden_' + chamber_name
1060  objectz = 'hit_effnum_' + chamber_name
1061  myGroupHit.defineHistogram(objectz+','+objectx+','+objecty+';'+objname,
1062  title=title+';X [mm];Y [mm]',type='TEfficiency',
1063  path="GapByGapEffMap/",xbins=100,xmin=-1000,xmax=1000,ybins=100,ymin=-1500,ymax=1500)
1064 
1065  if lay == 1 and doHitResiduals:
1066  chamber_name = "%s%02dM%02df%02d%s%02d%s" % (side,sector,station,phi,'F' if eta==0 else 'E',eta,s_or_w)
1067  objname = 'TgcPrd_Residual_' + chamber_name
1068  title = 'Res_'+chamber_name
1069  myGroupHit.defineHistogram('hit_residual_on_'+chamber_name+';'+objname,
1070  title=title+';Residual [mm];Number of events',
1071  path="Residuals/",xbins=400,xmin=-1000,xmax=1000)
1072 
1073 
1074 
1075 
1076 
1077 
1078 
1079  myGroupCoin = helper.addGroup(tgcRawDataMonAlg, 'TgcRawDataMonitor_TgcCoin', mainDir)
1080  coinPath = 'Coin/'
1081  myGroupCoin.defineHistogram('nTgcCoinDetElementIsNull;h_nTgcCoinDetElementIsNull',title='nTgcCoinDetElementIsNull',
1082  path=coinPath,xbins=101,xmin=-0.5,xmax=100.5)
1083  myGroupCoin.defineHistogram('nTgcCoinPostOutPtrIsNull;h_nTgcCoinPostOutPtrIsNull',title='nTgcCoinPostOutPtrIsNull',
1084  path=coinPath,xbins=101,xmin=-0.5,xmax=100.5)
1085 
1086  for Det in ['Eifi','Tile','Rpc','Nsw']:
1087  det = Det.lower()
1088  for Region in ['','_Endcap','_Forward']:
1089  region = Region.lower()
1090  nrois = 64 if Region == '_Forward' else 148
1091  nsectors = 24 if Region == '_Forward' else 48
1092  rmask_endfwd = 'coin_inner_tgc_forward' if Region == '_Forward' else 'coin_inner_tgc_endcap'
1093  rmask_coverage = 'coin_inner_tgc_etaupto1p3'
1094  if Det == 'Nsw':
1095  if Region == '_Endcap':
1096  rmask_coverage = 'coin_inner_tgc_etafrom1p3_endcap'
1097  else:
1098  rmask_coverage = 'coin_inner_tgc_forward'
1099 
1100 
1101  if Region == '':
1102  myGroupCoin.defineHistogram('coin_inner_'+det+'_roiEta,coin_inner_'+det+'_roiPhi;InnerCoin_Evt2D_'+Det+'_EtaVsPhi',
1103  title='InnerCoin_Evt2D_'+Det+'_EtaVsPhi;RoI Eta;RoI Phi',
1104  path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1105  if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1106  myGroupCoin.defineHistogram('coin_inner_'+det+'_roiNum,coin_inner_'+det+'_slSector'+region+';InnerCoin_Evt2D_'+Det+Region+'_SectorVsRoI',
1107  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1108  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)
1109  myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid',
1110  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Bcid ('+Det+' - ATLAS)',
1111  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)
1112  myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaTiming;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming',
1113  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Signal Timing',
1114  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)
1115  myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid_BcCurr',
1116  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaBcid_BcCurr;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Bcid ('+Det+' - ATLAS)',
1117  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)
1118  myGroupCoin.defineHistogram('mon_bcid,coin_inner_'+det+'_deltaBcid;InnerCoin_Evt2D_'+Det+Region+'_BcidVsDeltaBcid_BcCurr',
1119  title='InnerCoin_Evt2D_'+Det+Region+'_BcidVsDeltaBcid_BcCurr;Bcid;Delta Bcid ('+Det+' - ATLAS)',
1120  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)
1121  myGroupCoin.defineHistogram('coin_inner_'+det+'_slSector'+region+',coin_inner_'+det+'_deltaTiming;InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming_goodBcid0',
1122  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsDeltaTiming_goodBcid0;SL Trigger Sector +1 (>0 for A, <0 for C);Delta Signal Timing',
1123  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)
1124 
1125 
1126  for bcid in ['','0','1','2']:
1127  goodBcid = '_goodBcid'+bcid if bcid != '' else ''
1128  cmask = 'coin_inner_'+det+goodBcid if bcid != '' else ''
1129  myGroupCoin.defineHistogram('mon_lb,coin_inner_'+det+'_slSector_goodTiming'+region+';InnerCoin_Evt2D_'+Det+Region+'_SectorVsLB_BcCurr'+goodBcid,
1130  title='InnerCoin_Evt2D_'+Det+Region+'_SectorVsLB_BcCurr'+goodBcid+';Lumi Block;SL Trigger Sector +1 (>0 for A, <0 for C)',
1131  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,
1132  opt='kAddBinsDynamically', merge='merge')
1133 
1134 
1135  for htype in ['Eff','Reduction']:
1136  fake = '_fake' if htype == 'Reduction' else ''
1137 
1138  if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1139  myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_CoinFlag',
1140  title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_CoinFlag;SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1141  path=coinPath,type='TEfficiency',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,cutmask=rmask_coverage)
1142  myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_CoinFlag',
1143  title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_CoinFlag;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1144  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)
1145  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+'_goodBcid0,coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodBcid0',
1146  title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodBcid0;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1147  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)
1148  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_goodTiming',
1149  title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_goodTiming;SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1150  path=coinPath,type='TEfficiency',xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5,cutmask=rmask_coverage)
1151  myGroupCoin.defineHistogram('coin_inner_tgc_anyBc'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI',
1152  title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1153  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)
1154  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc_roi,coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodTiming',
1155  title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_goodTiming;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1156  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)
1157 
1158  if Region == '':
1159  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_goodTiming',
1160  title='InnerCoin_'+htype+'1D_'+Det+'_Eta_goodTiming;RoI Eta;Efficiency',
1161  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1162  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+',coin_inner_tgc'+fake+'_eta,coin_inner_tgc'+fake+'_phi;InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_goodTiming',
1163  title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_goodTiming;RoI Eta;RoI Phi',
1164  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1165  myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_eta,coin_inner_tgc'+fake+'_phi;InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_CoinFlag',
1166  title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_CoinFlag;RoI Eta;RoI Phi',
1167  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1168  myGroupCoin.defineHistogram('coin_inner_tgc_coinflag'+Det+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_CoinFlag',
1169  title='InnerCoin_'+htype+'1D_'+Det+'_Eta_CoinFlag;RoI Eta;Efficiency',
1170  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1171 
1172 
1173  for Bunch in ['Any','Prev','Curr','Next','NextNext']:
1174  bunch = Bunch.lower()
1175 
1176  for bcid in ['','0','1','2']:
1177  goodBcid = '_goodBcid'+bcid if bcid != '' else ''
1178  if (Det != 'Nsw' and Region == '') or (Det == 'Nsw' and Region != ''):
1179  myGroupCoin.defineHistogram('coin_inner_tgc_'+bunch+'Bc'+Det+goodBcid+',coin_inner_tgc'+fake+'_sector;InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_Bc'+Bunch+goodBcid,
1180  title='InnerCoin_'+htype+'1D_'+Det+Region+'_Sector_Bc'+Bunch+goodBcid+';SL Trigger Sector +1 (>0 for A, <0 for C);Efficiency',
1181  path=coinPath,type='TEfficiency',cutmask=rmask_coverage,xbins=nsectors*2+1,xmin=-1*nsectors-0.5,xmax=nsectors+0.5)
1182  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,
1183  title='InnerCoin_'+htype+'2D_'+Det+Region+'_SectorVsRoI_Bc'+Bunch+goodBcid+';RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1184  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)
1185  if Region == '':
1186  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,
1187  title='InnerCoin_'+htype+'2D_'+Det+'_EtaVsPhi_Bc'+Bunch+goodBcid+';RoI Eta;RoI Phi',
1188  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1189  myGroupCoin.defineHistogram('coin_inner_tgc_currBc'+Det+goodBcid+',coin_inner_tgc'+fake+'_eta;InnerCoin_'+htype+'1D_'+Det+'_Eta_Bc'+Bunch+goodBcid,
1190  title='InnerCoin_'+htype+'1D_'+Det+'_Eta_Bc'+Bunch+goodBcid+';RoI Eta;Efficiency',
1191  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1192 
1193  #Tile inner coincidence
1194  myGroupCoin.defineHistogram('coin_inner_tile2_slSector,coin_inner_tile2_tmdbDecisions;InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions',
1195  title='InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions;SL Trigger Sector +1 (>0 for A, <0 for C);TMDB Module Decisions',
1196  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'])
1197  myGroupCoin.defineHistogram('coin_inner_tile2_slSector,coin_inner_tile2_tmdbDecisions;InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions_BcCurr',
1198  title='InnerCoin_Evt2D_Tile_SectorVsTmdbDecisions_BcCurr;SL Trigger Sector +1 (>0 for A, <0 for C);TMDB Module Decisions',
1199  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'])
1200 
1201  #Nsw inner coincidence
1202  myGroupCoin.defineHistogram('coin_inner_nsw_roiEta,coin_inner_nsw_R;InnerCoin_Evt2D_Nsw_RoiEtaVsR',
1203  title='InnerCoin_Evt2D_Nsw_RoiEtaVsR;SL RoI Eta;NSW R',
1204  path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=251,ymin=-0.5,ymax=250.5)
1205  myGroupCoin.defineHistogram('coin_inner_nsw_roiPhi,coin_inner_nsw_Phi;InnerCoin_Evt2D_Nsw_RoiPhiVsPhi',
1206  title='InnerCoin_Evt2D_Nsw_RoiPhiVsPhi;SL RoI Phi;NSW Phi',
1207  path=coinPath,type='TH2F',xbins=48*10,xmin=-math.pi,xmax=math.pi,ybins=61,ymin=-0.5,ymax=60.5)
1208  myGroupCoin.defineHistogram('coin_inner_nsw_roiEta,coin_inner_nsw_deltaR;InnerCoin_Evt2D_Nsw_RoiEtaVsDeltaR',
1209  title='InnerCoin_Evt2D_Nsw_RoiEtaVsDeltaR;SL RoI Eta;DeltaR(Nsw - SL)',
1210  path=coinPath,type='TH2F',xbins=100,xmin=-2.5,xmax=2.5,ybins=1000,ymin=-500,ymax=500)
1211 
1212 
1213 
1215  for side in ['A','C']:
1216  label_slnswinput_index = []
1217  slid = 0
1218  for sec in range(1,13):# 1..12
1219  for dup in range(2):# 0..1
1220  slid += 1
1221  for inp in range(6):# 0..6
1222  label = '%s%02dE%02d-%d' % (side,sec,slid,inp) # A01E01-0
1223  label_slnswinput_index.append(label)
1224  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid',
1225  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid;;Delta Bcid (Nsw - ATLAS)',
1226  path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5)
1227  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming',
1228  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming;;Delta Signal Timing (Nsw - ATLAS)',
1229  path=coinPath,type='TH2F',xbins=144,xmin=-0.5,xmax=143.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5)
1230 
1231  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid_goodTiming',
1232  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaBcid_goodTiming;;Delta Bcid (Nsw - ATLAS)',
1233  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')
1234  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Endcap,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming_goodBcid0',
1235  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsDeltaTiming_goodBcid0;;Delta Signal Timing (Nsw - ATLAS)',
1236  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')
1237 
1238  for bcid in ['0','1','2']:
1239  myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Endcap;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_NswGoodTimingBcid'+bcid,
1240  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_NswGoodTimingBcid'+bcid+';Lumi Block;',cutmask='coin_inner_nsw_goodTimingBcid'+bcid,
1241  opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1242  ybins=144,ymin=-0.5,ymax=143.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1243  for bunch in ['Prev','Curr','Next','NextNext']:
1244  myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Endcap;InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_Bc'+bunch,
1245  title='InnerCoin_Evt2D_Nsw_'+side+'Endcap_SLInputVsLB_Bc'+bunch+';Lumi Block;',cutmask='coin_inner_nsw_Bc'+bunch,
1246  opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1247  ybins=144,ymin=-0.5,ymax=143.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1248 
1249 
1250  # Forward
1251  for side in ['A','C']:
1252  label_slnswinput_index = []
1253  for sec in range(1,13):# 1..12
1254  for inp in range(6):# 0..6
1255  label = '%s%02dF%02d-%d' % (side,sec,sec,inp) # A01F01-0
1256  label_slnswinput_index.append(label)
1257  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid',
1258  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid;;Delta Bcid (Nsw - ATLAS)',
1259  path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=31,ymin=-15.5,ymax=15.5)
1260  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming',
1261  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming;;Delta Signal Timing (Nsw - ATLAS)',
1262  path=coinPath,type='TH2F',xbins=72,xmin=-0.5,xmax=71.5,xlabels=label_slnswinput_index,ybins=11,ymin=-5.5,ymax=5.5)
1263 
1264  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaBcid;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid_goodTiming',
1265  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaBcid_goodTiming;;Delta Bcid (Nsw - ATLAS)',
1266  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')
1267  myGroupCoin.defineHistogram('coin_inner_nsw_slInputIndex_'+side+'Forward,coin_inner_nsw_deltaTiming;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming_goodBcid0',
1268  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsDeltaTiming_goodBcid0;;Delta Signal Timing (Nsw - ATLAS)',
1269  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')
1270 
1271  for bcid in ['0','1','2']:
1272  myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Forward;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_NswGoodTimingBcid'+bcid,
1273  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_NswGoodTimingBcid'+bcid+';Lumi Block;',cutmask='coin_inner_nsw_goodTimingBcid'+bcid,
1274  opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1275  ybins=72,ymin=-0.5,ymax=71.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1276  for bunch in ['Prev','Curr','Next','NextNext']:
1277  myGroupCoin.defineHistogram('mon_lb,coin_inner_nsw_slInputIndex_'+side+'Forward;InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_Bc'+bunch,
1278  title='InnerCoin_Evt2D_Nsw_'+side+'Forward_SLInputVsLB_Bc'+bunch+';Lumi Block;',cutmask='coin_inner_nsw_Bc'+bunch,
1279  opt='kAddBinsDynamically', merge='merge',path=coinPath,type='TH2F',
1280  ybins=72,ymin=-0.5,ymax=71.5,ylabels=label_slnswinput_index,xbins=100,xmin=0.5,xmax=100.5)
1281 
1282 
1283  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_sector;InnerCoin_Eff2D_CoinFlagC_Endcap_SectorVsRoI',
1284  title='InnerCoin_Eff2D_CoinFlagC_Endcap_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1285  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)
1286  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_fake_sector;InnerCoin_Reduction2D_CoinFlagC_Endcap_SectorVsRoI',
1287  title='InnerCoin_Reduction2D_CoinFlagC_Endcap_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1288  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)
1289 
1290  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_sector;InnerCoin_Eff2D_CoinFlagC_Forward_SectorVsRoI',
1291  title='InnerCoin_Eff2D_CoinFlagC_Forward_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1292  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)
1293  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_roi,coin_inner_tgc_fake_sector;InnerCoin_Reduction2D_CoinFlagC_Forward_SectorVsRoI',
1294  title='InnerCoin_Reduction2D_CoinFlagC_Forward_SectorVsRoI;RoI;SL Trigger Sector +1 (>0 for A, <0 for C)',
1295  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)
1296 
1297  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_eta,coin_inner_tgc_phi;InnerCoin_Eff2D_CoinFlagC_EtaVsPhi',
1298  title='InnerCoin_Eff2D_CoinFlagC_EtaVsPhi;RoI Eta;RoI Phi',
1299  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1300  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_fake_eta,coin_inner_tgc_fake_phi;InnerCoin_Reduction2D_CoinFlagC_EtaVsPhi',
1301  title='InnerCoin_Reduction2D_CoinFlagC_EtaVsPhi;RoI Eta;RoI Phi',
1302  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1303 
1304  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_eta;InnerCoin_Eff1D_CoinFlagC_Eta',
1305  title='InnerCoin_Eff1D_CoinFlagC_Eta;RoI Eta;Efficiency',
1306  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1307  myGroupCoin.defineHistogram('coin_inner_tgc_coinflagC,coin_inner_tgc_fake_eta;InnerCoin_Reduction1D_CoinFlagC_Eta',
1308  title='InnerCoin_Reduction1D_CoinFlagC_EtaVsPhi;RoI Eta;Efficiency',
1309  path=coinPath,type='TEfficiency',xbins=100,xmin=-2.5,xmax=2.5)
1310 
1311  for coinType in ['SL','HPT','LPT','EIFI']:
1312  for region in ['','Endcap','Forward']:
1313  suffix0 = coinType if region == '' else coinType+'_'+region
1314  nrois = 148 if region == 'Endcap' else 64
1315  nsectors = 48 if region == 'Endcap' else 24
1316  for chanType in ['','Wire','Strip']:
1317  if coinType == 'SL' and chanType != '': continue # no wire or strip for "SL"
1318  if coinType == 'HPT' and chanType == '': continue # always wire or strip for "HPT"
1319  if coinType == 'LPT' and chanType == '': continue # always wire or strip for "LPT"
1320  if coinType == 'EIFI' and chanType == '': continue # always wire or strip for "EIFI" tracklet
1321  suffix = suffix0+'_' if chanType == '' else suffix0+'_'+chanType+'_'
1322 
1323  if coinType == 'SL':
1324  for thr in range(1,16): #1.2...15
1325  cut = suffix+"coin_cutmask_pt"+str(thr)
1326  PT = "_Thr%02d" % thr
1327  if region == '':
1328  myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi'+PT,
1329  title=suffix+'TgcCoin_Evt_EtaVsPhi'+PT+';Eta;Phi',
1330  type='TH2F',path=coinPath,cutmask=cut,
1331  xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1332  else:
1333  myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI'+PT,
1334  title=suffix+'TgcCoin_Evt_SectorVsRoI'+PT+';RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1335  type='TH2F',path=coinPath,cutmask=cut,
1336  xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1337  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1338 
1339  if region == '':
1340  myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi',
1341  title=suffix+'TgcCoin_Evt_EtaVsPhi;Eta;Phi',
1342  type='TH2F',path=coinPath,
1343  xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1344  myGroupCoin.defineHistogram(suffix+'coin_ext_matched,'+suffix+'coin_ext_eta,'+suffix+'coin_ext_phi;'+suffix+'TgcCoin_Eff_EtaVsPhi',
1345  title=suffix+'TgcCoin_Eff_EtaVsPhi;Eta;Phi',
1346  type='TEfficiency',path=coinPath,
1347  xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1348  if coinType == 'SL':
1349  for coinflag in ['Qpos','Qneg','F','C','H','EI','Tile','RPC','NSW']:
1350  myGroupCoin.defineHistogram(suffix+'coin_eta,'+suffix+'coin_phi;'+suffix+'TgcCoin_Evt_EtaVsPhi_CoinFlag'+coinflag,
1351  title=suffix+'TgcCoin_Evt_EtaVsPhi_CoinFlag'+coinflag+';Eta;Phi',cutmask=suffix+'coin_CoinFlag'+coinflag,
1352  type='TH2F',path=coinPath,
1353  xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1354  for coinflag in ['Q','F','C','H','EI','Tile','RPC','NSW']:
1355  myGroupCoin.defineHistogram(suffix+'coin_ext_matched_CoinFlag'+coinflag+','+suffix+'coin_ext_matched_eta,'+suffix+'coin_ext_matched_phi;'+suffix+'TgcCoin_Eff_EtaVsPhi_CoinFlag'+coinflag,
1356  title=suffix+'TgcCoin_Eff_EtaVsPhi_CoinFlag'+coinflag+';Eta;Phi',
1357  type='TEfficiency',path=coinPath,
1358  xbins=100,xmin=-2.5,xmax=2.5,ybins=48,ymin=-math.pi,ymax=math.pi)
1359 
1360  else:
1361  myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_bunch;'+suffix+'TgcCoin_Evt_SectorVsTiming',
1362  title=suffix+'TgcCoin_Evt_SectorVsTiming;Trigger Sector +1 (>0 for A, <0 for C);Timing',
1363  type='TH2F',path=coinPath,
1364  xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1365  ybins=3,ymin=-1.5,ymax=1.5,ylabels=['Previous','Current','Next'])
1366  myGroupCoin.defineHistogram(suffix+'coin_lb,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsLB',
1367  title=suffix+'TgcCoin_Evt_SectorVsLB;LumiBlock;Trigger Sector +1 (>0 for A, <0 for C)',
1368  type='TH2F',path=coinPath,
1369  xbins=100,xmin=0.5,xmax=100.5,opt='kAddBinsDynamically', merge='merge',
1370  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1371 
1372  if coinType == 'SL':
1373  for coinflag in ['EI','Tile','RPC','NSW','F','C','H']:
1374  if region == 'Forward' :
1375  if coinflag == 'EI' :continue
1376  if coinflag == 'Tile' :continue
1377  if coinflag == 'RPC' :continue
1378  myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI_CoinFlag'+coinflag,
1379  title=suffix+'TgcCoin_Evt_SectorVsRoI_CoinFlag'+coinflag+';RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1380  type='TH2F',path=coinPath,cutmask=suffix+'coin_CoinFlag'+coinflag,
1381  xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1382  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1383  if coinflag != 'H' :
1384  myGroupCoin.defineHistogram(suffix+'coin_lb,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsLB_CoinFlag'+coinflag,
1385  title=suffix+'TgcCoin_Evt_SectorVsLB_CoinFlag'+coinflag+';LumiBlock;Trigger Sector +1 (>0 for A, <0 for C)',
1386  type='TH2F',path=coinPath,cutmask=suffix+'coin_CoinFlag'+coinflag,
1387  xbins=100,xmin=0.5,xmax=100.5,opt='kAddBinsDynamically', merge='merge',
1388  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1389 
1390  myGroupCoin.defineHistogram(suffix+'coin_roi,'+suffix+'coin_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI',
1391  title=suffix+'TgcCoin_Evt_SectorVsRoI;RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1392  type='TH2F',path=coinPath,
1393  xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1394  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1395  myGroupCoin.defineHistogram(suffix+'coin_veto_roi,'+suffix+'coin_veto_sector;'+suffix+'TgcCoin_Evt_SectorVsRoI_wVeto',
1396  title=suffix+'TgcCoin_Evt_SectorVsRoI_wVeto;RoI;Trigger Sector +1 (>0 for A, <0 for C)',
1397  type='TH2F',path=coinPath,
1398  xbins=nrois+1,xmin=-0.5,xmax=nrois+0.5,
1399  ybins=nsectors*2+1,ymin=-nsectors-0.5,ymax=nsectors+0.5)
1400  myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_pt;'+suffix+'TgcCoin_Evt_SectorVsThr',
1401  title=suffix+'TgcCoin_Evt_SectorVsThr;Trigger Sector +1 (>0 for A, <0 for C);Threshold',
1402  type='TH2F',path=coinPath,
1403  xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1404  ybins=15,ymin=0.5,ymax=15.5)
1405  myGroupCoin.defineHistogram(suffix+'coin_sector,'+suffix+'coin_isPositiveDeltaR;'+suffix+'TgcCoin_Evt_SectorVsisPositiveDeltaR',
1406  title=suffix+'TgcCoin_Evt_SectorVsisPositiveDeltaR;Trigger Sector +1 (>0 for A, <0 for C);isPositiveDeltaR',
1407  type='TH2F',path=coinPath,
1408  xbins=nsectors*2+1,xmin=-nsectors-0.5,xmax=nsectors+0.5,
1409  ybins=2,ymin=-0.5,ymax=1.5)
1410 
1411 
1412 
1413 
1414  acc = helper.result()
1415  result.merge(acc)
1416  return result
1417 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
AtlasTrackingGeometryCondAlgConfig.TrackingGeometryCondAlgCfg
def TrackingGeometryCondAlgCfg(flags, name='AtlasTrackingGeometryCondAlg', doMaterialValidation=False, **kwargs)
Definition: AtlasTrackingGeometryCondAlgConfig.py:128
TgcRawDataMonitorAlgorithm.TgcRawDataMonitoringConfig
def TgcRawDataMonitoringConfig(inputFlags)
Definition: TgcRawDataMonitorAlgorithm.py:12
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.MuonSelectorToolsConfig.MuonSelectionToolCfg
def MuonSelectionToolCfg(flags, name="MuonSelectionTool", **kwargs)
Standard configuration of the MuonSelectionTool used in reconstruction & validation jobs The snippet ...
Definition: MuonSelectorToolsConfig.py:16
str
Definition: BTagTrackIpAccessor.cxx:11
python.MagFieldServicesConfig.AtlasFieldCacheCondAlgCfg
def AtlasFieldCacheCondAlgCfg(flags, **kwargs)
Definition: MagFieldServicesConfig.py:8