def DQTBackgroundMonAlgConfig(flags, isOld=False): if isOld: # replace with helper for the old configuration from AthenaMonitoring import AthMonitorCfgHelperOld as AthMonitorCfgHelper from .DataQualityToolsConf import DQTBackgroundMon else: from AthenaMonitoring import AthMonitorCfgHelper from AthenaConfiguration.ComponentFactory import CompFactory DQTBackgroundMon = CompFactory.DQTBackgroundMon helper = AthMonitorCfgHelper(flags, 'DQTBackgroundMonAlgCfg') monAlg = helper.addAlgorithm(DQTBackgroundMon,'DQTBackgroundMonAlg') monAlg.Muons = True group = helper.addGroup(monAlg,'default','GLOBAL/BackgroundMon','run') # Histogram titles. Some commonly used strings in the histograms defined below. bgT = 'Background Word ' filledT = '(Filled BG) ' emptyT = '(Empty BG) ' unpairIsoT = '(UnpairIso BG) ' unpairNonIsoT = '(UnpairNonIso BG) ' pixT = 'Pixel SpacePoints ' sctT = 'SCT SpacePoints ' hugeMultT = 'Huge Multiplicity ' lowMultT = 'Low Multiplicity ' pVertexT = 'Number of Primary Vertices ' # Background word histograms bitSetLabels = ["MBTSTimeDiffHalo","MBTSTimeDiffCol","LArECTimeDiffHalo", "LArECTimeDiffCol","PixMultiplicityHuge","PixSPNonEmpty","SCTMultiplicityHuge", "SCTSPNonEmpty","CSCTimeDiffHalo","CSCTimeDiffCol","BCMTimeDiffHalo", "BCMTimeDiffCol","MuonTimingCol","MuonTimingCosmic","MBTSBeamVeto", "BCMBeamVeto","LUCIDBeamVeto","HaloMuonSegment","HaloClusterShape", "HaloMuonOneSided","HaloMuonTwoSided","HaloTileClusterPattern","BeamGasPixel", "CosmicStandAlone","CosmicStandAloneTight","CosmicCombined", "CosmicCombinedTight","BkgdResvBit1","BkgdResvBit2","BkgdResvBit3", "BkgdResvBit4","BkgdResvBit5"] group.defineHistogram('bitSet', title=bgT, xlabels=bitSetLabels, xbins=len(bitSetLabels),xmin=0,xmax=len(bitSetLabels)) group.defineHistogram('bitSetFilled', weight='filled', title=bgT+filledT, xlabels=bitSetLabels, xbins=len(bitSetLabels),xmin=0,xmax=len(bitSetLabels)) group.defineHistogram('bitSetEmpty', weight='empty', title=bgT+emptyT, xlabels=bitSetLabels, xbins=len(bitSetLabels),xmin=0,xmax=len(bitSetLabels)) group.defineHistogram('bitSetUnpairIso', weight='unpairIso', title=bgT+unpairIsoT, xlabels=bitSetLabels, xbins=len(bitSetLabels),xmin=0,xmax=len(bitSetLabels)) group.defineHistogram('bitSetUnpairNonIso', weight='unpairNonIso', title=bgT+unpairNonIsoT, xlabels=bitSetLabels, xbins=len(bitSetLabels),xmin=0,xmax=len(bitSetLabels)) # Pixel spacepoint histograms group.defineHistogram('nPixSPs;nPixSPs_high', title=pixT+hugeMultT, xbins=200, xmin=0, xmax=1e6) group.defineHistogram('nPixSPs;nPixSPs_high_unpairIso', weight='unpairIso', title=pixT+hugeMultT+unpairIsoT, xbins=200, xmin=0, xmax=1e6) group.defineHistogram('nPixSPs;nPixSPs_high_unpairNonIso', weight='unpairNonIso', title=pixT+hugeMultT+unpairNonIsoT, xbins=200, xmin=0, xmax=1e6) lowMultiplicityPixGroup = helper.addGroup(monAlg,'lowMultiplicityPixGroup', 'GLOBAL/BackgroundMon','run') lowMultiplicityPixGroup.defineHistogram('nPixSPs;nPixSPs_low', title=pixT+lowMultT, xbins=200, xmin=0, xmax=5e3) lowMultiplicityPixGroup.defineHistogram('nPixSPs;nPixSPs_low_unpairIso', weight='unpairIso', title=pixT+lowMultT+unpairIsoT, xbins=200, xmin=0, xmax=5e3) lowMultiplicityPixGroup.defineHistogram('nPixSPs;nPixSPs_low_unpairNonIso', weight='unpairNonIso', title=pixT+lowMultT+unpairNonIsoT, xbins=200, xmin=0, xmax=5e3) # SCT spacepoint histograms group.defineHistogram('nSctSPs;nSctSPs_high', title=sctT+hugeMultT, xbins=200, xmin=0, xmax=1e6) group.defineHistogram('nSctSPs;nSctSPs_high_unpairIso', weight='unpairIso', title=sctT+hugeMultT+unpairIsoT, xbins=200, xmin=0, xmax=1e6) group.defineHistogram('nSctSPs;nSctSPs_high_unpairNonIso', weight='unpairNonIso', title=sctT+hugeMultT+unpairNonIsoT, xbins=200, xmin=0, xmax=1e6) lowMultiplicitySctGroup = helper.addGroup(monAlg,'lowMultiplicitySctGroup', 'GLOBAL/BackgroundMon','run') lowMultiplicitySctGroup.defineHistogram('nSctSPs;nSctSPs_low', title=sctT+lowMultT, xbins=200, xmin=0, xmax=1e4) lowMultiplicitySctGroup.defineHistogram('nSctSPs;nSctSPs_low_unpairIso', weight='unpairIso', title=sctT+lowMultT+unpairIsoT, xbins=200, xmin=0, xmax=1e4) lowMultiplicitySctGroup.defineHistogram('nSctSPs;nSctSPs_low_unpairNonIso', weight='unpairNonIso', title=sctT+lowMultT+unpairNonIsoT, xbins=200, xmin=0, xmax=1e4) # LAr histograms group.defineHistogram('LArECTimeDiff', title='LAr EC collision time difference;<t_{A}>-<t_{C}> [ns]', xbins=100, xmin=-50, xmax=50) # MBTS histograms group.defineHistogram('MBTStimeDiff', title='MBTS collision time difference', xbins=100, xmin=-50, xmax=50) group.defineHistogram('MBTSvetoHits', title="Total MBTS Hits Setting Veto Bit;Number of MBTS 'veto' hits", xbins=40, xmin=0, xmax=40) # Lucid histograms group.defineHistogram('LUCIDHits', title='Total Lucid Hits', xbins=64, xmin=0, xmax=32) # Beam Background Identification Method if monAlg.Muons: group.defineHistogram('muonSegmentX,muonSegmentY', type='TH2F', title='Position of the muon segments', xbins=100, xmin=-4, xmax=4, ybins=100, ymin=-4, ymax=4) # Distributions of beam background calorimeter clusters group.defineHistogram('clusterEnergy', title='Cluster Energy', xbins=150, xmin=0, xmax=1500) group.defineHistogram('clusterEta,clusterPhi', type='TH2F', title='Cluster Eta-Phi', xbins=50, xmin=-3, xmax=3, ybins=50, ymin=-3.15, ymax=3.15) group.defineHistogram('clusterEta,clusterTime',type='TH2F', title='Cluster Eta-Time', xbins=50, xmin=-3, xmax=3, ybins=50, ymin=-25, ymax=25) # Index of the jets tagged by the two-sided method group.defineHistogram('jetIndex', title='Fake Jet Index', xbins=10, xmin=0, xmax=10) # Distributions in events with a two-sided-method tagged leading jet group.defineHistogram('leadingJetPt', title='Fake jet pT', xbins=150, xmin=0, xmax=1500) group.defineHistogram('leadingJetEta', title='Fake jet Eta', xbins=50, xmin=-3, xmax=3) group.defineHistogram('leadingJetPhi', title='Fake jet Phi', xbins=50, xmin=-3.15, xmax=3.15) group.defineHistogram('leadingJetTime', title='Fake jet Time', xbins=120, xmin=-30, xmax=30) group.defineHistogram('leadingJetChf', title='Fake jet EM Charge Fraction', xbins=100, xmin=0, xmax=1) group.defineHistogram('leadingJetEta,leadingJetTime', type='TH2F', title='Fake jet Eta-Time', xbins=50, xmin=-3, xmax=3, ybins=50, ymin=-25, ymax=25) group.defineHistogram('leadingJetEMF,leadingJetCHF', type='TH2F', title='Fake jet EMF-CHF', xbins=50, xmin=0, xmax=1, ybins=50, ymin=0, ymax=1) # beam background muon rate per BCID in A->C and C->A direction group.defineHistogram('bicd;bcid_AC', weight='isAC', title='Rate per BCID in A->C Direction', xbins=3564, xmin=0, xmax=3564) group.defineHistogram('bcid;bcid_CA', weight='isBC', title='Rate per BCID in C->A Direction', xbins=3564, xmin=0, xmax=3564) group.defineHistogram('bcid;bcid_ACOneSided', weight='isACOneSided', title='Rate per BCID in A->C Direction (one- and two-sided)', xbins=3564, xmin=0, xmax=3564) group.defineHistogram('bcid;bcid_CAOneSided', weight='isCAOneSided', title='Rate per BCID in C->A Direction (one- and two-sided)', xbins=3564, xmin=0, xmax=3564) group.defineHistogram('nVertex', title='Number of Primary Vertices;N_{PV}', xbins=50, xmin=0, xmax=50) group.defineHistogram('nVertex;nVertex_unpairIso', title=pVertexT+unpairIsoT, weight='unpairIso', xbins=50, xmin=0, xmax=50) group.defineHistogram('nVertex;nVertex_unpairNonIso', title=pVertexT+unpairNonIsoT, weight='unpairNonIso', xbins=50, xmin=0, xmax=50) return helper.result()
# # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # '''@file SCTErrMonAlg_jobOptions.py @brief Old style configuration of SCTErrMonAlg ''' from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "SCTErrMonitor") from SCT_Monitoring.SCT_MonitoringConf import SCTErrMonAlg myMonAlg = helper.addAlgorithm(SCTErrMonAlg, "SCTErrMonAlg") myMonAlg.TriggerChain = "" # Use SCT conditions tools defined in InDetRecConditionsAccess.py # SCT_ByteStreamErrorsTool myMonAlg.SCT_ByteStreamErrorsTool = SCT_ByteStreamErrorsTool # InDetSCT_ConfigurationConditionsTool myMonAlg.conditionsTool = InDetSCT_ConfigurationConditionsTool # SCT_DCSConditionsTool if InDetFlags.useDCS(): myMonAlg.SCT_DCSConditionsTool = InDetSCT_DCSConditionsTool else: myMonAlg.UseDCS = False # InDetSCT_ConditionsSummaryTool myMonAlg.SCT_ConditionsSummaryTool = InDetSCT_ConditionsSummaryTool # FilterTools if jobproperties.Beam.beamType() == 'collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool myMonAlg.FilterTools += [GetFilledBunchFilterTool()]
False, #Turn on/off the sets of 1744 module histograms (for dqmf) 'doLumiBlock': False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block 'doLowOccupancy': False, #Turn on/off histograms with binning for cosmics/single beam 'doHighOccupancy': True, #Turn on/off histograms with binning for collisions 'doHeavyIonMon': InDetFlags.doHeavyIon() } from AthenaMonitoring.DQMonFlags import DQMonFlags from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "NewPixelMonitoring") if doHitMonAlg: pixelAthMonAlgHitMonAlg = helper.addAlgorithm(PixelAthHitMonAlg, 'PixelAthHitMonAlg') for k, v in kwargsHitMonAlg.items(): setattr(pixelAthMonAlgHitMonAlg, k, v) PixelAthHitMonAlgCfg(helper, pixelAthMonAlgHitMonAlg, **kwargsHitMonAlg) if doClusterMonAlg: pixelAthClusterMonAlg = helper.addAlgorithm(PixelAthClusterMonAlg, 'PixelAthClusterMonAlg') for k, v in kwargsClusMonAlg.items(): setattr(pixelAthClusterMonAlg, k, v) pixelAthClusterMonAlg.TrackSelectionTool.UseTrkTrackTools = True pixelAthClusterMonAlg.TrackSelectionTool.CutLevel = "TightPrimary" pixelAthClusterMonAlg.TrackSelectionTool.maxNPixelHoles = 1 pixelAthClusterMonAlg.TrackSelectionTool.maxD0 = 2 pixelAthClusterMonAlg.TrackSelectionTool.maxZ0 = 150 pixelAthClusterMonAlg.TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool
# # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # '''@file SCTLorentzMonAlg_jobOptions.py @author Susumu Oda @date 2019-10-03 @brief Old style configuration of SCTLorentzMonAlg ''' from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "SCTLorentzMonitor") from SCT_Monitoring.SCT_MonitoringConf import SCTLorentzMonAlg myMonAlg = helper.addAlgorithm(SCTLorentzMonAlg, "SCTLorentzMonAlg") myMonAlg.TriggerChain = '' # Set InDetTrackSummaryTool to TrackSummaryTool of SCTLorentzMonAlg myMonAlg.TrackSummaryTool = InDetTrackSummaryTool myMonAlg.AssociationTool = InDetPrdAssociationTool myMonAlg.RejectSharedHits = False # Add a generic monitoring tool (a "group" in old language). The returned # object here is the standard GenericMonitoringTool. myMonGroup = helper.addGroup(myMonAlg, "SCTLorentzMonitor", "SCT/GENERAL/") # Configure histograms from ROOT import SCT_Monitoring as sctMon #import SCT_MonitoringNumbers.h
m_layerStr = i / 2 m_sideStr = i % 2 m_region = isub if m_region == 1: return "Layer " + str(m_layerStr) + " Side " + str( (m_element % 2 + 1) % 2) else: return "Disk " + str(m_layerStr) + " Side " + str( (m_element % 2 + 1) % 2) from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "SCTHitEffMonitor") from SCT_Monitoring.SCT_MonitoringConf import SCTHitEffMonAlg myMonAlg = helper.addAlgorithm(SCTHitEffMonAlg, "SCTHitEffMonAlg") myMonAlg.TriggerChain = '' from LumiBlockComps.BunchCrossingCondAlgDefault import BunchCrossingCondAlgDefault BunchCrossingCondAlgDefault() # Add a generic monitoring tool (a "group" in old language). The returned # object here is the standard GenericMonitoringTool. from ROOT import SCT_Monitoring as sctMon #import SCT_MonitoringNumbers.h myMonGroup = [ helper.addGroup(myMonAlg, "SCTHitEffMonitorEC", "SCT/SCTEC/"), helper.addGroup(myMonAlg, "SCTHitEffMonitorB", "SCT/SCTB/"), helper.addGroup(myMonAlg, "SCTHitEffMonitorEA", "SCT/SCTEA/"), helper.addGroup(myMonAlg, "SCTHitEffMonitor", "SCT/GENERAL/")
kwargsInDetGlobalBeamSpotMonAlg = { 'BeamSpotKey': 'BeamSpotData', #InDetKeys.BeamSpotData(), 'vxContainerName': 'PrimaryVertices', #InDetKeys.xAODVertexContainer(), 'trackContainerName': 'InDetTrackParticles', #InDetKeys.xAODTrackParticleContainer(), 'useBeamspot': True, # InDetFlags.useBeamConstraint() 'vxContainerWithBeamConstraint': False # InDetFlags.useBeamConstraint() } # old magic from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "InDetGlobalMonitoringRun3Test") if doInDetGlobalTrackMonAlg: inDetGlobalTrackMonAlg = helper.addAlgorithm(InDetGlobalTrackMonAlg, 'InDetGlobalTrackMonAlg') for k, v in kwargsInDetGlobalTrackMonAlg.items(): setattr(inDetGlobalTrackMonAlg, k, v) inDetGlobalTrackMonAlg.TrackSelectionTool.UseTrkTrackTools = True inDetGlobalTrackMonAlg.TrackSelectionTool.CutLevel = "TightPrimary" inDetGlobalTrackMonAlg.TrackSelectionTool.maxNPixelHoles = 1 inDetGlobalTrackMonAlg.TrackSelectionTool.minPt = 5000 inDetGlobalTrackMonAlg.TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool inDetGlobalTrackMonAlg.TrackSelectionTool.Extrapolator = InDetExtrapolator inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.UseTrkTrackTools = True inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.CutLevel = "TightPrimary" inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.minPt = 5000 inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.Extrapolator = InDetExtrapolator
@brief Example trigger python configuration for the Run III AthenaMonitoring package (old jobOptions), based on the example by C Burton and P Onyisi ''' # The following class will make a sequence, configure algorithms, and link # them to GenericMonitoringTools from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "TrigEgammaMonitor") ### STEP 2 ### # Adding an algorithm to the helper. Here, we will use the example # algorithm in the AthenaMonitoring package. Just pass the type to the # helper. Then, the helper will instantiate an instance and set up the # base class configuration following the inputFlags. The returned object # is the algorithm. from TrigEgammaMonitoring.TrigEgammaMonitoringConf import TrigEgammaMonitorAlgorithm trigEgammaMonAlg = helper.addAlgorithm(TrigEgammaMonitorAlgorithm,'TrigEgammaMonAlg') # Examples of setting a trigger, or of running with debug messages on #trigEgammaMonAlg.TriggerChain = 'HLT_mu26_ivarmedium' #trigEgammaMonAlg.OutputLevel = DEBUG myGroup = helper.addGroup( trigEgammaMonAlg, "TrigEgammaMonitor", "HLT/EgammaMon/Expert" ) myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events", path='lumi',xbins=10,xmin=0.0,xmax=10.0) myGroup.defineHistogram("lb;lb", title="Luminosity Block;lb;Events", path='lbpath',xbins=1000,xmin=-0.5,xmax=999.5) myGroup.defineHistogram("random;random", title="LB;x;Events",
# The following class will make a sequence, configure algorithms, and link # them to GenericMonitoringTools from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "TrigMETMonitor") #from AthenaMonitoring import AthMonitorCfgHelper #helper = AthMonitorCfgHelper(DQMonFlags, "TrigMETMonitor") ### STEP 2 ### # Adding an algorithm to the helper. Here, we will use the example # algorithm in the AthenaMonitoring package. Just pass the type to the # helper. Then, the helper will instantiate an instance and set up the # base class configuration following the inputFlags. The returned object # is the algorithm. from TrigMETMonitoring.TrigMETMonitoringConf import TrigMETMonitorAlgorithm expertTrigMETMonAlg = helper.addAlgorithm(TrigMETMonitorAlgorithm,'TrigMETMonAlg') shifterTrigMETMonAlg = helper.addAlgorithm(TrigMETMonitorAlgorithm,'ShifterTrigMETMonAlg') # Examples of setting a trigger, or of running with debug messages on #expertTrigMETMonAlg.TriggerChain = 'HLT_xe30_cell_L1XE10' #expertTrigMETMonAlg.OutputLevel = DEBUG expertGroup = helper.addGroup(expertTrigMETMonAlg,'TrigMETMonitor','HLT/METMon/Expert/') shifterGroup = helper.addGroup(shifterTrigMETMonAlg,'TrigMETMonitor','HLT/METMon/Shifter/') shifterGroup.defineHistogram('L1_Ex',title='L1 Missing E_{x};E_{x} (GeV);Events', path='L1',xbins=199,xmin=-298.5,xmax=298.5) shifterGroup.defineHistogram('L1_Ey',title='L1 Missing E_{y};E_{y} (GeV);Events', path='L1',xbins=199,xmin=-298.5,xmax=298.5) shifterGroup.defineHistogram('L1_Et',title='L1 Missing E_{T};E_{T} (GeV);Events', path='L1',xbins=205,xmin=-13.5,xmax=401.5)
def TRTMonitoringRun3RAW_AlgConfig(inputFlags): from AthenaMonitoring import AthMonitorCfgHelperOld as AthMonitorCfgHelper helper = AthMonitorCfgHelper(inputFlags, 'TRTMonitoringCfg') from AthenaConfiguration.ComponentFactory import CompFactory algTRTMonitoringRun3RAW = helper.addAlgorithm( CompFactory.TRTMonitoringRun3RAW_Alg, 'AlgTRTMonitoringRun3RAW', ByteStreamErrors="" if inputFlags.isMC else "TRT_ByteStreamErrs") from AthenaCommon.AthenaCommonFlags import athenaCommonFlags maxLumiBlock = 200 numberOfBarrelStacks = 32 distToStraw = 0.4 numberOfStacks = (32, 32) moduleNum = (96, 64) iChipMax = (104, 240) strawMax = (1642, 3840) moduleOrWheel = ('Module', 'Wheel') barrelOrEndcap = ('Barrel', 'EndCap') beId = ('B', 'E') sideId = ('A', 'C') stackOrSector = ('Barrel Stack', 'Endcap Sector') moduleNumAssign = ('Modules Type 1 (1-32), Type 2 (33-64), Type 3 (65-96)', 'Wheels A (1-32), B (33-64)') ### Booking TRT RDO Histograms ### # ibe = 0 (Barrel), ibe = 1 (Endcap) for ibe in range(2): for i in range(numberOfStacks[ibe] * 2): rdoStackGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'RDOStackHistograms{0}{1}'.format(ibe, i)) if ibe == 0: if i < numberOfStacks[ibe]: oss = 'TRT/Barrel/Stack' + str(i + 1) + 'A' elif i >= numberOfStacks[ibe]: oss = 'TRT/Barrel/Stack' + str(i + 1 - 32) + 'C' elif ibe == 1: if i < numberOfStacks[ibe]: oss = 'TRT/EndcapA/Sector' + str(i + 1) elif i >= numberOfStacks[ibe]: oss = 'TRT/EndcapC/Sector' + str(i + 1 - 32) rdoStackGroup.defineHistogram( 'HitWMapS_passed,HitWMapS;hHitWMapS', type='TEfficiency', title= 'Leading Edge in Time Window: Straws;Straw Number in Stack;Probability per Event', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitTrWMapS_x,HitTrWMapS_y;hHitTrWMapS', type='TProfile', title= 'Mean Trailing Edge in Time Window: Straws;Straw Number in Stack;Time (ns)', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitTrMapS_x,HitTrMapS_y;hHitTrMapS', type='TProfile', title= 'Mean Trailing Edge: Straws;Straw Number in Stack;Time (ns)', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitAWMapS_passed,HitAWMapS;hHitAWMapS', type='TEfficiency', title= 'LL in Time Window: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitAMapS_passed,HitAMapS;hHitAMapS', type='TEfficiency', title='Any LL Bit: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'StrawOcc_passed,StrawOcc;hOccupancyS', type='TEfficiency', title= 'Straw Occupancy Distribution: Straws;Occupancy;Number of Straws', path=oss, xbins=201, xmin=0, xmax=1.005) rdoStackGroup.defineHistogram( 'HitToTMapS_x,HitToTMapS_y;hHitToTMapS', type='TProfile', title='Mean ToT: Straws;Straw Number in Stack;Time (ns)', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitToTLongMapS_x,HitToTLongMapS_y;hHitToTLongMapS', type='TProfile', title= 'Mean ToT for Straws with ToT > LongToTCut: Straws;Straw Number in Stack;Time (ns)', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitToTLongTrMapS_x,HitToTLongTrMapS_y;hHitToTLongTrMapS', type='TProfile', title= 'Mean Trailing Edge for Straws with ToT > LongToTCut: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitHMapS_passed,HitHMapS;hHitHMapS', type='TEfficiency', title='Any HL Bit: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitHWMapS_passed,HitHWMapS;hHitHWMapS', type='TEfficiency', title= 'HL in Time Window: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HtoLMapS_passed,HtoLMapS;hHtoLMapS', type='TEfficiency', title='HL/LL Ratio: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoStackGroup.defineHistogram( 'HitWMapC_passed,HitWMapC;hHitWMapC', type='TEfficiency', title= 'Leading Edge in Time Window: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitTrMapC_x,HitTrMapC_y;hHitTrMapC', type='TProfile', title= 'Mean Trailing Edge: Chips;Chip Number in Stack;Time (ns)', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitTrWMapC_x,HitTrWMapC_y;hHitTrWMapC', type='TProfile', title= 'Mean Trailing Edge in Time Window: Chips;Chip Number in Stack;Time (ns)', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitAWMapC_passed,HitAWMapC;hHitAWMapC', type='TEfficiency', title= 'LL in Time Window: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitAMapC_passed,HitAMapC;hHitAMapC', type='TEfficiency', title='Any LL Bit: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'OccupancyC_passed,OccupancyC;hChipOcc', type='TEfficiency', title='Chip Occupancy Distribution;Occupancy;Number of Chips', path=oss, xbins=201, xmin=0, xmax=1.005) rdoStackGroup.defineHistogram( 'HitToTMapC_x,HitToTMapC_y;hHitToTMapC', type='TProfile', title='Mean ToT: Chips;Chip Number in Stack;Time (ns)', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitHMapC_passed,HitHMapC;hHitHMapC', type='TEfficiency', title='Any HL Bit: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HitHWMapC_passed,HitHWMapC;hHitHWMapC', type='TEfficiency', title= 'HL in Time Window: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HtoLMapC_passed,HtoLMapC;hHtoLMapC', type='TEfficiency', title='HL/LL Ratio: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) rdoStackGroup.defineHistogram( 'HtoBCMapC_x,HtoBCMapC_y;hHtoBCMapC', type='TH2F', title='HL in BC: Chips;Bunch Crossing ID;Chip Number in Stack', path=oss, xbins=3, xmin=0, xmax=3, ybins=iChipMax[ibe], ymin=0, ymax=iChipMax[ibe]) if ibe == 0: rdoStackGroup.defineHistogram( 'HtoBCMapB_x,HtoBCMapB_y;hHtoBCMapB', type='TH2F', title= 'HL in BC: Boards;Bunch Crossing ID;Board Number in Stack', path=oss, xbins=3, xmin=0, xmax=3, ybins=9, ymin=0, ymax=9) elif ibe == 1: rdoStackGroup.defineHistogram( 'HtoBCMapB_x,HtoBCMapB_y;hHtoBCMapB', type='TH2F', title= 'HL in BC: Boards;Bunch Crossing ID;Board Number in Stack', path=oss, xbins=3, xmin=0, xmax=3, ybins=20, ymin=-0.5, ymax=19.5) ### Registering Collisions Histograms ### rdoShiftSmryGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'RDOShiftSmryHistograms') sumLabels = [ 'Events', 'Tracks Total', 'Tracks BA', 'Tracks BA', 'Tracks BC', 'Tracks EA', 'Tracks EC', 'Transition Side A', 'Transition Side C' ] rdoShiftSmryGroup.defineHistogram('Summary;hSummary', weight='SummaryWeight', type='TH1F', title='Run Summary;;Entries', path='TRT/Shift/Summary', xbins=8, xmin=0, xmax=8, xlabels=sumLabels) # Luminosity summary histograms rdoShiftSmryGroup.defineHistogram( 'IntLum_passed,IntLum;IntLum', type='TEfficiency', title='Luminosity;;Luminosity [#mub^{1}]', path='TRT/Shift/Summary', xbins=1, xmin=0., xmax=1.) rdoShiftSmryGroup.defineHistogram( 'LBvsLum_passed,LBvsLum;LBvsLum', type='TEfficiency', title='Luminosity;Luminosity Bin;Luminosity [#mub^{1}]', path='TRT/Shift/Summary', xbins=2000, xmin=0., xmax=2000.) rdoShiftSmryGroup.defineHistogram('LBvsTime_passed,LBvsTime;LBvsTime', type='TEfficiency', title='Time;Luminosity Bin;Time [s]', path='TRT/Shift/Summary', xbins=2000, xmin=0., xmax=2000.) for ibe in range(2): for iside in range(2): regionTag = ' (' + beId[ibe] + sideId[iside] + ')' rdoShiftSmryRebinnedGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'RDOShiftSmryRebinnedHistograms{0}{1}'.format(ibe, iside)) rdoShiftSmryRebinnedGroup.defineHistogram( 'ChipBSErrorsVsLB_x,ChipBSErrorsVsLB_y;hChipBSErrorsVsLB{0}{1}' .format(beId[ibe], sideId[iside]), type='TProfile', title= 'Chip Bytestream Errors vs LB{0};Luminosity Block;Fraction of Chips with Errors' .format(regionTag), path='TRT/Shift/Summary', xbins=maxLumiBlock + 1, xmin=-0.5, xmax=maxLumiBlock + 0.5) #CAN_REBIN(m_hChipBSErrorsVsLB[ibe][iside]); rdoShiftSmryRebinnedGroup.defineHistogram( 'RobBSErrorsVsLB_x,RobBSErrorsVsLB_y;hRobBSErrorsVsLB{0}{1}'. format(beId[ibe], sideId[iside]), type='TProfile', title= 'Rob Bytestream Errors vs LB{0};Luminosity Block;Fraction of RODs with Errors' .format(regionTag), path='TRT/Shift/Summary', xbins=maxLumiBlock + 1, xmin=-0.5, xmax=maxLumiBlock + 0.5) #CAN_REBIN(m_hRobBSErrorsVsLB[ibe][iside]); # Barrel/Endcap Histograms for ibe in range(2): regionTag = ' (' + barrelOrEndcap[ibe] + ')' rdoGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'RDOHistograms{0}'.format(ibe)) rdoGroup.defineHistogram( 'BCIDvsOcc_x,BCIDvsOcc_y;hBCIDvsOcc', type='TProfile', title='Avg. Occupancy vs BCID{0};Bunch Crossing ID;Occupancy'. format(regionTag), path='TRT/{0}/Expert'.format(barrelOrEndcap[ibe]), xbins=3564, xmin=0, xmax=3564) if ibe == 0: rdoGroup.defineHistogram( 'HitWMap_passed,HitWMap;hHitWMap', type='TEfficiency', title= 'Leading Edge in Time Window: Xenon Straws (Barrel);Straw Number in Stack;Probability', path='TRT/Shift/{0}'.format(str(barrelOrEndcap[ibe])), xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoGroup.defineHistogram( 'HitWMap_Ar_passed,HitWMap_Ar;hHitWMap_Ar', type='TEfficiency', title= 'Leading Edge in Time Window: Argon Straws (Barrel);Straw Number in Stack;Probability', path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoGroup.defineHistogram( 'OccAll;hOccAll', type='TH1F', title='Occupancy per Event;Occupancy;Events', path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=400, xmin=0.0, xmax=1.0) elif ibe == 1: for iside in range(2): side = ('A', 'C') rdoEndcapGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'RDOHistograms1{0}'.format(iside)) rdoEndcapGroup.defineHistogram( 'HitWMap_passed,HitWMap;hHitWMap_{0}'.format(side[iside]), type='TEfficiency', title= 'Leading Edge in Time Window: Xenon Straws (E{0});Straw Number in Stack;Probability' .format(side[iside]), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) rdoEndcapGroup.defineHistogram( 'HitWMap_Ar_passed,HitWMap_Ar;hHitWMap_Ar_{0}'.format( side[iside]), type='TEfficiency', title= 'Leading Edge in Time Window: Argon Straws (E{0});Straw Number in Stack;Probability' .format(side[iside]), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) for iside in range(2): regionTag = ' (' + beId[ibe] + sideId[iside] + ')' regionMarker = ( beId[ibe] + sideId[iside]) if athenaCommonFlags.isOnline is True else ( sideId[iside]) rdoLLHLOccGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'RDOLLHLOccHistograms{0}{1}'.format(ibe, iside)) rdoLLHLOccGroup.defineHistogram( 'AvgHLOcc_side_x,AvgHLOcc_side_y;hAvgHLOcc_{0}'.format( regionMarker), type='TProfile', title='Avg. HL Occupancy{0};{1};Occupancy'.format( regionTag, stackOrSector[ibe]), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=32, xmin=1, xmax=33) rdoLLHLOccGroup.defineHistogram( 'AvgLLOcc_side_x,AvgLLOcc_side_y;hAvgLLOcc_{0}'.format( regionMarker), type='TProfile', title='Avg. LL Occupancy{0};{1};Occupancy'.format( regionTag, stackOrSector[ibe]), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=32, xmin=1, xmax=33) rdoLLHLOccGroup.defineHistogram( 'AvgLLOccMod_side_x,AvgLLOccMod_side_y;hAvgLLOccMod_{0}'. format(regionMarker), type='TProfile', title='Avg. LL Occupancy: {0}s{1};{2};Occupancy'.format( moduleOrWheel[ibe], regionTag, moduleNumAssign[ibe]), path='TRT/{0}/Expert'.format(barrelOrEndcap[ibe]), xbins=moduleNum[ibe], xmin=0, xmax=moduleNum[ibe]) rdoLLHLOccGroup.defineHistogram( 'AvgHLOccMod_side_x,AvgHLOccMod_side_y;hAvgHLOccMod_{0}'. format(regionMarker), type='TProfile', title='Avg. HL Occupancy: {0}s{1};{2};Occupancy'.format( moduleOrWheel[ibe], regionTag, moduleNumAssign[ibe]), path='TRT/{0}/Expert'.format(barrelOrEndcap[ibe]), xbins=moduleNum[ibe], xmin=0, xmax=moduleNum[ibe]) effGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'TRTEfficiencyHistograms') effGroup.defineHistogram( 'Efficiency_eta_passed,Efficiency_eta;hefficiency_eta', type='TEfficiency', title='Efficiency vs #eta;#eta;Efficiency', path='TRT/Efficiency', xbins=50, xmin=-2.8, xmax=2.8) effGroup.defineHistogram( 'Efficiency_phi_passed,Efficiency_phi;hefficiency_phi', type='TEfficiency', title='Efficiency vs #phi;#phi (deg);Efficiency', path='TRT/Efficiency', xbins=50, xmin=-3.2, xmax=3.2) effGroup.defineHistogram( 'Efficiency_pt_passed,Efficiency_pt;hefficiency_pt', type='TEfficiency', title='Efficiency vs pT;pT (GeV);Efficiency', path='TRT/Efficiency', xbins=50, xmin=0, xmax=10) effGroup.defineHistogram( 'Efficiency_z0_passed,Efficiency_z0;hefficiency_z0', type='TEfficiency', title='Efficiency vs z0;z0;Efficiency', path='TRT/Efficiency', xbins=50, xmin=-200, xmax=200) effGroup.defineHistogram( 'EfficiencyBarrel_locR_passed,EfficiencyBarrel_locR;hefficiencyBarrel_locR', type='TEfficiency', title= 'Efficiency vs Track-to-Wire Distance for Xenon Straws (Barrel);Track-to-Wire Distance (mm);Efficiency', path='TRT/Efficiency', xbins=50, xmin=-2.5, xmax=2.5) effGroup.defineHistogram( 'EfficiencyBarrel_locR_Ar_passed,EfficiencyBarrel_locR_Ar;hefficiencyBarrel_locR_Ar', type='TEfficiency', title= 'Efficiency vs Track-to-Wire Distance for Argon Straws (Barrel);Track-to-Wire Distance (mm);Efficiency', path='TRT/Efficiency', xbins=50, xmin=-2.5, xmax=2.5) effBarrelGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'TRTEfficiencyHistogramsBarrel') effBarrelGroup.defineHistogram( 'EfficiencyBarrelMap_passed,EfficiencyBarrelMap;hEfficiencyBarrelMap', type='TEfficiency', title='Straw Efficiency Map (Barrel);Straw Number;Efficiency', path='TRT/Efficiency', xbins=strawMax[0], xmin=0, xmax=strawMax[0]) effEndcapGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'TRTEfficiencyHistogramsEndCap') effEndcapGroup.defineHistogram( 'EfficiencyEndCapMap_passed,EfficiencyEndCapMap;hEfficiencyEndCapMap', type='TEfficiency', title='Straw Efficiency Map (Endcap);Straw Number;Efficiency', path='TRT/Efficiency', xbins=strawMax[1], xmin=0, xmax=strawMax[1]) for iside in range(2): regionTag = ' (' + beId[1] + sideId[iside] + ')' effTRTEndcapACGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'TRTEfficiencyHistogramsEndCap{0}'.format(iside)) effTRTEndcapACGroup.defineHistogram( 'EfficiencyEndCap_locR_passed,EfficiencyEndCap_locR;hEfficiencyEndCap{0}_locR' .format(sideId[iside]), type='TEfficiency', title= 'Efficiency vs Track-to-Wire Distance for Xenon Straws{0};Track-to-Wire Distance (mm);Efficiency' .format(regionTag), path='TRT/Efficiency', xbins=50, xmin=-2.5, xmax=2.5) effTRTEndcapACGroup.defineHistogram( 'EfficiencyEndCap_locR_Ar_passed,EfficiencyEndCap_locR_Ar;hEfficiencyEndCap{0}_locR_Ar' .format(sideId[iside]), type='TEfficiency', title= 'Efficiency vs Track-to-Wire Distance for Argon Straws{0};Track-to-Wire Distance (mm);Efficiency' .format(regionTag), path='TRT/Efficiency', xbins=50, xmin=-2.5, xmax=2.5) for ibe in range(2): for iside in range(2): regionTag = ' (' + beId[ibe] + sideId[iside] + ')' imintmp = numberOfBarrelStacks * iside imaxtmp = numberOfBarrelStacks * (iside + 1) for i in range(imintmp, imaxtmp): if ibe == 0: oss = 'TRT/Barrel/Stack' + str(i + 1 - 32 * iside) + str( sideId[iside]) elif ibe == 1: oss = 'TRT/Endcap' + str( sideId[iside]) + '/Sector' + str(i + 1 - 32 * iside) effStrawChipGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'TRTEfficiencyHistograms{0}{1}'.format(ibe, i)) effStrawChipGroup.defineHistogram( 'EfficiencyS_passed,EfficiencyS;hHitEfficiencyS', type='TEfficiency', title='Straw Efficiency Map;Straw Number;Efficiency', path=oss, xbins=strawMax[ibe], xmin=0.5, xmax=strawMax[ibe]) effStrawChipGroup.defineHistogram( 'EfficiencyC_passed,EfficiencyC;hHitEfficiencyC', type='TEfficiency', title='Chip Efficiency Map;Chip Number;Efficiency', path=oss, xbins=iChipMax[ibe], xmin=0.5, xmax=iChipMax[ibe]) ## Finished Booking TRT RDO Histograms ### ### Booking TRT Hits Histograms ### for ibe in range(2): oss_distance = distToStraw distance = str(oss_distance) regionTag = ' (' + barrelOrEndcap[ibe] + ')' for i in range(numberOfStacks[ibe] * 2): trackGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'TRTTrackHistograms{0}{1}'.format(ibe, i)) nBarrelModules = 0 if ibe == 0: if i < numberOfStacks[ibe]: nBarrelModules = i + 1 oss = 'TRT/Barrel/Stack{0}A'.format(nBarrelModules) elif i >= numberOfStacks[ibe]: nBarrelModules = i + 1 - 32 oss = 'TRT/Barrel/Stack{0}C'.format(nBarrelModules) elif ibe == 1: if i < numberOfStacks[ibe]: nBarrelModules = i + 1 oss = 'TRT/EndcapA/Sector{0}'.format(nBarrelModules) elif i >= numberOfStacks[ibe]: nBarrelModules = i + 1 - 32 oss = 'TRT/EndcapC/Sector{0}'.format(nBarrelModules) trackGroup.defineHistogram( 'HitWonTMapS_passed,HitWonTMapS;hHitWonTMapS', type='TEfficiency', title= 'Leading Edge on Track in Time Window: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'HitAonTMapS_passed,HitAonTMapS;hHitAonTMapS', type='TEfficiency', title= 'Any LL Bit on Track: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'EfficiencyS_passed,EfficiencyS;hStrawsEff', type='TEfficiency', title= 'Straw Efficiency with {0} mm Cut;Straw Number in Stack;Efficiency' .format(distance), path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'HitHonTMapS_passed,HitHonTMapS;hHitHonTMapS', type='TEfficiency', title= 'HL Hit on Track: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'HitHWonTMapS_passed,HitHWonTMapS;hHitHWonTMapS', type='TEfficiency', title= 'HL Hit(In Time Window) on Track: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'HitAWonTMapS_passed,HitAWonTMapS;hHitAWonTMapS', type='TEfficiency', title= 'Any LL Bit on Track in Time Window: Straws;Straw Number in Stack;Probability', path=oss, xbins=strawMax[ibe], xmin=0, xmax=strawMax[ibe]) trackGroup.defineHistogram( 'HitWonTMapC_passed,HitWonTMapC;hHitWonTMapC', type='TEfficiency', title= 'Leading Edge on Track in Time Window: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'HitTronTMapC_x,HitTronTMapC_y;hHitTronTMapC', type='TProfile', title= 'Mean Trailing Edge on Track: Chips;Chip Number in Stack;Time (ns)', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'HitAonTMapC_passed,HitAonTMapC;hHitAonTMapC', type='TEfficiency', title= 'Any LL Bit on Track: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'EfficiencyC_passed,EfficiencyC;hChipsEff', type='TEfficiency', title= 'Chip Efficiency with {0} mm Cut;Chip Number in Stack;Efficiency' .format(distance), path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'HitAWonTMapC_passed,HitAWonTMapC;hHitAWonTMapC', type='TEfficiency', title= 'Any LL Bit on Track in Time Window: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'HitHonTMapC_passed,HitHonTMapC;hHitHonTMapC', type='TEfficiency', title='HL Hit on Track: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) trackGroup.defineHistogram( 'HitHWonTMapC_passed,HitHWonTMapC;hHitHWonTMapC', type='TEfficiency', title= 'HL Hit(In time Window) on Track: Chips;Chip Number in Stack;Probability', path=oss, xbins=iChipMax[ibe], xmin=0, xmax=iChipMax[ibe]) for ibe in range(2): if ibe == 0: regionTag = ' (' + barrelOrEndcap[ibe] + ')' shiftTrackGroup = helper.addGroup(algTRTMonitoringRun3RAW, 'ShiftTRTTrackHistograms0') shiftTrackGroup.defineHistogram( 'HtoLRatioOnTrack_B_Ar;hHtoLRatioOnTrack_Ar', type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for Argon{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackGroup.defineHistogram( 'HtoLRatioOnTrack_B_Xe;hHtoLRatioOnTrack_Xe', type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for Xenon{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackGroup.defineHistogram( 'NumSwLLWoT_B;hNumSwLLWoT', type='TH1F', title= 'Number of Straws with Hits on Track in Time Window{0};Number of LL Hits per Track;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=150, xmin=0, xmax=150) shiftTrackGroup.defineHistogram( 'HLhitOnTrack_B;hHLhitOnTrack', type='TH1F', title= 'Number of HL Hits per Reconstructed Track{0};Number of HL Hits per Track;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=50) shiftTrackGroup.defineHistogram( 'HtoLRatioOnTrack_B;hHtoLRatioOnTrack', type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for All{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackGroup.defineHistogram( 'HitWonTMap_B;hHitWonTMap', type='TH1F', title= 'Leading Edge in Time Window per Reconstructed Track{0};Straw Number;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=strawMax[0], xmin=0, xmax=strawMax[0]) shiftTrackGroup.defineHistogram( 'StrawEffDetPhi_B_passed,StrawEffDetPhi_B;hStrawEffDetPhi', type='TEfficiency', title= 'Straw Efficiency on Track with {0} mm Cut vs #phi(2D){1};Stack;Avg. Straw Efficiency' .format(distance, regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=32, xmin=0, xmax=32) elif ibe == 1: for iside in range(2): regionTag = ' (' + beId[ibe] + sideId[iside] + ')' shiftTrackEndcapGroup = helper.addGroup( algTRTMonitoringRun3RAW, 'ShiftTRTTrackHistograms1{0}'.format(iside)) shiftTrackEndcapGroup.defineHistogram( 'HtoLRatioOnTrack_E_Ar;hHtoLRatioOnTrack_Ar_{0}'.format( sideId[iside]), type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for Argon{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackEndcapGroup.defineHistogram( 'HtoLRatioOnTrack_E_Xe;hHtoLRatioOnTrack_Xe_{0}'.format( sideId[iside]), type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for Xenon{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackEndcapGroup.defineHistogram( 'NumSwLLWoT_E;hNumSwLLWoT_{0}'.format(sideId[iside]), type='TH1F', title= 'Number of Straws with Hits on Track in Time Window{0};Number of LL Hits per Track;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=150, xmin=0, xmax=150) shiftTrackEndcapGroup.defineHistogram( 'HLhitOnTrack_E;hHLhitOnTrack_{0}'.format(sideId[iside]), type='TH1F', title= 'Number of HL Hits per Reconstructed Track{0};Number of HL Hits per Track;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=50) shiftTrackEndcapGroup.defineHistogram( 'HtoLRatioOnTrack_E;hHtoLRatioOnTrack_{0}'.format( sideId[iside]), type='TH1F', title= 'HL/LL Ratio per Reconstructed Track for All{0};HL/LL Ratio;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=50, xmin=0, xmax=1) shiftTrackEndcapGroup.defineHistogram( 'HitWonTMap_E;hHitWonTMap_{0}'.format(sideId[iside]), type='TH1F', title= 'Leading Edge in Time Window per Reconstructed Track{0};Straw Number;Entries' .format(regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=strawMax[1], xmin=0, xmax=strawMax[1]) shiftTrackEndcapGroup.defineHistogram( 'StrawEffDetPhi_E_passed,StrawEffDetPhi_E;hStrawEffDetPhi_{0}' .format(sideId[iside]), type='TEfficiency', title= 'Straw Efficiency on Track with {0} mm Cut vs #phi(2D){1};Stack;Avg. Straw Efficiency' .format(distance, regionTag), path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]), xbins=32, xmin=0, xmax=32) ### Finished Booking TRT Hits Histograms ### return helper.result()
# # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # '''@file SCTTracksMonAlg_jobOptions.py @author Susumu Oda @date 2019-10-03 @brief Old style configuration of SCTTracksMonAlg ''' from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "SCTTracksMonitor") from SCT_Monitoring.SCT_MonitoringConf import SCTTracksMonAlg myMonAlg = helper.addAlgorithm(SCTTracksMonAlg, "SCTTracksMonAlg") if jobproperties.Beam.beamType()=='collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool myMonAlg.FilterTools += [GetFilledBunchFilterTool()] myMonAlg.TriggerChain = '' # Set InDetTrackSummaryTool to TrackSummaryTool of SCTTracksMonAlg myMonAlg.TrackSummaryTool = InDetTrackSummaryTool doTrigger = False if globalflags.DataSource == "data": from RecExConfig.RecFlags import rec if rec.doTrigger(): doTrigger = True myMonAlg.doTrigger = doTrigger
@brief Example trigger python configuration for the Run III AthenaMonitoring package (old jobOptions), based on the example by C Burton and P Onyisi ''' # The following class will make a sequence, configure algorithms, and link # them to GenericMonitoringTools from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "TrigBjetMonitor") ### STEP 2 ### # Adding an algorithm to the helper. Here, we will use the example # algorithm in the AthenaMonitoring package. Just pass the type to the # helper. Then, the helper will instantiate an instance and set up the # base class configuration following the inputFlags. The returned object # is the algorithm. from TrigBjetMonitoring.TrigBjetMonitoringConf import TrigBjetMonitorAlgorithm trigBjetMonAlg = helper.addAlgorithm(TrigBjetMonitorAlgorithm, 'TrigBjetMonAlg') # Examples of setting a trigger, or of running with debug messages on #trigBjetMonAlg.TriggerChain = 'HLT_mu26_ivarmedium' #trigBjetMonAlg.OutputLevel = DEBUG myGroup = helper.addGroup(trigBjetMonAlg, "TrigBjetMonitor", "HLT/BjetMon/Expert") myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events", path='lumi', xbins=10, xmin=0.0, xmax=10.0) myGroup.defineHistogram("lb;lb",
def Title(i, isub): m_element = i m_layerStr = i / 2 m_sideStr = i % 2 m_region = isub if m_region == 1: return "Layer " + str(m_layerStr) + " Side " + str(m_sideStr) else: return "Disk " + str(m_layerStr) + " Side " + str(m_sideStr) from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "SCTHitsNoiseMonitor") from SCT_Monitoring.SCT_MonitoringConf import SCTHitsNoiseMonAlg myMonAlg = helper.addAlgorithm(SCTHitsNoiseMonAlg, "SCTHitsNoiseMonAlg") # Trigger histogram will be made only for data. doTrigger = False if globalflags.DataSource == "data": from RecExConfig.RecFlags import rec if rec.doTrigger(): doTrigger = True myMonAlg.doTrigger = doTrigger from ROOT import SCT_Monitoring as sctMon #import SCT_MonitoringNumbers.h # Add a generic monitoring tool (a "group" in old language). The returned # object here is the standard GenericMonitoringTool. dimension = [sctMon.N_REGIONS]
# # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # from AthenaMonitoring import AthMonitorCfgHelperOld as AthMonitorCfgHelper helper = AthMonitorCfgHelper(DQMonFlags, 'TRTMonitoringCfg') from AthenaConfiguration.ComponentFactory import CompFactory algTRTMonitoringRun3RAW = helper.addAlgorithm( CompFactory.TRTMonitoringRun3RAW_Alg, 'AlgTRTMonitoringRun3RAW') from AthenaCommon.AthenaCommonFlags import athenaCommonFlags algTRTMonitoringRun3RAW.TrackSummaryTool = InDetTrackSummaryTool maxLumiBlock = 200 numberOfBarrelStacks = 32 distToStraw = 0.4 numberOfStacks = (32, 32) moduleNum = (96, 64) iChipMax = (104, 240) strawMax = (1642, 3840) moduleOrWheel = ('Module', 'Wheel') barrelOrEndcap = ('Barrel', 'EndCap') beId = ('B', 'E') sideId = ('A', 'C') stackOrSector = ('Barrel Stack', 'Endcap Sector') moduleNumAssign = ('Modules Type 1 (1-32), Type 2 (33-64), Type 3 (65-96)', 'Wheels A (1-32), B (33-64)') ### Booking TRT RDO Histograms ### # ibe = 0 (Barrel), ibe = 1 (Endcap)
@brief Example trigger python configuration for the Run III AthenaMonitoring package (old jobOptions), based on the example by C Burton and P Onyisi ''' # The following class will make a sequence, configure algorithms, and link # them to GenericMonitoringTools from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "TrigBphysMonitor") ### STEP 2 ### # Adding an algorithm to the helper. Here, we will use the example # algorithm in the AthenaMonitoring package. Just pass the type to the # helper. Then, the helper will instantiate an instance and set up the # base class configuration following the inputFlags. The returned object # is the algorithm. from TrigBphysMonitoring.TrigBphysMonitoringConf import TrigBphysMonitorAlgorithm trigBphysMonAlg = helper.addAlgorithm(TrigBphysMonitorAlgorithm, 'TrigBphysMonAlg') # Examples of setting a trigger, or of running with debug messages on #trigBphysMonAlg.TriggerChain = 'HLT_mu26_ivarmedium' #trigBphysMonAlg.OutputLevel = DEBUG myGroup = helper.addGroup(trigBphysMonAlg, "TrigBphysMonitor", "HLT/BphysMon/Expert") myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events", path='lumi', xbins=10, xmin=0.0, xmax=10.0) myGroup.defineHistogram("lb;lb",
@brief Example trigger python configuration for the Run III AthenaMonitoring package (old jobOptions), based on the example by C Burton and P Onyisi ''' # The following class will make a sequence, configure algorithms, and link # them to GenericMonitoringTools from AthenaMonitoring import AthMonitorCfgHelperOld helper = AthMonitorCfgHelperOld(DQMonFlags, "TrigHLTMonitor") ### STEP 2 ### # Adding an algorithm to the helper. Here, we will use the example # algorithm in the AthenaMonitoring package. Just pass the type to the # helper. Then, the helper will instantiate an instance and set up the # base class configuration following the inputFlags. The returned object # is the algorithm. from TrigHLTMonitoring.TrigHLTMonitoringConf import TrigHLTMonitorAlgorithm trigHLTMonAlg = helper.addAlgorithm(TrigHLTMonitorAlgorithm, 'TrigHLTMonAlg') # Examples of setting a trigger, or of running with debug messages on #trigHLTMonAlg.TriggerChain = 'HLT_mu26_ivarmedium' #trigHLTMonAlg.OutputLevel = DEBUG myGroup = helper.addGroup(trigHLTMonAlg, "TrigHLTMonitor", "HLT/HLTMon/Expert") #myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events", # path='lumi',xbins=10,xmin=0.0,xmax=10.0) myGroup.defineHistogram("lb;lb", title="Luminosity Block;lb;Events", path='lbpath', xbins=1000, xmin=-0.5, xmax=999.5)
def MuonTrackConfig(inputFlags, isOld=False): if isOld: # Run-2 style configuration from AthenaMonitoring import AthMonitorCfgHelperOld as AthMonitorCfgHelper from MuonTrackMonitoring.MuonTrackMonitoringConf import MuonTrackMonitorAlgorithm else: from AthenaMonitoring import AthMonitorCfgHelper from AthenaConfiguration.ComponentFactory import CompFactory MuonTrackMonitorAlgorithm = CompFactory.MuonTrackMonitorAlgorithm helper = AthMonitorCfgHelper(inputFlags, "MuonTrackMonitoringConfig") muonTrackAlg = helper.addAlgorithm(MuonTrackMonitorAlgorithm, "MuonTrackMonitorAlgorithm") myGroup = helper.addGroup(muonTrackAlg, "MuonTrackMonitorAlgorithm", "MuonPhysics/") myGroup.defineHistogram( 'JPsiMuonEta,JPsiMuonPhi;Muons_Jpsi_Origin_eta_phi', title='Muons_Jpsi_Origin_eta_phi;eta;phi', type='TH2F', path='Muons/Jpsi', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'JPsiMuonEtaTight,JPsiMuonPhiTight;Muons_Jpsi_Tight_eff', title='Muons_Jpsi_Tight_eff;eta;phi', type='TH2F', path='Muons/Jpsi', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'JPsiMuonEtaMedium,JPsiMuonPhiMedium;Muons_Jpsi_Medium_eff', title='Muons_Jpsi_Medium_eff;eta;phi', type='TH2F', path='Muons/Jpsi', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('JPsiMuonD0;Muons_Jpsi_d0', title='Muons_Jpsi_d0;d0;Entries', type='TH1F', path='Muons/Jpsi', xbins=40, xmin=-1, xmax=1) myGroup.defineHistogram( 'JPsiMuonDPTIDME;Muons_Jpsi_ddpt_idme', title='Muons_Jpsi_ddpt_idme;(ptID-ptME)/ptID;Entries', type='TH1F', path='Muons/Jpsi', xbins=40, xmin=-0.5, xmax=0.5) myGroup.defineHistogram('JPsiMuonPt;Muons_Jpsi_pt', title='Muons_Jpsi_pt; pT[GeV];Entries', type='TH1F', path='Muons/Jpsi', xbins=50, xmin=0, xmax=50000) myGroup.defineHistogram('JPsiMuonPt;Muons_Jpsi_pt_broad', title='Muons_Jpsi_pt_broad;pT[GeV];Entries', type='TH1F', path='Muons/Jpsi', xbins=50, xmin=0, xmax=1000000) myGroup.defineHistogram( 'JPsiMuonLumiBlock;Overview_Jpsi_nJpsi_LB', title='Overview_Jpsi_nJpsi_LB;LumiBlock;NumberOfJPsis', type='TH1F', path='Overview/Jpsi', xbins=50, xmin=0, xmax=2500) myGroup.defineHistogram( 'JPsiMuonNBHits;TracksID_Jpsi_HitContent_NBlayerHits', title='TracksID_Jpsi_HitContent_NBlayerHits;NumberOfBLayerHits;Entries', type='TH1F', path='TracksID/Jpsi', xbins=5, xmin=0, xmax=5) myGroup.defineHistogram( 'JPsiMuonNPixHits;TracksID_Jpsi_HitContent_NPixelHits', title='TracksID_Jpsi_HitContent_NPixelHits;NumberOfPixelHits;Entries', type='TH1F', path='TracksID/Jpsi', xbins=10, xmin=0, xmax=10) myGroup.defineHistogram( 'JPsiMuonNSCTHits;TracksID_Jpsi_HitContent_NSCTHits', title='TracksID_Jpsi_HitContent_NSCTHits;NumberOfSCTHits;Entries', type='TH1F', path='TracksID/Jpsi', xbins=20, xmin=0, xmax=20) myGroup.defineHistogram( 'JPsiMuonNTRTHits;TracksID_Jpsi_HitContent_NTRTHits', title='TracksID_Jpsi_HitContent_NTRTHits;NumberOfTRTHits;Entries', type='TH1F', path='TracksID/Jpsi', xbins=50, xmin=0, xmax=50) myGroup.defineHistogram( 'JPsiMuonIDChi2NDF;TracksID_Jpsi_chi2ndof', title='TracksID_Jpsi_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksID/Jpsi', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram( 'JPsiMuonMEChi2NDF;TracksME_Jpsi_chi2ndof', title='TracksME_Jpsi_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksME/Jpsi', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram('JPsiMass2D,JPsiEta2D;JPsiMassAverage', title='JPsiMassAverage;mass;eta', type='TH2F', path='Muons/Jpsi', xbins=27, xmin=2600., xmax=3600, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('JPsiMass;m_Jpsi_Mass', title='m_Jpsi_Mass;M_{#mu#mu};Entries', type='TH1F', path='MuonTrkPhys/Jpsi', xbins=50, xmin=2600, xmax=3600) myGroup.defineHistogram('ZMuonEta,ZMuonPhi;Muons_Z_Origin_eta_phi', title='Muons_Z_Origin_eta_phi;eta;phi', type='TH2F', path='Muons/Z', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('ZMuonEtaTight,ZMuonPhiTight;Muons_Z_Tight_eff', title='Muons_Z_Tight_eff;eta;phi', type='TH2F', path='Muons/Z', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('ZMuonEtaMedium,ZMuonPhiMedium;Muons_Z_Medium_eff', title='Muons_Z_Medium_eff;eta;phi', type='TH2F', path='Muons/Z', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('ZMuonD0;Muons_Z_d0', title='Muons_Z_d0;d0;Entries', type='TH1F', path='Muons/Z', xbins=40, xmin=-1, xmax=1) myGroup.defineHistogram('ZMuonZ0;Muons_Z_z0', title='Muons_Z_z0;z0;Entries', type='TH1F', path='Muons/Z', xbins=50, xmin=-1000, xmax=1000) myGroup.defineHistogram('ZMuonDPTIDME;Muons_Z_ddpt_idme', title='Muons_Z_ddpt_idme;(ptID-ptME)/ptID;Entries', type='TH1F', path='Muons/Z', xbins=40, xmin=-0.5, xmax=0.5) myGroup.defineHistogram('ZMuonPt;Muons_Z_pt', title='Muons_Z_pt; pT[GeV];Entries', type='TH1F', path='Muons/Z', xbins=50, xmin=0, xmax=50000) myGroup.defineHistogram('ZMuonPt;Muons_Z_pt_broad', title='Muons_Z_pt_broad;pT[GeV];Entries', type='TH1F', path='Muons/Z', xbins=50, xmin=0, xmax=1000000) myGroup.defineHistogram('ZMuonLumiBlock;Overview_Z_nZ_LB', title='Overview_Z_nJpsi_LB;LumiBlock;NumberOfZs', type='TH1F', path='Overview/Z', xbins=50, xmin=0, xmax=2500) myGroup.defineHistogram( 'ZMuonNBHits;TracksID_Z_HitContent_NBlayerHits', title='TracksID_Z_HitContent_NBlayerHits;NumberOfBLayerHits;Entries', type='TH1F', path='TracksID/Z', xbins=5, xmin=0, xmax=5) myGroup.defineHistogram( 'ZMuonNPixHits;TracksID_Z_HitContent_NPixelHits', title='TracksID_Z_HitContent_NPixelHits;NumberOfPixelHits;Entries', type='TH1F', path='TracksID/Z', xbins=10, xmin=0, xmax=10) myGroup.defineHistogram( 'ZMuonNSCTHits;TracksID_Z_HitContent_NSCTHits', title='TracksID_Z_HitContent_NSCTHits;NumberOfSCTHits;Entries', type='TH1F', path='TracksID/Z', xbins=20, xmin=0, xmax=20) myGroup.defineHistogram( 'ZMuonNTRTHits;TracksID_Z_HitContent_NTRTHits', title='TracksID_Z_HitContent_NTRTHits;NumberOfTRTHits;Entries', type='TH1F', path='TracksID/Z', xbins=50, xmin=0, xmax=50) myGroup.defineHistogram( 'ZMuonIDChi2NDF;TracksID_Z_chi2ndof', title='TracksID_Z_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksID/Z', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram( 'ZMuonMEChi2NDF;TracksME_Z_chi2ndof', title='TracksME_Z_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksME/Z', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram('ZMass2D,ZEta2D;ZMassAverage', title='ZMassAverage;mass;eta', type='TH2F', path='Muons/Z', xbins=27, xmin=76000., xmax=106000., ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('ZMass;m_Z_Mass', title='m_Z_Mass;M_{#mu#mu};Entries', type='TH1F', path='MuonTrkPhys/Z', xbins=50, xmin=76000., xmax=106000.) myGroup.defineHistogram('CBMuonEta,CBMuonPhi;Muons_CBMuons_eta_phi', title='Muons_CBMuons_eta_phi;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'CBMuonEtaTight,CBMuonPhiTight;Muons_CBMuons_eta_phi_tight', title='Muons_CBMuons_eta_phi_tight;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'CBMuonEtaMedium,CBMuonPhiMedium;Muons_CBMuons_eta_phi_medium', title='Muons_CBMuons_eta_phi_medium;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('CBMuonD0;Muons_CBMuons_d0', title='Muons_CBMuons_d0;d0;Entries', type='TH1F', path='Muons/CBMuons', xbins=40, xmin=-1, xmax=1) myGroup.defineHistogram('CBMuonZ0;Muons_CBMuons_z0', title='Muons_CBMuons_z0;z0;Entries', type='TH1F', path='Muons/CBMuons', xbins=50, xmin=-1000, xmax=1000) myGroup.defineHistogram( 'CBMuonDPTIDME;Muons_CB_ddpt_idme', title='Muons_CB_ddpt_idme;(ptID-ptME)/ptID;Entries', type='TH1F', path='Muons/CBMuons', xbins=40, xmin=-0.5, xmax=0.5) myGroup.defineHistogram('CBMuonPt;Muons_CBMuons_pt', title='Muons_CBMuons_pt;pT[GeV];Entries', type='TH1F', path='Muons/CBMuons', xbins=50, xmin=0, xmax=50000) myGroup.defineHistogram('CBMuonPt;Muons_CBMuons_pt_broad', title='Muons_CBMuons_pt_broad;pT[GeV];Entries', type='TH1F', path='Muons/CBMuons', xbins=50, xmin=0, xmax=1000000) myGroup.defineHistogram( 'CBMuonLumiBlock;Overview_CBMuons_nMuon_LB', title='Overview_CBMuons_nMuon_LB;LumiBlock;NumberOfCBMuons', type='TH1F', path='Overview/CBMuons', xbins=2500, xmin=0, xmax=2500) myGroup.defineHistogram( 'CBMuonNBHits;TracksID_CBMuons_HitContent_NBlayerHits', title= 'TracksID_CBMuons_HitContent_NBlayerHits;NumberOfBLayerHits;Entries', type='TH1F', path='TracksID/CBMuons', xbins=5, xmin=0, xmax=5) myGroup.defineHistogram( 'CBMuonNPixHits;TracksID_CBMuons_HitContent_NPixelHits', title= 'TracksID_CBMuons_HitContent_NPixelHits;NumberOfPixelHits;Entries', type='TH1F', path='TracksID/CBMuons', xbins=10, xmin=0, xmax=10) myGroup.defineHistogram( 'CBMuonNSCTHits;TracksID_CBMuons_HitContent_NSCTHits', title='TracksID_CBMuons_HitContent_NSCTHits;NumberOfSCTHits;Entries', type='TH1F', path='TracksID/CBMuons', xbins=20, xmin=0, xmax=20) myGroup.defineHistogram( 'CBMuonNTRTHits;TracksID_CBMuons_HitContent_NTRTHits', title='TracksID_CBMuons_HitContent_NTRTHits;NumberOfTRTHits;Entries', type='TH1F', path='TracksID/CBMuons', xbins=50, xmin=0, xmax=50) myGroup.defineHistogram( 'CBMuonIDChi2NDF;TracksID_CBMuons_chi2ndof', title='TracksID_CBMuons_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksID/CBMuons', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram( 'CBMuonMEChi2NDF;TracksME_CBMuons_chi2ndof', title='TracksME_CBMuons_chi2ndof;TrackFitChi2NDF;Entries', type='TH1F', path='TracksME/CBMuons', xbins=20, xmin=0, xmax=5) myGroup.defineHistogram('CBMuonAuthor;Muons_CBMuons_Author', title='Muons_CBMuons_Author;Author;Entries', type='TH1F', path='Muons/CBMuons', xbins=20, xmin=0, xmax=20) myGroup.defineHistogram( 'CBMuonEtaMedium,CBMuonPhiMedium;Muons_CBMuons_Medium_eff', title='Muons_CBMuons_Medium_eff;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'CBMuonEta1Triggered,CBMuonPhi1Triggered;Muons_CBMuons_1Triggered_eta_phi', title='Muons_CBMuons_eta_phi_1Triggered;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'CBMuonEta1All,CBMuonPhi1All;Muons_CBMuons_1All_eta_phi', title='Muons_CBMuons_eta_phi_1All;eta;phi', type='TH2F', path='Muons/CBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'NonCBMuonEta,NonCBMuonPhi;Muons_NonCBMuons_Origin_eta_phi', title='Muons_NonCBMuons_Origin_eta_phi;eta;phi;', type='TH2F', path='Muons/NonCBMuons', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram( 'CBMuonSector,CBMuonCIndex;Segments_CBMuons_chamberIndex_perSector', title='Segments_CBMuons_chamberIndex_perSector;Sector;ChamberIndex', type='TH2F', path='Segments/CBMuons', xbins=30, xmin=-15, xmax=15, ybins=17, ymin=0, ymax=17) myGroup.defineHistogram('MSAuthor;MSAuthor', title='MSAuthor;MS-Author;Entries', type='TH1F', path='TracksMS/Container', xbins=15, xmin=0, xmax=15) myGroup.defineHistogram('MSQuality;MSQuality', title='MSQuality;MS-Quality;Entries', type='TH1F', path='TracksMS/Container', xbins=15, xmin=0, xmax=15) myGroup.defineHistogram('MSType;MSType', title='MSType;MS-Type;Entries', type='TH1F', path='TracksMS/Container', xbins=15, xmin=0, xmax=15) myGroup.defineHistogram( 'MSLumiBlockNumberOfMuonTracks;Overview_Container_nMuonTrack_LB', title='Overview_Container_nMuonTrack_LB;LumiBlock;NumberOfMuonTracks', type='TH1F', path='Overview/Container', xbins=50, xmin=0, xmax=2500) myGroup.defineHistogram( 'MSLumiBlockNumberOfSegments;Overview_Container_nSegment_LB', title='Overview_Container_nSegment_LB;LumiBlock;NumberOfMuonSegments', type='TH1F', path='Overview/Container', xbins=50, xmin=0, xmax=2500) myGroup.defineHistogram( 'MSLargeSectorR,MSLargeSectorZ;Segments_Container_rzpos_sectorLarge', title='Segments_Container_rzpos_sectorLarge;zPos[mm];r[mm]', type='TH2F', path='Segments/Container', xbins=220, xmin=-22000, xmax=22000, ybins=100, ymin=0, ymax=15000) myGroup.defineHistogram( 'MSSmallSectorR,MSSmallSectorZ;Segments_Container_rzpos_sectorSmall', title='Segments_Container_rzpos_sectorSmall;zPos[mm];r[mm]', type='TH2F', path='Segments/Container', xbins=220, xmin=-22000, xmax=22000, ybins=100, ymin=0, ymax=15000) myGroup.defineHistogram('MSEta,MSPhi;TracksMS_Container_eta_phi', title='TracksMS_Container_eta_phi;eta;phi', type='TH2F', path='TracksMS/Container', xbins=27, xmin=-2.7, xmax=2.7, ybins=31, ymin=-3.1415, ymax=3.1415) myGroup.defineHistogram('MSPt;TracksMS_Container_pt', title='TracksMS_Container_pt;pT[GeV];Entries', type='TH1F', path='TracksMS/Container', xbins=50, xmin=0, xmax=50000) myGroup.defineHistogram( 'MSPt;TracksMS_Container_pt_broad', title='TracksMS_Container_pt_broad;pT[GeV];Entries', type='TH1F', path='TracksMS/Container', xbins=50, xmin=0, xmax=1000000) return helper.result()