signalStream.ItemList += ["LArTTL1Container#*"]
    signalStream.ItemList += ["TileTTL1Container#*"]
    signalStream.ItemList += [
        "ROIB::RoIBResult#*", "MuCTPI_RDO#*", "CTP_RDO#*",
        "DataVector<LVL1::TriggerTower>#*", "DataVector<LVL1::CPMTower>#*",
        "DataVector<LVL1::JetElement>#*", "DataVector<LVL1::CPMHits>#*",
        "DataVector<LVL1::CPMRoI>#*", "DataVector<LVL1::CMMCPHits>#*",
        "DataVector<LVL1::CMMJetHits>#*", "DataVector<LVL1::CMMEtSums>#*",
        "DataVector<LVL1::JEMHits>#*", "DataVector<LVL1::JEMRoI>#*",
        "DataVector<LVL1::JEMEtSums>#*", "LVL1::CMMRoI#*"
    ]

#options for writing the MetaData into the output file
MetaDataStore = ServiceMgr.MetaDataStore
from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
StreamRDO_MC_FH = AthenaPoolOutputStream("StreamRDO_MC_FH")
from AthenaCommon.AthenaCommonFlags import jobproperties
StreamRDO_MC_FH.OutputFile = "ROOTTREE:" + SignalCollection
StreamRDO_MC_FH.Store = MetaDataStore
StreamRDO_MC_FH.WriteOnExecute = False
StreamRDO_MC_FH.WriteOnFinalize = True
# Write all IOV meta data containers
StreamRDO_MC_FH.ItemList += ["IOVMetaDataContainer#*"]
StreamRDO_MC_FH.ItemList += ["LumiBlockCollection#*"]

from OutputStreamAthenaPool.OutputStreamAthenaPoolConf import AthenaPoolOutputStreamTool
StreamRDO_MC_FHTool = AthenaPoolOutputStreamTool("StreamRDO_MC_FHTool")
StreamRDO_MC_FHTool.OutputCollection = "MetaDataHdr"
StreamRDO_MC_FHTool.PoolContainerPrefix = "MetaData"
StreamRDO_MC_FH.WritingTool = StreamRDO_MC_FHTool
Ejemplo n.º 2
0
    def __init__(self,
                 name='LArShapeDumper',
                 digitsKey='FREE',
                 noiseSignifCut=3,
                 doStream=False,
                 doShape=True,
                 doTrigger=True,
                 doOFCIter=True,
                 prescale=1,
                 triggerNames=triggersToCheck,
                 caloType='EMHECFCAL',
                 dumpChannelInfos=False,
                 addToAlgSeq=True):
        super(LArShapeDumper, self).__init__(name)

        theDumperTool = DefaultShapeDumperTool(doShape=doShape)
        self.LArShapeDumperTool = theDumperTool

        if doStream:
            from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
            StreamLArSamples = AthenaPoolOutputStream('StreamLArSamples',
                                                      'LArSamples.root', True)
            topSequence.StreamLArSamples.ItemList += [
                'LArSamplesContainer#Samples'
            ]
            topSequence.StreamLArSamples_FH.ItemList += [
                'LArSamplesContainer#Samples'
            ]
            StreamLArSamples.WriteOnExecute = False
            StreamLArSamples.WriteOnFinalize = True
        else:
            from AthenaCommon.AppMgr import ServiceMgr as svcMgr
            svcMgr.AthenaSealSvc.DictNames += ["LArCafJobsDict"]

        self.CaloType = caloType
        self.Prescale = prescale
        self.NoiseSignifCut = noiseSignifCut
        self.DoTrigger = doTrigger
        self.DoStream = doStream
        self.DoOFCIter = doOFCIter
        self.DumpChannelInfos = dumpChannelInfos
        self.DumpDisconnected = dumpChannelInfos
        #self.ChannelsKey = 'LArRawChannels_FromDigits'
        self.ChannelsKey = 'LArRawChannels'
        self.TriggerNames = triggerNames

        from AthenaCommon.AppMgr import ToolSvc
        from LArRecUtils.LArADC2MeVToolDefault import LArADC2MeVToolDefault
        theADC2MeVTool = LArADC2MeVToolDefault()
        ToolSvc += theADC2MeVTool
        self.ADC2MeVTool = theADC2MeVTool

        if doShape:
            from IOVDbSvc.CondDB import conddb
            conddb.addFolder(
                'LAR_OFL',
                '/LAR/ElecCalibOfl/AutoCorrs/AutoCorr<tag>LARElecCalibOflAutoCorrsAutoCorr-RUN2-UPD3-00</tag>'
            )
            # use the shapes without residual corrections by default (makes it easier to compute new residuals)
            conddb.addOverride(
                '/LAR/ElecCalibOfl/Shape/RTM/5samples1phase',
                'LARElecCalibOflShapeRTM5samples1phase-RUN2-UPD1-04')
        masker = LArBadChannelMasker('LArBadChannelMasker')
        masker.DoMasking = True
        masker.ProblemsToMask = [
            'deadReadout', 'deadPhys', 'almostDead', 'short', 'highNoiseHG',
            'highNoiseMG', 'highNoiseLG'
        ]
        self.BadChannelMasker = masker

        self.DigitsKey = digitsKey

        if doOFCIter:
            from AthenaCommon.AppMgr import ToolSvc
            if hasattr(ToolSvc, 'LArRawChannelBuilderToolOFCIter'):
                ToolSvc.LArRawChannelBuilderToolOFCIter.StoreTiming = True

        if addToAlgSeq:
            from AthenaCommon.AlgSequence import AlgSequence
            topSequence = AlgSequence()
            topSequence += self
            print self