Esempio n. 1
0
def LArFEBMonConfigOld(inputFlags, cellDebug=False, dspDebug=False):
    from AthenaMonitoring import AthMonitorCfgHelperOld
    from LArMonitoring.LArMonitoringConf import LArFEBMonAlg

    helper = AthMonitorCfgHelperOld(inputFlags, 'LArFEBMonAlgOldCfg')
    LArFEBMonConfigCore(helper, LArFEBMonAlg, inputFlags, cellDebug, dspDebug)

    return helper.result()
Esempio n. 2
0
def DQTDetSynchMonAlgConfigOld(flags):
    from AthenaMonitoring import AthMonitorCfgHelperOld
    from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
    from DataQualityTools.DataQualityToolsConf import DQTDetSynchMonAlg
    helper = AthMonitorCfgHelperOld(flags, 'DQTDetSynchMonAlgCfg')
    _DQTDetSynchMonAlgConfigCore(helper, DQTDetSynchMonAlg,
                                 athenaCommonFlags.isOnline, True)
    return helper.result()
Esempio n. 3
0
def LArCoverageConfigOld(inputFlags):
    from AthenaMonitoring import AthMonitorCfgHelperOld
    from LArMonitoring.LArMonitoringConf import LArCoverageAlg

    helper = AthMonitorCfgHelperOld(inputFlags, 'LArCoverageAlgOldCfg')
    LArCoverageConfigCore(helper, LArCoverageAlg, inputFlags)

    return helper.result()
Esempio n. 4
0
def DQTDataFlowMonAlgConfigOld(flags):
    from AthenaMonitoring import AthMonitorCfgHelperOld
    from .DataQualityToolsConf import DQTDataFlowMonAlg
    from AthenaCommon.GlobalFlags import globalflags
    helper = AthMonitorCfgHelperOld(flags, 'DQTDataFlowMonAlgCfg')
    _DQTDataFlowMonAlgConfigCore(helper, DQTDataFlowMonAlg,
                                 globalflags.DataSource() == 'geant4')
    return helper.result()
Esempio n. 5
0
def DQTLumiMonAlgConfig(flags, isOld=False):
    if isOld:  # replace with the old version of the tool
        from AthenaMonitoring import AthMonitorCfgHelperOld as AthMonitorCfgHelper
        from .DataQualityToolsConf import DQTLumiMonAlg
    else:
        from AthenaMonitoring import AthMonitorCfgHelper
        from AthenaConfiguration.ComponentFactory import CompFactory
        DQTLumiMonAlg = CompFactory.DQTLumiMonAlg

    helper = AthMonitorCfgHelper(flags, 'DQTLumiMonAlgCfg')
    # Three instances of the algorithm. One using any trigger, another using only muon
    # triggers, and the final using only electron triggers.
    DQTLumiMonAlgConfigByTriggerChain(helper, DQTLumiMonAlg)
    DQTLumiMonAlgConfigByTriggerChain(helper, DQTLumiMonAlg,
                                      'CATEGORY_monitoring_muonIso', 'EF_muX')
    DQTLumiMonAlgConfigByTriggerChain(helper, DQTLumiMonAlg,
                                      'CATEGORY_primary_single_ele', 'EF_eX')
    if isOld:
        return helper.result()
    else:
        result = helper.result()
        from AtlasGeoModel.AtlasGeoModelConfig import AtlasGeometryCfg
        result.merge(AtlasGeometryCfg(flags))
        return result
Esempio n. 6
0
def LArNoisyROMonConfigOld(inputFlags, inKey="", 
                              NoisyFEBDefStr="", 
                              MNBTightFEBDefStr="",
                              MNBTight_PsVetoFEBDefStr="",
                              MNBLooseFEBDefStr=""):

    from LArCellRec.LArNoisyROFlags import larNoisyROFlags
    NoisyFEBDefStr =  '(>'+str(larNoisyROFlags.BadChanPerFEB())+' chan with Q>'+str(larNoisyROFlags.CellQualityCut())+')'
    MNBTightFEBDefStr =  '(>'+str(larNoisyROFlags.MNBTightCut())+' chan with Q>'+str(larNoisyROFlags.CellQualityCut())+')'      
    MNBTight_PsVetoFEBDefStr =  '(>'+str(larNoisyROFlags.MNBTight_PsVetoCut()[0])+' chan with Q>'+str(larNoisyROFlags.CellQualityCut())+') + PS veto (<'+str(larNoisyROFlags.MNBTight_PsVetoCut()[1])+' channels)'
    MNBLooseFEBDefStr =  '(>'+str(larNoisyROFlags.MNBLooseCut())+' chan with Q>'+str(larNoisyROFlags.CellQualityCut())+')'
    from AthenaMonitoring import AthMonitorCfgHelperOld
    from LArMonitoring.LArMonitoringConf import LArNoisyROMonAlg
    helper = AthMonitorCfgHelperOld(inputFlags,'LArNoisyROMonAlgOldCfg')

    LArNoisyROMonConfigCore(helper,LArNoisyROMonAlg, inputFlags, inKey, NoisyFEBDefStr, MNBTightFEBDefStr, MNBTight_PsVetoFEBDefStr, MNBLooseFEBDefStr)

    return helper.result()
Esempio n. 7
0
def TileMBTSMonitoringConfigOld(flags, **kwargs):
    ''' Function to configure TileMBTSMonitorAlgorithm algorithm in the old monitoring system.'''

    from AthenaMonitoring import AthMonitorCfgHelperOld
    from AthenaCommon.GlobalFlags import globalflags

    if globalflags.InputFormat().lower() == 'pool':
        kwargs.setdefault('TileDigitsContainer', 'TileDigitsFlt')

    helper = AthMonitorCfgHelperOld(flags, 'TileMBTSMonAlgCfg')

    from RecExConfig.AutoConfiguration import GetRunNumber
    runNumber = GetRunNumber()

    from TileMonitoring.TileMonitoringConf import TileMBTSMonitorAlgorithm
    _TileMBTSMonitoringConfigCore(helper, TileMBTSMonitorAlgorithm, runNumber,
                                  **kwargs)

    return helper.result()
Esempio n. 8
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()
Esempio n. 9
0
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
    pixelAthClusterMonAlg.TrackSelectionTool.Extrapolator = InDetExtrapolator

    #print getattr(pixelAthClusterMonAlg, 'onTrack')
    PixelAthClusterMonAlgCfg(helper, pixelAthClusterMonAlg, **kwargsClusMonAlg)

if doErrorMonAlg:
    pixelAthMonAlgErrorMonAlg = helper.addAlgorithm(PixelAthErrorMonAlg,
                                                    'PixelAthErrorMonAlg')
    for k, v in kwargsErrMonAlg.items():
        setattr(pixelAthMonAlgErrorMonAlg, k, v)
    from PixelConditionsTools.PixelConditionsToolsConf import PixelByteStreamErrorsTool
    # never attempt to write bytestream error objects
    pixelAthMonAlgErrorMonAlg.PixelByteStreamErrorsTool = PixelByteStreamErrorsTool(
        ReadingESD=True)
    PixelAthErrorMonAlgCfg(helper, pixelAthMonAlgErrorMonAlg,
                           **kwargsErrMonAlg)

topSequence += helper.result()
Esempio n. 10
0
def CscMonitoringConfigOld(inputFlags):
    from AthenaMonitoring import AthMonitorCfgHelperOld
    helper = AthMonitorCfgHelperOld(inputFlags, 'CscAthMonitorCfg')
    return helper.result()
Esempio n. 11
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()
Esempio n. 12
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()