Example #1
0
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()
Example #2
0
#
#  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()]
Example #3
0
    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
Example #4
0
#
#  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
Example #5
0
    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
Example #7
0
@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",
Example #8
0
# 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)
Example #9
0
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()
Example #10
0
#
#  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
Example #11
0
@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",
Example #12
0
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]
Example #13
0
#
#  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)
Example #14
0
@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",
Example #15
0
@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)
Example #16
0
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()