ATLAS Offline Software
Functions | Variables
StgcMonitorAlgorithm Namespace Reference

Functions

def sTgcMonitoringConfig (inputFlags, NSW_PadTrigKey='')
 

Variables

 parser = argparse.ArgumentParser()
 
 default
 
 type
 
 int
 
 help
 
 nargs
 
 None
 
 args = parser.parse_args()
 
 flags = initConfigFlags()
 
 Files
 
 HISTFileName
 
 GeometrysTGC
 
 useTrigger
 
 GlobalTag
 
 cfg = MainServicesCfg(flags)
 
def sTgcMonitorAcc = sTgcMonitoringConfig(flags)
 
 OutputLevel
 

Function Documentation

◆ sTgcMonitoringConfig()

def StgcMonitorAlgorithm.sTgcMonitoringConfig (   inputFlags,
  NSW_PadTrigKey = '' 
)
Function to configures some algorithms in the monitoring system.

Definition at line 9 of file StgcMonitorAlgorithm.py.

9 def sTgcMonitoringConfig(inputFlags,NSW_PadTrigKey=''):
10  '''Function to configures some algorithms in the monitoring system.'''
11 
13  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
14  result = ComponentAccumulator()
15 
16  # Make sure muon geometry is configured
17  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
18  result.merge(MuonGeoModelCfg(inputFlags))
19 
20  # The following class will make a sequence, configure algorithms, and link them to GenericMonitoringTools
21 
22  from AthenaMonitoring import AthMonitorCfgHelper
23  helper = AthMonitorCfgHelper(inputFlags, 'StgcAthMonitorCfg')
24 
25  # Adding an algorithm to the helper.
26  sTgcMonAlg = helper.addAlgorithm(CompFactory.sTgcRawDataMonAlg,'sTgcMonAlg')
27  sTgcMonAlg.cutPt = 15000.
28  sTgcMonAlg.cutEtaDown = 1.3
29  sTgcMonAlg.cutEtaUp = 2.4
30  sTgcMonAlg.minDeltaR = 0.1
31  sTgcMonAlg.cutTriggerPhiId = 63
32  sTgcMonAlg.cutTriggerBandId = 255
33  sTgcMonAlg.NSW_PadTriggerDataKey = NSW_PadTrigKey
34 
35  globalPath = 'Muon/MuonRawDataMonitoring/STG/'
36 
37  # Layered and occupancy histograms
38  tech = ['pad', 'strip', 'wire']
39  side = ['A', 'C']
40  size = ['L', 'S']
41  stationEtaMax = 3
42  sectorMax = 16
43  layerMax = 8
44 
45  # Custom labels
46  # Pad trigger occupancy
47  columnLabels = [columnLabels_AL, columnLabels_AS, columnLabels_CL, columnLabels_CS]
48 
49  # Shifter
50  OverviewGroup = helper.addGroup(sTgcMonAlg, 'Overview', globalPath + 'Shifter/Overview')
51  OverviewGroup.defineHistogram('muonRecoTriggerMatch,etaRecoMuonEff,phiRecoMuonEff;padTrigger_Efficiency_per_etaPhi', type = 'TEfficiency', title = '; #eta (reco); #phi (reco); Pad trigger efficiency wrt. reco. muon', path = '', xbins = 100, xmin = -3., xmax = 3., ybins = 100, ymin = -math.pi, ymax = math.pi, opt = 'kAlwaysCreate')
52  OverviewGroup.defineHistogram('etaRecoMuon,phiRecoMuon;recoMuon_Map_per_etaPhi', type = 'TH2F', title = '; #eta (reco); #phi (reco); Entries', path = '', xbins = 100, xmin = -3., xmax = 3., ybins = 100, ymin = -math.pi, ymax = math.pi, opt = 'kAlwaysCreate')
53  OverviewGroup.defineHistogram('etaPadTrigger,phiPadTrigger;padTrigger_Map_per_etaPhi', type = 'TH2F', title = '; #eta (trig); #phi (trig); Entries', path = '', xbins = 100, xmin = -3., xmax = 3., ybins = 100, ymin = -math.pi, ymax = math.pi, opt = 'kAlwaysCreate')
54  OverviewGroup.defineHistogram('etaPadTrigger;padTrigger_Map_per_eta', type = 'TH1F', title = '; #eta (trig); Entries', path = '', xbins = 100, xmin = -3., xmax = 3., opt = 'kAlwaysCreate')
55  for tIdx in tech:
56  OverviewGroup.defineHistogram(f'{tIdx}Sector,{tIdx}Feb;Feb_vs_sector_{tIdx}', type = 'TH2F', title = ';Sector; FEB; Hits', path = '', xbins = 33, xmin = -16.5, xmax = 16.5, ybins = 24, ymin = -0.5, ymax = 23.5, ylabels = FebLabels, opt='kAlwaysCreate')
57 
58  OccupancyShifterGroup = helper.addGroup(sTgcMonAlg, 'OccupancyShifter', globalPath + 'Shifter/Occupancy')
59  sTgcTimingGroup = helper.addGroup(sTgcMonAlg, 'sTgcTiming', globalPath + 'Expert/Timing/')
60  LBShifterGroup = helper.addGroup(sTgcMonAlg, 'LBShifterGroup', globalPath + 'Shifter/Lumiblock/')
61  sTgcPadTriggerShifterGroup = helper.addGroup(sTgcMonAlg, 'padTriggerShifter', globalPath + 'Shifter/')
62  sTgcPadTriggerShifterGroup.defineHistogram('lb,sector;OccupancySector_vs_LB', type = 'TH2F', title = '; LB; Sector; Number of triggers', path = 'PadTrigger/Triggers', xbins = 100, xmin = -0.5, xmax = 99.5, ybins = 2*sectorMax + 1, ymin = -sectorMax - 0.5, ymax = sectorMax + 0.5, opt = 'kAlwaysCreate,kAddBinsDynamically', weight = 'numberOfTriggers')
63  sTgcPadTriggerShifterGroup.defineHistogram('lb,relBCID;RelBCID_vs_LB', type = 'TH2F', title = '; LB; Trigger relBCID; Pad Trigger hits', path = 'PadTrigger/Triggers', xbins = 100, xmin = -0.5, xmax = 99.5, ybins = 7, ymin = -0.5, ymax = 6.5, opt = 'kAlwaysCreate,kAddBinsDynamically')
64  sTgcPadTriggerShifterGroup.defineHistogram('sector,hitPfebs;OccupancypFEB_vs_Sector', type = 'TH2F', title = '; Sector; Hit pFEB; Pad Trigger hits associated to reco muons', path = 'PadTrigger/Hits', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 25, ymin = -0.5, ymax = 24.5, opt = 'kAlwaysCreate')
65  sTgcPadTriggerShifterGroup.defineHistogram('sector,hitRelBCID;relBCID_vs_Sector', type = 'TH2F', title = '; Sector; Hit relBCID; Pad Trigger hits associated to reco muons', path = 'PadTrigger/Hits', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 7, ymin = -0.5, ymax = 6.5, opt = 'kAlwaysCreate')
66 
67  # Expert
68  OccupancyGroup = helper.addGroup(sTgcMonAlg, 'Occupancy', globalPath + 'Expert/Occupancy')
69  sTgcPadTriggerExpertGroup = helper.addGroup(sTgcMonAlg, 'padTriggerExpert', globalPath + 'Expert/')
70  padTriggerOccupancyGroup = helper.addGroup(sTgcMonAlg, 'padTriggerOccupancy', globalPath + 'Expert/PadTrigger/Hits/')
71 
72  layerCounter=0
73  for layerIndex in range(1, layerMax + 1):
74  layerCounter+=1
75  sTgcPadTriggerShifterGroup.defineHistogram(f'stripTrackSectorSided_layer_{layerIndex},stripTrackClusterSize_layer_{layerIndex};Strip_cluster_size_ontrk_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Strip Cluster Size (on-track); Hits', path = 'StripClusterSize', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 13, ymin = -0.5, ymax = 12.5, opt = 'kAlwaysCreate')
76  sTgcTimingGroup.defineHistogram(f'padTrackSectorSided_layer_{layerIndex},padTrackTiming_layer_{layerIndex};All_pad_timing_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Pad Timing (on-track) [ns]; Hits', path = 'Pad/Layer', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 225, ymin = -100., ymax = 125., opt = 'kAlwaysCreate')
77  sTgcTimingGroup.defineHistogram(f'stripTrackSectorSided_layer_{layerIndex},stripTrackTiming_layer_{layerIndex};All_strip_timing_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Strip Cluster Timing (on-track) [ns]; Hits', path = 'Strip/Layer', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 225, ymin = -100., ymax = 125., opt = 'kAlwaysCreate')
78  sTgcTimingGroup.defineHistogram(f'wireGroupTrackSectorSided_layer_{layerIndex},wireGroupTrackTiming_layer_{layerIndex};All_wire_timing_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Wire Group timing (on-track) [ns]; Hits', path = 'Wire/Layer', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 225, ymin = -100., ymax = 125., opt = 'kAlwaysCreate')
79  OccupancyGroup.defineHistogram(f'sector_layer_{layerIndex},padNumber_layer_{layerIndex};Pad_ch_occupancy_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Pad Number; Hits', path = 'Pad', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 317, ymin = 0., ymax = 317., opt = 'kAlwaysCreate')
80  OccupancyGroup.defineHistogram(f'sector_layer_{layerIndex},stripNumber_layer_{layerIndex};Strip_ch_occupancy_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Sector; Strip Number; Hits', path = 'Strip', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 1130, ymin = 0., ymax = 1130., opt = 'kAlwaysCreate')
81  OccupancyGroup.defineHistogram(f'wireGroupNumber_layer_{layerIndex},stationEta_layer_{layerIndex};Wire_ch_occupancy_per_sector_Layer{layerIndex}', type = 'TH2F', title = f'L{layerIndex}; Wire Group Number; Quad; Hits', path = 'Wire', xbins = 58*sectorMax + 1, xmin = -0.5, xmax = 58*sectorMax + 0.5, xlabels = wireGroupNumberLabel, ybins = 2*stationEtaMax + 1, ymin = -stationEtaMax - 0.5, ymax = stationEtaMax + 0.5, opt = 'kAlwaysCreate')
82 
83  columnLabelsCounter=0
84  sizeCounter=0
85  for sizeIndex in size:
86  sizeCounter+=1
87  for sideIndex in side:
88  padTriggerOccupancyGroup.defineHistogram(f'padPhi_{sideIndex}_{sizeIndex}_layer_{layerIndex},padEta_{sideIndex}_{sizeIndex}_layer_{layerIndex};padEtaPhiOcc_{layerIndex}{sideIndex}{sizeIndex}', type = 'TH2F', title = f'{layerIndex}{sideIndex}{sizeIndex}; Pad column; Pad row; Hits', path = 'padTriggerOccupancy', xbins = 71, xmin = 0.5, xmax = 71.5, xlabels = columnLabels[columnLabelsCounter], ybins = 56, ymin = 0.5, ymax = 56.5, ylabels = rowLabels, opt = 'kAlwaysCreate')
89  columnLabelsCounter += 1
90  if sizeCounter==1:
91  sTgcPadTriggerShifterGroup.defineHistogram(f'hitLayer,xPosStrip_{sideIndex}_layer_{layerIndex},yPosStrip_{sideIndex}_layer_{layerIndex};strip_efficiency_per_mm_squared_Wheel{sideIndex}_layer{layerIndex}', type = 'TEfficiency', title = f'{sideIndex}L{layerIndex}; sTgc-GlobalX-Strip (on track) [mm]; sTgc-GlobalY-Strip (on track) [mm]; Efficiency sTGC strip {sideIndex}L{layerIndex}', path = 'StripEfficiency', xbins = 500, xmin = -5000., xmax = 5000., ybins = 500, ymin = -5000., ymax = 5000., opt = 'kAlwaysCreate')
92  if layerCounter==1:
93  sTgcPadTriggerShifterGroup.defineHistogram(f'phiIds_{sideIndex}_{sizeIndex},bandIds_{sideIndex}_{sizeIndex};bandIds_vs_phiIds_Side{sideIndex}_Size{sizeIndex}', type = 'TH2F', title = f'{sideIndex}{sizeIndex}; Trigger phiID; Trigger bandID; Pad Trigger hits', path = 'PadTrigger/Triggers', xbins = 65, xmin = -32.5, xmax = 32.5, ybins = 101, ymin = -0.5, ymax = 100.5, opt = 'kAlwaysCreate')
94 
95  sideCounter=0
96  for sideIndex in side:
97  sideCounter+=1
98 
99  sectorCounter=0
100  for sectorIndex in range(1, sectorMax + 1):
101  sectorCounter+=1
102  efficiencyGlobalRgroup = helper.addGroup(sTgcMonAlg, f'rPosStrip_{sideIndex}{sectorIndex}', globalPath + 'Expert/Efficiency/')
103  sTgcPadTriggerExpertGroup.defineHistogram(f'lb_{sideIndex}_sector_{sectorIndex},bandIds_{sideIndex}_sector_{sectorIndex};OccupancyBandId_vs_LB_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; LB; Trigger bandID; number of triggers', path = 'PadTrigger/Triggers/OccupancyBandIDvsLB', xbins = 100, xmin = -0.5, xmax = 99.5, ybins = 101, ymin = -0.5, ymax = 100.5, opt = 'kAlwaysCreate,kAddBinsDynamically', weight = f'numberOfTriggers_{sideIndex}_sector_{sectorIndex}')
104  sTgcPadTriggerExpertGroup.defineHistogram(f'phiIds_{sideIndex}_sector_{sectorIndex},bandIds_{sideIndex}_sector_{sectorIndex};bandIds_vs_phiIds_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; Trigger phiID; Trigger bandID; Pad Trigger hits', path = 'PadTrigger/Triggers/OccupancyBandIDvsPhiId', xbins = 65, xmin = -32.5, xmax = 32.5, ybins = 101, ymin = -0.5, ymax = 100.5, opt = 'kAlwaysCreate')
105  sTgcPadTriggerExpertGroup.defineHistogram(f'lb_{sideIndex}_sector_{sectorIndex},relBCID_{sideIndex}_sector_{sectorIndex};RelBCID_vs_LB_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; LB; Trigger relBCID; Pad Trigger hits', path = 'PadTrigger/Triggers/RelBCIDvsLB', xbins = 100, xmin = -0.5, xmax = 99.5, ybins = 7, ymin = -0.5, ymax = 6.5, opt = 'kAlwaysCreate,kAddBinsDynamically')
106  sTgcPadTriggerExpertGroup.defineHistogram(f'relBCID_{sideIndex}_sector_{sectorIndex},phiIds_{sideIndex}_sector_{sectorIndex};Trigger_PhiID_vs_RelBCID_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; Trigger relBCID; Trigger phiID; Pad Trigger hits', path = 'PadTrigger/Triggers/PhiIDvsRelBCID', xbins = 7, xmin = -0.5, xmax = 6.5, ybins = 65, ymin = -32.5, ymax = 32.5, opt = 'kAlwaysCreate')
107  sTgcPadTriggerShifterGroup.defineHistogram(f'relBCID_{sideIndex}_sector_{sectorIndex},bandID_{sideIndex}_sector_{sectorIndex};Trigger_BandID_vs_RelBCID_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; Trigger relBCID; Trigger bandID; Pad Trigger hits', path = 'PadTrigger/Triggers/BandIDvsRelBCID', xbins = 7, xmin = -0.5, xmax = 6.5, ybins = 101, ymin = -0.5, ymax = 100.5, opt = 'kAlwaysCreate')
108  sTgcPadTriggerShifterGroup.defineHistogram(f'hitRelBCID_{sideIndex}_sector_{sectorIndex},hitPfebs_{sideIndex}_sector_{sectorIndex};pFEB_vs_relBCID_Side{sideIndex}_Sector{sectorIndex}', type = 'TH2F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + '; Hit relBCID; Hit pFEB; Pad Trigger hits associated to reco muons', path = 'PadTrigger/Hits/PFEBvsRelBCID', xbins = 7, xmin = -0.5, xmax = 6.5, ybins = 25, ymin = -0.5, ymax = 24.5, opt = 'kAlwaysCreate')
109 
110  for tIdx in tech:
111  LBShifterGroup.defineHistogram(f'{tIdx}LBsector{sideIndex}{sectorIndex},{tIdx}FEBsector{sideIndex}{sectorIndex};LB_vs_FEB_perSector_{tIdx}', type = 'TH2F', title = 'FEB vs LB; LB; FEB', path = f'{sideIndex}'+f'{sectorIndex}'.zfill(2), xbins = 100, xmin = -0.5, xmax = 99.5, ybins = 24, ymin = -0.5, ymax = 23.5, ylabels = FebLabels, opt = 'kAlwaysCreate,kAddBinsDynamically')
112  outdir = sideIndex+f'{sectorIndex}'.zfill(2)
113  OccupancyShifterGroup.defineHistogram(f'{tIdx}layer_{sideIndex}{sectorIndex},{tIdx}quad_{sideIndex}{sectorIndex};{tIdx}_quad_occupancy_per_layer', type = 'TH2F', title = f'{tIdx} layers vs quad; Layer; Quad; Hits', path = outdir, xbins = layerMax, xmin = 0.5, xmax = layerMax + 0.5, ybins = stationEtaMax, ymin = 0.5, ymax = stationEtaMax + 0.5, opt = 'kAlwaysCreate')
114  sTgcTimingGroup.defineHistogram(f'{tIdx}Timing{sideIndex}{sectorIndex},{tIdx}FEB{sideIndex}{sectorIndex};{tIdx}_timing_{outdir}', type = 'TH2F', title = f'{tIdx} FEBs vs Timing; Time [ns]; FEB; Hits', path = f'{tIdx[0].capitalize()+tIdx[1:]}/Sector', xbins = 9, xmin = -112.5, xmax = 112.5, ybins = 24, ymin = -0.5, ymax = 23.5, ylabels = FebLabels, opt = 'kAlwaysCreate')
115 
116  stationEtaCounter=0
117  for stationEtaIndex in range(1, stationEtaMax + 1):
118  stationEtaCounter+=1
119  padChargeGroup = helper.addGroup(sTgcMonAlg, f'padCharge_{sideIndex}{sectorIndex}_quad_{stationEtaIndex}', globalPath + f'Expert/Charge/{sideIndex}' + f'{sectorIndex}'.zfill(2) + '/Pad')
120  stripChargeGroup = helper.addGroup(sTgcMonAlg, f'stripCharge_{sideIndex}{sectorIndex}_quad_{stationEtaIndex}', globalPath + f'Expert/Charge/{sideIndex}' + f'{sectorIndex}'.zfill(2) + '/Strip')
121  wireGroupChargeGroup = helper.addGroup(sTgcMonAlg, f'wireGroupCharge_{sideIndex}{sectorIndex}_quad_{stationEtaIndex}', globalPath + f'Expert/Charge/{sideIndex}' + f'{sectorIndex}'.zfill(2) + '/Wire')
122  residualGroup = helper.addGroup(sTgcMonAlg, f'sTgcResiduals_{sideIndex}{sectorIndex}_quad_{stationEtaIndex}', globalPath + f'Expert/Residuals/{sideIndex}' + f'{sectorIndex}'.zfill(2))
123 
124  if sideCounter==1 and sectorCounter==1:
125  sTgcPadTimingExpertGroup = helper.addGroup(sTgcMonAlg, f'padTiming_quad_{stationEtaIndex}', globalPath + 'Expert/Timing/Pad')
126  sTgcStripTimingExpertGroup = helper.addGroup(sTgcMonAlg, f'stripTiming_quad_{stationEtaIndex}', globalPath + 'Expert/Timing/Strip')
127  sTgcWireTimingExpertGroup = helper.addGroup(sTgcMonAlg, f'wireTiming_quad_{stationEtaIndex}', globalPath + 'Expert/Timing/Wire')
128 
129  for layerIndex in range(1, layerMax + 1):
130  padChargeGroup.defineHistogram(f'padTrackCharge_{sideIndex}_quad_{stationEtaIndex}_sector_{sectorIndex}_layer_{layerIndex};All_pad_charge_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH1F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}Q{stationEtaIndex}; Pad Charge (on-track) [fC]; Number of Entries', path = f'Q{stationEtaIndex}', xbins = 100, xmin = 0., xmax = 1000., opt = 'kAlwaysCreate')
131  stripChargeGroup.defineHistogram(f'stripTrackCharge_{sideIndex}_quad_{stationEtaIndex}_sector_{sectorIndex}_layer_{layerIndex};All_strip_charge_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH1F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}Q{stationEtaIndex}; Strip Cluster Charge (on-track) [fC]; Number of Entries', path = f'Q{stationEtaIndex}', xbins = 120, xmin = 0., xmax = 1200., opt = 'kAlwaysCreate')
132  wireGroupChargeGroup.defineHistogram(f'wireGroupTrackCharge_{sideIndex}_quad_{stationEtaIndex}_sector_{sectorIndex}_layer_{layerIndex};All_wire_charge_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH1F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}Q{stationEtaIndex}; Wire Group Charge (on-track) [fC]; Number of Entries', path = f'Q{stationEtaIndex}', xbins = 100, xmin = 0., xmax = 1000., opt = 'kAlwaysCreate')
133  residualGroup.defineHistogram(f'residual_{sideIndex}_quad_{stationEtaIndex}_sector_{sectorIndex}_layer_{layerIndex};Residuals_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH1F', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}Q{stationEtaIndex}; Residual [mm]; Number of Entries', path = f'Q{stationEtaIndex}', xbins = 1000, xmin = -2., xmax = 2., opt = 'kAlwaysCreate')
134 
135  if stationEtaCounter==1:
136  efficiencyGlobalRgroup.defineHistogram(f'hitLayer,rPosStrip_{sideIndex}_sector_{sectorIndex}_layer_{layerIndex};Efficiency_per_Radius_Layer{layerIndex}', type = 'TEfficiency', title = f'{sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}; sTgc-GlobalR-Strip (on track) [mm]' + f'; Efficiency sTGC strip {sideIndex}' + f'{sectorIndex}'.zfill(2) + f'L{layerIndex}', path = f'{sideIndex}' + f'{sectorIndex}'.zfill(2), xbins = 100, xmin = 0., xmax = 5000., opt = 'kAlwaysCreate')
137 
138  if sideCounter==1 and sectorCounter==1:
139  sTgcPadTimingExpertGroup.defineHistogram(f'padTrackSectorSided_quad_{stationEtaIndex}_layer_{layerIndex},padTrackTiming_quad_{stationEtaIndex}_layer_{layerIndex};All_pad_timing_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH2F', title = f'Q{stationEtaIndex}L{layerIndex}; Sector; Pad Timing (on-track) [ns]; Hits', path = f'Q{stationEtaIndex}', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 201, ymin = -75.5, ymax = 125.5, opt = 'kAlwaysCreate')
140  sTgcStripTimingExpertGroup.defineHistogram(f'stripTrackSectorSided_quad_{stationEtaIndex}_layer_{layerIndex},stripTrackTiming_quad_{stationEtaIndex}_layer_{layerIndex};All_strip_timing_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH2F', title = f'Q{stationEtaIndex}L{layerIndex}; Sector; Strip Cluster Timing (on-track) [ns]; Hits', path = f'Q{stationEtaIndex}', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 201, ymin = -75.5, ymax = 125.5, opt = 'kAlwaysCreate')
141  sTgcWireTimingExpertGroup.defineHistogram(f'wireTrackSectorSided_quad_{stationEtaIndex}_layer_{layerIndex},wireTrackTiming_quad_{stationEtaIndex}_layer_{layerIndex};All_wire_timing_in_Q{stationEtaIndex}_Layer{layerIndex}', type = 'TH2F', title = f'Q{stationEtaIndex}L{layerIndex}; Sector; Wire Group Timing (on-track) [ns]; Hits', path = f'Q{stationEtaIndex}', xbins = 2*sectorMax + 1, xmin = -sectorMax - 0.5, xmax = sectorMax + 0.5, ybins = 201, ymin = -75.5, ymax = 125.5, opt = 'kAlwaysCreate')
142 
143  acc = helper.result()
144  result.merge(acc)
145  return result
146 

Variable Documentation

◆ args

StgcMonitorAlgorithm.args = parser.parse_args()

Definition at line 155 of file StgcMonitorAlgorithm.py.

◆ cfg

StgcMonitorAlgorithm.cfg = MainServicesCfg(flags)

Definition at line 174 of file StgcMonitorAlgorithm.py.

◆ default

StgcMonitorAlgorithm.default

Definition at line 152 of file StgcMonitorAlgorithm.py.

◆ Files

StgcMonitorAlgorithm.Files

Definition at line 158 of file StgcMonitorAlgorithm.py.

◆ flags

StgcMonitorAlgorithm.flags = initConfigFlags()

Definition at line 157 of file StgcMonitorAlgorithm.py.

◆ GeometrysTGC

StgcMonitorAlgorithm.GeometrysTGC

Definition at line 163 of file StgcMonitorAlgorithm.py.

◆ GlobalTag

StgcMonitorAlgorithm.GlobalTag

Definition at line 165 of file StgcMonitorAlgorithm.py.

◆ help

StgcMonitorAlgorithm.help

Definition at line 152 of file StgcMonitorAlgorithm.py.

◆ HISTFileName

StgcMonitorAlgorithm.HISTFileName

Definition at line 161 of file StgcMonitorAlgorithm.py.

◆ int

StgcMonitorAlgorithm.int

Definition at line 152 of file StgcMonitorAlgorithm.py.

◆ nargs

StgcMonitorAlgorithm.nargs

Definition at line 153 of file StgcMonitorAlgorithm.py.

◆ None

StgcMonitorAlgorithm.None

Definition at line 153 of file StgcMonitorAlgorithm.py.

◆ OutputLevel

StgcMonitorAlgorithm.OutputLevel

Definition at line 177 of file StgcMonitorAlgorithm.py.

◆ parser

StgcMonitorAlgorithm.parser = argparse.ArgumentParser()

Definition at line 151 of file StgcMonitorAlgorithm.py.

◆ sTgcMonitorAcc

def StgcMonitorAlgorithm.sTgcMonitorAcc = sTgcMonitoringConfig(flags)

Definition at line 176 of file StgcMonitorAlgorithm.py.

◆ type

StgcMonitorAlgorithm.type

Definition at line 152 of file StgcMonitorAlgorithm.py.

◆ useTrigger

StgcMonitorAlgorithm.useTrigger

Definition at line 164 of file StgcMonitorAlgorithm.py.

python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
StgcMonitorAlgorithm.sTgcMonitoringConfig
def sTgcMonitoringConfig(inputFlags, NSW_PadTrigKey='')
Definition: StgcMonitorAlgorithm.py:9
MuonGeometryConfig.MuonGeoModelCfg
def MuonGeoModelCfg(flags)
Definition: MuonGeometryConfig.py:28
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194