summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIllya Shapoval <illya.shapoval@cern.ch>2015-07-23 18:25:30 +0200
committerIllya Shapoval <illya.shapoval@cern.ch>2015-07-23 18:25:30 +0200
commit518b05bd7db7a38990f01646a31de06028d2c552 (patch)
treeb5eb22d13344fced8c45a0b587fa02ec928fd2d0
parente08ba12094a0d996d6cd2779803795bc1040808f (diff)
add simple Python module to manage precedence graphs of realistic control and data flow topology (w/ algorithms being CPUCrunchers)dev/io-bound
-rw-r--r--GaudiHive/CMakeLists.txt4
-rw-r--r--GaudiHive/options/GraphScheduler.py48
-rw-r--r--GaudiHive/python/GaudiHive/__init__.py0
-rw-r--r--GaudiHive/python/GaudiHive/precedence/__init__.py0
-rw-r--r--GaudiHive/python/GaudiHive/precedence/algTimings.json1
-rw-r--r--GaudiHive/python/GaudiHive/precedence/algTimingsMoreTight.json1
-rw-r--r--GaudiHive/python/GaudiHive/precedence/algs_timings_3kE.json1
-rw-r--r--GaudiHive/python/GaudiHive/precedence/cf_dependencies.graphml2052
-rw-r--r--GaudiHive/python/GaudiHive/precedence/data_dependencies.graphml2070
-rw-r--r--GaudiHive/python/GaudiHive/precedence/precedence.py277
10 files changed, 4454 insertions, 0 deletions
diff --git a/GaudiHive/CMakeLists.txt b/GaudiHive/CMakeLists.txt
index d1b2199..ebee104 100644
--- a/GaudiHive/CMakeLists.txt
+++ b/GaudiHive/CMakeLists.txt
@@ -64,3 +64,7 @@ gaudi_add_test(AtomicSequencer
gaudi_add_test(BugCFHEP114
FRAMEWORK options/BugCFHEP114.py
DEPENDS WhiteBoard)
+
+
+#---Installation-----------------------------------------------------------------------------
+gaudi_install_python_modules() \ No newline at end of file
diff --git a/GaudiHive/options/GraphScheduler.py b/GaudiHive/options/GraphScheduler.py
new file mode 100644
index 0000000..36093e9
--- /dev/null
+++ b/GaudiHive/options/GraphScheduler.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env gaudirun.py
+
+from Gaudi.Configuration import *
+from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, ForwardSchedulerSvc, AlgResourcePool
+
+from GaudiHive.precedence import precedence # custom precedence graph, composed of CPUCrunchers
+
+# metaconfig
+evtslots = 1
+evtMax = 1
+cardinality = 1
+algosInFlight = 4
+algoAvgTime = 0.02
+
+
+InertMessageSvc(OutputLevel=INFO)
+
+whiteboard = HiveWhiteBoard("EventDataSvc",
+ EventSlots = evtslots,
+ OutputLevel = INFO)
+
+slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=INFO)
+
+scheduler = ForwardSchedulerSvc(MaxEventsInFlight = evtslots,
+ MaxAlgosInFlight = algosInFlight,
+ ThreadPoolSize = algosInFlight,
+ OutputLevel = DEBUG,
+ useGraphFlowManagement = True,
+ DataFlowManagerNext = True,
+ Optimizer = "DRE",
+ PreemptiveIOBoundTasks = False,
+ DumpIntraEventDynamics = False)
+
+AlgResourcePool(OutputLevel = DEBUG)
+
+timeValue = precedence.UniformTimeValue(algoAvgTime)
+ifIObound = precedence.UniformBooleanValue(False)
+#ifIObound = precedence.RndBiased10BooleanValue()
+
+sequencer = precedence.CruncherSequence(timeValue, ifIObound).get()
+
+ApplicationMgr( EvtMax = evtMax,
+ EvtSel = 'NONE',
+ ExtSvc = [whiteboard],
+ EventLoop = slimeventloopmgr,
+ TopAlg = [sequencer],
+ MessageSvcType = "InertMessageSvc",
+ OutputLevel = INFO)
diff --git a/GaudiHive/python/GaudiHive/__init__.py b/GaudiHive/python/GaudiHive/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/__init__.py
diff --git a/GaudiHive/python/GaudiHive/precedence/__init__.py b/GaudiHive/python/GaudiHive/precedence/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/__init__.py
diff --git a/GaudiHive/python/GaudiHive/precedence/algTimings.json b/GaudiHive/python/GaudiHive/precedence/algTimings.json
new file mode 100644
index 0000000..bd0c20f
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/algTimings.json
@@ -0,0 +1 @@
+{"PatForward": "0.066", "TrackDiMuonMonitor": "0.002", "TTTrackMonitor": "0.028", "ChargedProtoPAddVeloDEDX": "0.003", "RiMatchTrkEff": "0.000", "LumiFilterBeamCrossing": "0.000", "MuonPIDMonitorDown": "0.009", "RecoSUMMARYSeq": "0.008", "BrunelInit": "0.009", "InitReprocSeq": "0.000", "ChargedProtoPMaker": "0.008", "ChargedProtoPAddHcal": "0.001", "ElectronMatch": "0.023", "TrackMonitor": "0.075", "TrackEcalMatchMonitor": "0.005", "EcalZSup": "0.001", "PrsL0Bit": "0.004", "RecoOTSeq": "0.000", "TTClusterMonitor": "0.080", "MoniSTSeq": "0.094", "PackMuonPIDs": "0.006", "EcalADCs": "0.008", "ProtoParticlePIDClean": "0.001", "EventAccount": "0.000", "RecSummary": "0.008", "TrackMatch": "0.065", "CaloDigitsMoni": "0.071", "RichDecodingErrors": "0.008", "MergedID": "0.001", "ClusterReco": "0.070", "InitSeedFit": "0.058", "ChargedProtoParticles": "0.076", "RiPIDMonLong10To70": "0.000", "MuMonitor": "0.001", "EcalClust": "0.027", "RiCKResForward": "0.000", "TrackPrepareVelo": "0.001", "MoniOTSeq": "0.143", "HcalFillRawBuffer": "0.000", "MuonIDAlg": "0.064", "HltRateMonitor": "0.006", "HltErrorSeq": "1.547", "CaloClustersMoni": "0.003", "ElectronReco": "0.009", "HcalE": "0.007", "HcalPIDmu": "0.001", "TrackEventProcTime": "0.000", "TrackToDST": "0.002", "PackChargedProtos": "0.005", "MergeOfflineRichPIDs": "0.002", "OTTrackMonitor": "0.080", "PrsFromRaw": "0.004", "InitBestFit": "0.058", "RichRawDataDBCheck": "0.019", "RiPIDMonLong70To100": "0.000", "HltfilterSeq": "1.547", "RichOfflineGPIDLLIt0": "0.000", "RichOfflineGPIDLLIt1": "0.000", "RichOfflinePIDSeq": "0.008", "MergedPi0Reco": "0.002", "TrackV0Finder": "0.001", "NeutralProtoPMaker": "0.015", "RichRawDataSize": "0.019", "HcalADCs": "0.003", "RichHPDIFBMoni": "0.205", "ANNGPIDSeq": "0.029", "PatPVOffline": "0.006", "CaloChi2": "0.007", "MuonRec": "0.017", "RichRecPixelClusters": "0.000", "InSPD": "0.006", "PackPVWeights": "0.005", "LumiCounters": "0.006", "RiCKResSeed": "0.000", "ANNGPIDLongMuon": "0.000", "ChargedProtoPCombDLLs": "0.001", "ChargedProtoPAddEcal": "0.017", "ANNGPIDUpstreamGhost": "0.000", "PhotonMon": "0.001", "ProtoElectronMon": "0.001", "PatVeloTT": "0.002", "CaloDLLmu": "0.001", "EcalClusterMon": "0.003", "SpdL0Bit": "0.003", "RiPIDMonLong2To10": "0.000", "RichRawDataSizeL0Seq": "0.006", "EcalE": "0.008", "RichOfflinePixelsSeq": "0.159", "PackDST": "0.044", "PackTwoProngVertex": "0.002", "MuonPIDMonitorLong": "0.000", "PatVeloSpaceTracking": "0.003", "RiLongTrkEff": "0.000", "PrsSpdFillRawBuffer": "0.004", "ANNGPIDDownstreamProton": "0.004", "ITTrackMonitor": "0.020", "HltCompositionMonitor": "0.003", "RichOfflineENNRingFinderSeq": "0.014", "RiCKResSeedTight": "0.000", "CreateOfflineTracks": "0.001", "MoniRICHSeq": "0.341", "VertexEventProcTime": "0.000", "RichRawDataSizeL0": "0.005", "RiCKResVeloTT": "0.000", "SpdFromRaw": "0.004", "RiPIDMonLong2To100": "0.001", "TrackVeloOverlapMonitor": "0.001", "ANNGPIDLongElectron": "0.001", "TrackVeloFitSeq": "0.001", "RichPixelMoni": "0.001", "MergedPi0Rec": "0.001", "FilterBeam2": "0.000", "RichOfflineGPIDLLSeq": "0.001", "EcalDigitMon": "0.005", "MoniMUONSeq": "0.047", "HcalZSup": "0.001", "ChargedProtoPAddRich": "0.004", "LumiSeq": "0.006", "LumiBeam1Seq": "0.000", "RichHotPixels": "0.076", "RichOfflineBckEstIt0": "0.000", "RichOfflineBckEstIt1": "0.000", "InCaloAcceptance": "0.015", "RecoTrSeq": "10.144", "HcalTrigFromRaw": "0.001", "TrackAddExtraInfoSeq": "0.506", "RichOfflineGPIDFin": "0.000", "RiCKResKsTrackTight": "0.000", "ANNGPIDLongProton": "0.000", "ElectronMon": "0.003", "BremChi22ID": "0.001", "ChargedProtoPAddPrs": "0.001", "MoniGENERALSeq": "0.002", "OfflineENNFinderR2GasLeft": "0.000", "PhysicsSeq": "12.161", "ANNGPIDUpstreamPion": "0.000", "HltErrorFilter": "0.001", "OutputDSTSeq": "0.046", "OfflineENNFinderR1GasTop": "0.004", "EcalBanksHandler": "0.016", "VeloIPResolutionMonitor": "0.000", "ClusterMatch": "0.030", "ENNRingMoniBest": "0.000", "CaloEventProcTime": "0.000", "TsaSeed": "1.301", "RecoVELOSeq": "0.016", "CreateOfflinePhotons": "0.000", "CheckProcOfflineStatus": "0.002", "CaloPIDsMoni": "0.008", "PackRecVertex": "0.003", "RiVeloTTTrkEff": "0.000", "PatDownstream": "0.772", "ChargedPIDs": "0.090", "SplitPhotonMon": "0.000", "CaloEMuPIDMonSoft": "0.000", "EcalChi22ID": "0.003", "InECAL": "0.020", "MergedPi0Mon": "0.000", "TrackClonesSeq": "0.158", "ChargedProtoPAddSpd": "0.001", "BrunelSequencer": "13.771", "PackPhotons": "0.006", "EcalCovar": "0.004", "EcalPIDmu": "0.001", "VeloClusterMonitor": "0.001", "RecoPROTOSeq": "0.091", "RichOfflineTracksSeq": "0.001", "FitSeedForMatch": "4.041", "BrunelBankKiller": "0.000", "CaloDigitFilter": "0.024", "PatVeloGeneralTracking": "0.006", "CaloRecoSeq": "0.197", "ANNGPIDDownstreamMuon": "0.001", "RichAlignMoniR1Gas": "0.001", "MuonTrackAligMonitor": "0.001", "MoniPROTOSeq": "0.007", "RiCKResForwardTight": "0.000", "RichHPDIonFeedback": "0.205", "PhotonReco": "0.106", "CopyVelo": "0.000", "CopyBest": "0.018", "RecoCALOSeq": "0.319", "RichEventProcTime": "0.000", "TrackForwardPatSeq": "0.067", "SpdMon": "0.039", "RiSeedTrkEff": "0.000", "TrackAddNNGhostId": "0.026", "LumiDecodeBeamCrossing": "0.001", "Reco": "11.149", "EcalPIDe": "0.001", "FilterNoBeam": "0.001", "MuonTrackFitter": "0.000", "RichRecoMoni": "0.001", "TrackMatchPatSeq": "0.065", "CreateTTClusters": "0.122", "ANNGPIDLongGhost": "0.000", "PhotonMatchMon": "0.002", "MoniHltSeq": "0.010", "ChargedProtoPMoni": "0.006", "TrackSeedPatSeq": "1.312", "ElectronMatchMon": "0.003", "TrackPrsMatchMonitor": "0.012", "RecoVertexSeq": "0.007", "FitBest": "3.229", "FilterBeam1": "0.000", "CaloTrackMatch": "0.050", "TrackITOverlapMonitor": "0.044", "HcalPIDe": "0.001", "LumiBeam2Seq": "0.000", "RichRawMoni": "0.127", "FitVelo": "0.000", "RichOfflineGPIDTrSel": "0.004", "RecoDecodingSeq": "0.294", "RichENNTracklessRingsMoni": "0.001", "FSROutputStreamDstWriter": "0.000", "ENNRingMoniAll": "0.000", "OTHitEfficiencyMonitor": "0.047", "EcalEFlowMon": "0.001", "PackTracks": "0.010", "ResolvedPi0Mon": "0.007", "ANNGPIDUpstreamMuon": "0.000", "TrackVertexMonitor": "0.003", "CaloPIDs": "0.121", "RichOfflineGPIDDigSel": "0.001", "InBREM": "0.001", "PhotonFromMergedID": "0.000", "OfflineIsolatedENNRings": "0.001", "MoniTrSeq": "0.221", "OfflineENNRingsSegAssoc": "0.002", "NotPhysicsSeq": "0.001", "CaloEMuPIDMonHard": "0.000", "OfflineBestENNRings": "0.005", "CreateOfflinePixels": "0.005", "PatVeloRTracking": "0.007", "RiCKResKsTrack": "0.000", "CaloDLLe": "0.004", "HcalBanksHandler": "0.005", "CaloBanksHandler": "0.045", "ANNGPIDDownstreamKaon": "0.004", "RichOfflineGPIDSeq": "0.007", "CreateTTLiteClusters": "0.023", "InitBrunelSeq": "0.009", "RichPIDMoni": "0.002", "TsaSeedTrackCnv": "0.011", "MuEffMonitor": "0.036", "CaloPIDsSeq": "0.121", "CreateITLiteClusters": "0.005", "EcalCheckBanks": "0.000", "ANNGPIDUpstreamKaon": "0.000", "TimeSpanAccounting": "0.001", "Init": "0.010", "LumiNoBeamSeq": "0.001", "MuonIDSeq": "0.064", "RemovePrsPackedBanks": "0.002", "TrackMuonMatchMonitor": "0.013", "VeloTrackMonitor": "0.001", "FilterBeamCrossing": "0.000", "RiCKResLongTight": "0.000", "ANNGPIDLongPion": "0.000", "HltDecReportsDecoder": "1.546", "TrackEventCloneKiller": "0.012", "SingleElectronRec": "0.009", "OfflineENNFinderR2GasRight": "0.000", "RichRecoMoniTight": "0.001", "PackMuonTracks": "0.000", "RichMirrAlignMoni": "0.001", "HcalDigitMon": "0.002", "RecoITSeq": "0.000", "RichRecInitOfflineSeq": "0.163", "ITClusterMonitor": "0.014", "ENNRingMoniIsolated": "0.000", "TrackV0Monitor": "0.002", "RiCKResLong": "0.000", "PrsCheckBanks": "0.000", "NeutralPIDs": "0.031", "TrackVeloTTPatSeq": "0.002", "DstWriter": "1.131", "ANNGPIDLongKaon": "0.000", "MuonEventProcTime": "0.000", "RemoveEcalPackedBanks": "0.001", "TrackSeedFitSeq": "4.100", "PrsBanksHandler": "0.025", "OverallEventProcTime": "0.000", "CaloMatch": "0.027", "TrackAddLikelihood": "0.321", "TimeSpanFilter": "0.000", "CaloEMuPIDMonUncut": "0.002", "RecoRICHSeq": "0.186", "Moni": "0.967", "RecoTTSeq": "0.000", "FlagTrackClones": "0.007", "ProtoEventProcTime": "0.000", "TrackEraseExtraInfo": "0.001", "PrsDigitMon": "0.016", "TrackDownstreamPatSeq": "0.772", "TrackEraseExtraInformationSeq": "0.001", "ANNGPIDUpstreamElectron": "0.000", "ANNGPIDDownstreamPion": "0.004", "TimeSpanSeq": "0.001", "CreateITClusters": "0.022", "EcalTrigFromRaw": "0.005", "PackMergedPi0s": "0.000", "ANNGPIDDownstreamElectron": "0.008", "PhysFilter": "0.001", "PrsADCs": "0.011", "CaloHyposMoni": "0.005", "SpdDigitMon": "0.008", "EcalShare": "0.014", "HcalCheckBanks": "0.000", "TrackPV2HalfAlignMonitor": "0.001", "ChargedProtoPAddMuon": "0.007", "CaloPacking": "0.007", "PrsE": "0.004", "ChargedProtoPAddBrem": "0.002", "PackRichPIDs": "0.004", "RichTrackMoni": "0.001", "RiCKResVeloTTTight": "0.000", "RecoMUONSeq": "0.081", "NeutralProtoParticles": "0.015", "BremPIDe": "0.000", "ANNGPIDUpstreamProton": "0.000", "SinglePhotonRec": "0.055", "PackNeutralProtos": "0.000", "PhotonID": "0.030", "RichRecPixelQC": "0.001", "MoniCALOSeq": "0.098", "TrackFitMatchMonitor": "0.001", "TrackFitSeq": "3.318", "EcalFillRawBuffer": "0.001", "RichDataSizeL0Filter": "0.000", "RiCKResMatchTight": "0.000", "RichOfflinePhotonsSeq": "0.000", "PrsPIDe": "0.002", "RichOfflineGPIDInit": "0.000", "MoniVELOSeq": "0.003", "RiKsTrackTrkEff": "0.000", "BremMatchMon": "0.000", "RichAlignMoniR2Gas": "0.000", "CaloDigits": "0.010", "RichOfflineGPIDInitSeq": "0.005", "SpdE": "0.015", "ProcStatAbortMoni": "0.000", "TrackAlignMonitor": "0.000", "BremMatch": "0.004", "CaloEnergy": "0.035", "ANNGPIDDownstreamGhost": "0.004", "ClusChi22ID": "0.003", "RiCKResMatch": "0.000", "OTTimeMonitor": "0.016", "FindTrackClones": "0.150", "LumiBeamCrossingSeq": "0.002", "TrackSpdMatchMonitor": "0.011", "Track": "10.144", "OfflineENNFinderR1GasBottom": "0.001", "CaloEFlowMoni": "0.001", "DecodeVeloClusters": "0.121", "DecodeRawRichOffline": "0.154", "RemoveHcalPackedBanks": "0.000", "PackElectrons": "0.000", "Output": "0.046", "BrunelEventCount": "0.000", "InPRS": "0.005", "InHCAL": "0.004", "RiForwardTrkEff": "0.000", "PackSplitPhotons": "0.000"}
diff --git a/GaudiHive/python/GaudiHive/precedence/algTimingsMoreTight.json b/GaudiHive/python/GaudiHive/precedence/algTimingsMoreTight.json
new file mode 100644
index 0000000..43cfe32
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/algTimingsMoreTight.json
@@ -0,0 +1 @@
+{"PatForward": "0.066", "TrackDiMuonMonitor": "0.002", "TTTrackMonitor": "0.028", "ChargedProtoPAddVeloDEDX": "0.003", "RiMatchTrkEff": "0.000", "LumiFilterBeamCrossing": "0.000", "MuonPIDMonitorDown": "0.009", "RecoSUMMARYSeq": "0.008", "BrunelInit": "0.009", "InitReprocSeq": "0.000", "ChargedProtoPMaker": "0.008", "ChargedProtoPAddHcal": "0.001", "ElectronMatch": "0.023", "TrackMonitor": "0.075", "TrackEcalMatchMonitor": "0.005", "EcalZSup": "0.001", "PrsL0Bit": "0.004", "RecoOTSeq": "0.000", "TTClusterMonitor": "0.080", "MoniSTSeq": "0.094", "PackMuonPIDs": "0.006", "EcalADCs": "0.008", "ProtoParticlePIDClean": "0.001", "EventAccount": "0.000", "RecSummary": "0.008", "TrackMatch": "0.065", "CaloDigitsMoni": "0.071", "RichDecodingErrors": "0.008", "MergedID": "0.001", "ClusterReco": "0.070", "InitSeedFit": "0.058", "ChargedProtoParticles": "0.076", "RiPIDMonLong10To70": "0.000", "MuMonitor": "0.001", "EcalClust": "0.027", "RiCKResForward": "0.000", "TrackPrepareVelo": "0.001", "MoniOTSeq": "0.143", "HcalFillRawBuffer": "0.000", "MuonIDAlg": "0.064", "HltRateMonitor": "0.006", "HltErrorSeq": "1.547", "CaloClustersMoni": "0.003", "ElectronReco": "0.009", "HcalE": "0.007", "HcalPIDmu": "0.001", "TrackEventProcTime": "0.000", "TrackToDST": "0.002", "PackChargedProtos": "0.005", "MergeOfflineRichPIDs": "0.002", "OTTrackMonitor": "0.080", "PrsFromRaw": "0.004", "InitBestFit": "0.058", "RichRawDataDBCheck": "0.019", "RiPIDMonLong70To100": "0.000", "HltfilterSeq": "1.547", "RichOfflineGPIDLLIt0": "0.000", "RichOfflineGPIDLLIt1": "0.000", "RichOfflinePIDSeq": "0.008", "MergedPi0Reco": "0.002", "TrackV0Finder": "0.001", "NeutralProtoPMaker": "0.015", "RichRawDataSize": "0.019", "HcalADCs": "0.003", "RichHPDIFBMoni": "0.018", "ANNGPIDSeq": "0.029", "PatPVOffline": "0.006", "CaloChi2": "0.007", "MuonRec": "0.017", "RichRecPixelClusters": "0.000", "InSPD": "0.006", "PackPVWeights": "0.005", "LumiCounters": "0.006", "RiCKResSeed": "0.000", "ANNGPIDLongMuon": "0.000", "ChargedProtoPCombDLLs": "0.001", "ChargedProtoPAddEcal": "0.017", "ANNGPIDUpstreamGhost": "0.000", "PhotonMon": "0.001", "ProtoElectronMon": "0.001", "PatVeloTT": "0.002", "CaloDLLmu": "0.001", "EcalClusterMon": "0.003", "SpdL0Bit": "0.003", "RiPIDMonLong2To10": "0.000", "RichRawDataSizeL0Seq": "0.006", "EcalE": "0.008", "RichOfflinePixelsSeq": "0.159", "PackDST": "0.044", "PackTwoProngVertex": "0.002", "MuonPIDMonitorLong": "0.000", "PatVeloSpaceTracking": "0.003", "RiLongTrkEff": "0.000", "PrsSpdFillRawBuffer": "0.004", "ANNGPIDDownstreamProton": "0.004", "ITTrackMonitor": "0.020", "HltCompositionMonitor": "0.003", "RichOfflineENNRingFinderSeq": "0.014", "RiCKResSeedTight": "0.000", "CreateOfflineTracks": "0.001", "MoniRICHSeq": "0.341", "VertexEventProcTime": "0.000", "RichRawDataSizeL0": "0.005", "RiCKResVeloTT": "0.000", "SpdFromRaw": "0.004", "RiPIDMonLong2To100": "0.001", "TrackVeloOverlapMonitor": "0.001", "ANNGPIDLongElectron": "0.001", "TrackVeloFitSeq": "0.001", "RichPixelMoni": "0.001", "MergedPi0Rec": "0.001", "FilterBeam2": "0.000", "RichOfflineGPIDLLSeq": "0.001", "EcalDigitMon": "0.005", "MoniMUONSeq": "0.047", "HcalZSup": "0.001", "ChargedProtoPAddRich": "0.004", "LumiSeq": "0.006", "LumiBeam1Seq": "0.000", "RichHotPixels": "0.076", "RichOfflineBckEstIt0": "0.000", "RichOfflineBckEstIt1": "0.000", "InCaloAcceptance": "0.015", "RecoTrSeq": "10.144", "HcalTrigFromRaw": "0.001", "TrackAddExtraInfoSeq": "0.506", "RichOfflineGPIDFin": "0.000", "RiCKResKsTrackTight": "0.000", "ANNGPIDLongProton": "0.000", "ElectronMon": "0.003", "BremChi22ID": "0.001", "ChargedProtoPAddPrs": "0.001", "MoniGENERALSeq": "0.002", "OfflineENNFinderR2GasLeft": "0.000", "PhysicsSeq": "12.161", "ANNGPIDUpstreamPion": "0.000", "HltErrorFilter": "0.001", "OutputDSTSeq": "0.046", "OfflineENNFinderR1GasTop": "0.004", "EcalBanksHandler": "0.016", "VeloIPResolutionMonitor": "0.000", "ClusterMatch": "0.030", "ENNRingMoniBest": "0.000", "CaloEventProcTime": "0.000", "TsaSeed": "1.301", "RecoVELOSeq": "0.016", "CreateOfflinePhotons": "0.000", "CheckProcOfflineStatus": "0.002", "CaloPIDsMoni": "0.008", "PackRecVertex": "0.003", "RiVeloTTTrkEff": "0.000", "PatDownstream": "0.018", "ChargedPIDs": "0.090", "SplitPhotonMon": "0.000", "CaloEMuPIDMonSoft": "0.000", "EcalChi22ID": "0.003", "InECAL": "0.020", "MergedPi0Mon": "0.000", "TrackClonesSeq": "0.158", "ChargedProtoPAddSpd": "0.001", "BrunelSequencer": "13.771", "PackPhotons": "0.006", "EcalCovar": "0.004", "EcalPIDmu": "0.001", "VeloClusterMonitor": "0.001", "RecoPROTOSeq": "0.091", "RichOfflineTracksSeq": "0.001", "FitSeedForMatch": "4.041", "BrunelBankKiller": "0.000", "CaloDigitFilter": "0.024", "PatVeloGeneralTracking": "0.006", "CaloRecoSeq": "0.197", "ANNGPIDDownstreamMuon": "0.001", "RichAlignMoniR1Gas": "0.001", "MuonTrackAligMonitor": "0.001", "MoniPROTOSeq": "0.007", "RiCKResForwardTight": "0.000", "RichHPDIonFeedback": "0.205", "PhotonReco": "0.106", "CopyVelo": "0.000", "CopyBest": "0.018", "RecoCALOSeq": "0.319", "RichEventProcTime": "0.000", "TrackForwardPatSeq": "0.067", "SpdMon": "0.039", "RiSeedTrkEff": "0.000", "TrackAddNNGhostId": "0.026", "LumiDecodeBeamCrossing": "0.001", "Reco": "11.149", "EcalPIDe": "0.001", "FilterNoBeam": "0.001", "MuonTrackFitter": "0.000", "RichRecoMoni": "0.001", "TrackMatchPatSeq": "0.065", "CreateTTClusters": "0.018", "ANNGPIDLongGhost": "0.000", "PhotonMatchMon": "0.002", "MoniHltSeq": "0.010", "ChargedProtoPMoni": "0.006", "TrackSeedPatSeq": "1.312", "ElectronMatchMon": "0.003", "TrackPrsMatchMonitor": "0.012", "RecoVertexSeq": "0.007", "FitBest": "3.229", "FilterBeam1": "0.000", "CaloTrackMatch": "0.050", "TrackITOverlapMonitor": "0.044", "HcalPIDe": "0.001", "LumiBeam2Seq": "0.000", "RichRawMoni": "0.127", "FitVelo": "0.000", "RichOfflineGPIDTrSel": "0.004", "RecoDecodingSeq": "0.294", "RichENNTracklessRingsMoni": "0.001", "FSROutputStreamDstWriter": "0.000", "ENNRingMoniAll": "0.000", "OTHitEfficiencyMonitor": "0.047", "EcalEFlowMon": "0.001", "PackTracks": "0.010", "ResolvedPi0Mon": "0.007", "ANNGPIDUpstreamMuon": "0.000", "TrackVertexMonitor": "0.003", "CaloPIDs": "0.121", "RichOfflineGPIDDigSel": "0.001", "InBREM": "0.001", "PhotonFromMergedID": "0.000", "OfflineIsolatedENNRings": "0.001", "MoniTrSeq": "0.221", "OfflineENNRingsSegAssoc": "0.002", "NotPhysicsSeq": "0.001", "CaloEMuPIDMonHard": "0.000", "OfflineBestENNRings": "0.005", "CreateOfflinePixels": "0.005", "PatVeloRTracking": "0.007", "RiCKResKsTrack": "0.000", "CaloDLLe": "0.004", "HcalBanksHandler": "0.005", "CaloBanksHandler": "0.045", "ANNGPIDDownstreamKaon": "0.004", "RichOfflineGPIDSeq": "0.007", "CreateTTLiteClusters": "0.023", "InitBrunelSeq": "0.009", "RichPIDMoni": "0.002", "TsaSeedTrackCnv": "0.011", "MuEffMonitor": "0.036", "CaloPIDsSeq": "0.121", "CreateITLiteClusters": "0.005", "EcalCheckBanks": "0.000", "ANNGPIDUpstreamKaon": "0.000", "TimeSpanAccounting": "0.001", "Init": "0.010", "LumiNoBeamSeq": "0.001", "MuonIDSeq": "0.064", "RemovePrsPackedBanks": "0.002", "TrackMuonMatchMonitor": "0.013", "VeloTrackMonitor": "0.001", "FilterBeamCrossing": "0.000", "RiCKResLongTight": "0.000", "ANNGPIDLongPion": "0.000", "HltDecReportsDecoder": "0.018", "TrackEventCloneKiller": "0.012", "SingleElectronRec": "0.009", "OfflineENNFinderR2GasRight": "0.000", "RichRecoMoniTight": "0.001", "PackMuonTracks": "0.000", "RichMirrAlignMoni": "0.001", "HcalDigitMon": "0.002", "RecoITSeq": "0.000", "RichRecInitOfflineSeq": "0.163", "ITClusterMonitor": "0.014", "ENNRingMoniIsolated": "0.000", "TrackV0Monitor": "0.002", "RiCKResLong": "0.000", "PrsCheckBanks": "0.000", "NeutralPIDs": "0.031", "TrackVeloTTPatSeq": "0.002", "DstWriter": "1.131", "ANNGPIDLongKaon": "0.000", "MuonEventProcTime": "0.000", "RemoveEcalPackedBanks": "0.001", "TrackSeedFitSeq": "4.100", "PrsBanksHandler": "0.025", "OverallEventProcTime": "0.000", "CaloMatch": "0.027", "TrackAddLikelihood": "0.018", "TimeSpanFilter": "0.000", "CaloEMuPIDMonUncut": "0.002", "RecoRICHSeq": "0.186", "Moni": "0.967", "RecoTTSeq": "0.000", "FlagTrackClones": "0.007", "ProtoEventProcTime": "0.000", "TrackEraseExtraInfo": "0.001", "PrsDigitMon": "0.016", "TrackDownstreamPatSeq": "0.772", "TrackEraseExtraInformationSeq": "0.001", "ANNGPIDUpstreamElectron": "0.000", "ANNGPIDDownstreamPion": "0.004", "TimeSpanSeq": "0.001", "CreateITClusters": "0.022", "EcalTrigFromRaw": "0.005", "PackMergedPi0s": "0.000", "ANNGPIDDownstreamElectron": "0.008", "PhysFilter": "0.001", "PrsADCs": "0.011", "CaloHyposMoni": "0.005", "SpdDigitMon": "0.008", "EcalShare": "0.014", "HcalCheckBanks": "0.000", "TrackPV2HalfAlignMonitor": "0.001", "ChargedProtoPAddMuon": "0.007", "CaloPacking": "0.007", "PrsE": "0.004", "ChargedProtoPAddBrem": "0.002", "PackRichPIDs": "0.004", "RichTrackMoni": "0.001", "RiCKResVeloTTTight": "0.000", "RecoMUONSeq": "0.081", "NeutralProtoParticles": "0.015", "BremPIDe": "0.000", "ANNGPIDUpstreamProton": "0.000", "SinglePhotonRec": "0.055", "PackNeutralProtos": "0.000", "PhotonID": "0.030", "RichRecPixelQC": "0.001", "MoniCALOSeq": "0.098", "TrackFitMatchMonitor": "0.001", "TrackFitSeq": "3.318", "EcalFillRawBuffer": "0.001", "RichDataSizeL0Filter": "0.000", "RiCKResMatchTight": "0.000", "RichOfflinePhotonsSeq": "0.000", "PrsPIDe": "0.002", "RichOfflineGPIDInit": "0.000", "MoniVELOSeq": "0.003", "RiKsTrackTrkEff": "0.000", "BremMatchMon": "0.000", "RichAlignMoniR2Gas": "0.000", "CaloDigits": "0.010", "RichOfflineGPIDInitSeq": "0.005", "SpdE": "0.015", "ProcStatAbortMoni": "0.000", "TrackAlignMonitor": "0.000", "BremMatch": "0.004", "CaloEnergy": "0.035", "ANNGPIDDownstreamGhost": "0.004", "ClusChi22ID": "0.003", "RiCKResMatch": "0.000", "OTTimeMonitor": "0.016", "FindTrackClones": "0.018", "LumiBeamCrossingSeq": "0.002", "TrackSpdMatchMonitor": "0.011", "Track": "10.144", "OfflineENNFinderR1GasBottom": "0.001", "CaloEFlowMoni": "0.001", "DecodeVeloClusters": "0.121", "DecodeRawRichOffline": "0.018", "RemoveHcalPackedBanks": "0.000", "PackElectrons": "0.000", "Output": "0.046", "BrunelEventCount": "0.000", "InPRS": "0.005", "InHCAL": "0.004", "RiForwardTrkEff": "0.000", "PackSplitPhotons": "0.000"}
diff --git a/GaudiHive/python/GaudiHive/precedence/algs_timings_3kE.json b/GaudiHive/python/GaudiHive/precedence/algs_timings_3kE.json
new file mode 100644
index 0000000..11687cb
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/algs_timings_3kE.json
@@ -0,0 +1 @@
+{"PatForward": 64.364, "TrackDiMuonMonitor": 0.144, "TTTrackMonitor": 1.397, "ChargedProtoPAddVeloDEDX": 0.379, "LumiCountBeam1": 0.055, "RiMatchTrkEff": 0.048, "LumiFilterBeamCrossing": 0.031, "LumiCountBeam2": 0.077, "RecoSUMMARYSeq": 0.172, "BrunelInit": 0.151, "ChargedProtoPMaker": 0.129, "DecodeTriggerSeq": 0.205, "create_Trigger_RawEvent": 0.029, "ElectronMatch": 4.339, "TrackMonitor": 14.178, "TrackEcalMatchMonitor": 1.234, "EcalZSup": 0.702, "RecoOTSeq": 0.002, "createTTLiteClusters": 0.128, "EcalDigitsSeq": 0.732, "TTClusterMonitor": 0.682, "MoniSTSeq": 1.251, "PackMuonPIDs": 0.021, "ProtoParticlePIDClean": 0.076, "EventAccount": 0.01, "RecSummary": 0.161, "CaloDigitsMoni": 4.465, "RichDecodingErrors": 0.17, "MergedID": 0.108, "ClusterReco": 17.715, "ChargedProtoANNPIDMoni": 0.158, "HcalDigitsSeq": 0.205, "FastVeloTracking": 2.924, "ChargedProtoParticles": 7.68, "RiPIDMonLong10To70": 0.035, "MuMonitor": 0.026, "EcalClust": 2.829, "RiCKResForward": 2.603, "MoniOTSeq": 8.731, "MuonIDAlg": 4.945, "L0TriggerSeq": 0.2, "HltRateMonitor": 0.02, "HltErrorSeq": 1.63, "AlignmentOnlineMonitor": 0.995, "CaloClustersMoni": 0.216, "ElectronReco": 2.163, "HcalE": 0.359, "HcalPIDmu": 0.033, "TrackEventProcTime": 0.006, "PackChargedProtos": 0.064, "LumiDecodeNoBeam": 0.037, "OTTrackMonitor": 6.184, "PrsFromRaw": 0.308, "RichRawDataDBCheck": 0.424, "RiPIDMonLong70To100": 0.021, "RichOfflineGPIDLLIt0": 103.574, "RichOfflineGPIDLLIt1": 124.516, "RichOfflinePIDSeq": 231.115, "MergedPi0Reco": 1.455, "TrackV0Finder": 3.328, "NeutralProtoPMaker": 3.777, "RichRawDataSize": 0.393, "create_Unstripped_RawEven": 0.047, "RichHPDIFBMoni": 1.552, "ANNGPIDSeq": 1.966, "PatPVOffline": 1.381, "CaloChi2": 0.166, "MuonRec": 0.334, "RichRecPixelClusters": 1.23, "InSPD": 0.298, "PrsProcStatus": 0.01, "HltFilterSeq": 1.616, "create_Tracker_RawEvent": 0.04, "LumiCounters": 0.308, "RiCKResSeed": 1.026, "ANNGPIDLongMuon": 0.029, "FillingBeam1": 0.068, "FillingBeam2": 0.026, "ChargedProtoPAddHcal": 0.08, "ChargedProtoPAddEcal": 3.331, "ANNGPIDUpstreamGhost": 0.027, "ChargedProtoPCombDLLs": 0.098, "RichL0Filter": 0.011, "ProtoElectronMon": 0.514, "PatVeloTT": 12.023, "CaloDLLmu": 0.08, "RecoCALOSeq": 39.892, "RiPIDMonLong2To10": 0.055, "RichRawDataSizeL0Seq": 0.032, "EcalE": 0.387, "PatSeeding": 68.266, "RichOfflinePixelsSeq": 7.63, "PackDST": 0.737, "PackTwoProngVertex": 0.014, "MuonPIDMonitorLong": 0.342, "FilterBestTrackStates": 0.255, "RiLongTrkEff": 0.221, "ANNGPIDDownstreamProton": 0.105, "RichHlt1Filter": 0.007, "HltErrorProc": 0.0, "ITTrackMonitor": 2.515, "HltCompositionMonitor": 0.059, "L0DUFromRaw": 0.189, "RiCKResSeedTight": 0.77, "CreateOfflineTracks": 31.845, "DiPhotonMoni": 0.71, "LumiFilterNoBeam": 0.0, "VertexEventProcTime": 0.003, "RichRawDataSizeL0": 0.278, "RiCKResVeloTT": 0.067, "EcalClusterMon": 0.206, "SpdFromRaw": 0.242, "RiPIDMonLong2To100": 0.108, "TrackVeloOverlapMonitor": 0.343, "ANNGPIDLongElectron": 0.246, "ANNGPIDDownstreamPion": 0.075, "RichPixelMoni": 2.018, "CaloProcessorCaloSeq": 39.881, "TrackFitMatchMonitor": 1.243, "RichOfflineGPIDLLSeq": 230.742, "EcalDigitMon": 1.487, "HcalZSup": 0.187, "ChargedProtoPAddRich": 0.115, "LumiSeq": 0.327, "LumiBeam1Seq": 0.048, "RichHotPixels": 1.71, "RichOfflineBckEstIt0": 0.94, "RichOfflineBckEstIt1": 1.633, "CaloPIDsCaloPIDsForCaloP": 9.756, "InCaloAcceptance": 1.141, "RecoTrSeq": 460.419, "TrackEraseExtraInformati": 0.076, "LumiCountBeamCrossing": 0.052, "TrackAddExtraInfoSeq": 69.072, "RichOfflineGPIDFin": 0.033, "ANNGPIDUpstreamPion": 0.027, "RiCKResKsTrackTight": 0.26, "ANNGPIDLongProton": 0.246, "ElectronMon": 0.137, "BremChi22ID": 0.037, "ChargedProtoPAddPrs": 0.051, "MoniGENERALSeq": 0.077, "OfflineENNFinderR2GasLeft": 0.323, "createITClusters": 0.552, "HltRateMonitorMB": 0.005, "PhysicsSeq": 1034.88, "createTTClusters": 0.707, "HltErrorFilter": 0.021, "OutputDSTSeq": 1.293, "OfflineENNFinderR1GasTop": 0.255, "MoniMUONSeq": 6.382, "VeloIPResolutionMonitor": 0.305, "ClusterMatch": 2.63, "CaloRecoForCaloProcessor": 30.112, "ENNRingMoniBest": 0.008, "RecoVELOSeq": 2.948, "CreateOfflinePhotons": 125.704, "CheckProcOfflineStatus": 0.031, "create_Rich_RawEvent": 0.014, "CaloPIDsMoni": 1.298, "PackRecVertex": 0.021, "RiVeloTTTrkEff": 0.048, "PatDownstream": 8.524, "SplitPhotonMon": 0.03, "CaloEMuPIDMonSoft": 0.026, "EcalChi22ID": 0.053, "InECAL": 0.497, "MergedPi0Mon": 0.017, "TrackClonesSeq": 6.416, "ChargedProtoPAddSpd": 0.042, "BrunelSequencer": 857.865, "PackPhotons": 0.059, "EcalCovar": 0.782, "MuonIDSeq": 4.972, "RecoPROTOSeq": 11.491, "RichOfflineTracksSeq": 31.881, "LumiDecodeBeam2": 0.026, "LumiDecodeBeam1": 0.041, "CaloDigitFilter": 2.766, "ANNGPIDDownstreamMuon": 0.013, "ChargedProtoPAddMuon": 0.053, "MuonTrackAligMonitor": 0.199, "MoniPROTOSeq": 0.682, "RiCKResForwardTight": 1.378, "RichHPDIonFeedback": 1.57, "PhotonReco": 8.748, "PatMatch": 1.415, "RichEventProcTime": 0.005, "TrackForwardPatSeq": 64.399, "SpdMon": 1.421, "RiSeedTrkEff": 0.198, "TrackAddNNGhostId": 44.079, "LumiDecodeBeamCrossing": 0.031, "Reco": 925.398, "EcalPIDe": 0.045, "FilterNoBeam": 0.016, "MuonTrackFitter": 5.81, "RichRecoMoni": 15.565, "TrackMatchPatSeq": 1.434, "PhotonMon": 0.18, "ANNGPIDLongGhost": 0.225, "PhotonMatchMon": 0.696, "MoniHltSeq": 0.146, "ChargedProtoPMoni": 0.51, "TrackSeedPatSeq": 68.305, "ElectronMatchMon": 0.129, "TrackPrsMatchMonitor": 1.862, "RecoVertexSeq": 4.74, "FilterBeam2": 0.014, "FilterBeam1": 0.016, "CaloTrackMatch": 3.144, "TrackITOverlapMonitor": 2.88, "create_Calo_RawEvent": 0.045, "HcalPIDe": 0.024, "LumiBeam2Seq": 0.042, "RichRawMoni": 2.762, "PrsDigitsSeq": 0.331, "RichOfflineGPIDTrSel": 0.211, "RecoDecodingSeq": 2.625, "RichENNTracklessRingsMoni": 0.052, "FSROutputStreamDstWriter": 0.009, "ENNRingMoniAll": 0.017, "NeutralProtoParticles": 3.795, "OTHitEfficiencyMonitor": 1.952, "EcalEFlowMon": 0.388, "PackTracks": 0.236, "ResolvedPi0Mon": 0.399, "ANNGPIDUpstreamMuon": 0.026, "TrackVertexMonitor": 0.576, "RichOfflineGPIDDigSel": 0.009, "HcalProcStatus": 0.006, "TrackBestTrackCreator": 236.411, "PhotonFromMergedID": 0.147, "LumiFilterBeam2": 0.0, "LumiFilterBeam1": 0.027, "MuonProcStatus": 0.015, "OfflineIsolatedENNRings": 0.032, "MoniTrSeq": 32.747, "OfflineENNRingsSegAssoc": 0.013, "InBREM": 0.11, "NotPhysicsSeq": 0.041, "CaloEMuPIDMonHard": 0.025, "OfflineBestENNRings": 0.021, "CreateOfflinePixels": 7.112, "RiCKResKsTrack": 0.619, "CaloDLLe": 0.16, "CaloBanksHandler": 1.539, "ChargedProtoPAddBrem": 1.356, "FilterMuonTrackStates": 0.015, "RichOfflineGPIDSeq": 231.034, "EcalPIDmu": 0.034, "MoniRICHSeq": 41.118, "InitBrunelSeq": 0.183, "ClusChi22ID": 0.061, "MergeOfflineRichPIDs": 0.071, "ANNGPIDUpstreamKaon": 0.027, "TimeSpanAccounting": 0.023, "createITLiteClusters": 0.105, "Init": 0.199, "LumiNoBeamSeq": 0.032, "VeloClusterMonitor": 1.664, "create_Velo_RawEvent": 0.022, "TrackMuonMatchMonitor": 0.819, "VeloTrackMonitor": 7.32, "FilterBeamCrossing": 0.013, "RiCKResLongTight": 5.63, "ANNGPIDLongPion": 0.245, "HltDecReportsDecoder": 1.572, "LumiBeamCrossingSeq": 0.059, "SingleElectronRec": 2.141, "OfflineENNFinderR2GasRight": 0.31, "RichRecoMoniTight": 8.393, "PackMuonTracks": 0.018, "RichMirrAlignMoni": 9.726, "HcalDigitMon": 0.35, "RecoITSeq": 0.003, "RichRecInitOfflineSeq": 165.323, "ITClusterMonitor": 0.55, "RichOfflineENNRingFinderS": 1.221, "ENNRingMoniIsolated": 0.008, "TrackV0Monitor": 0.024, "RiCKResLong": 10.834, "create_Muon_RawEvent": 0.012, "NeutralPIDsCaloPIDsForC": 1.533, "MuonROFilter": 0.006, "EventTimeMonitor": 0.01, "EcalProcStatus": 0.009, "TrackVeloTTPatSeq": 12.051, "DstWriter": 172.785, "ANNGPIDLongKaon": 0.265, "MuonEventProcTime": 0.004, "OverallEventProcTime": 0.008, "CaloMatch": 5.526, "TrackAddLikelihood": 18.515, "TimeSpanFilter": 0.013, "CaloEMuPIDMonUncut": 0.162, "RecoRICHSeq": 397.683, "Moni": 108.546, "RecoTTSeq": 0.004, "FlagTrackClones": 0.043, "ProtoEventProcTime": 0.004, "TrackEraseExtraInfo": 0.064, "PrsDigitMon": 0.8, "TrackDownstreamPatSeq": 8.551, "ANNGPIDUpstreamElectron": 0.027, "TimeSpanSeq": 0.045, "PackMergedPi0s": 0.012, "ANNGPIDDownstreamElectron": 0.101, "PhysFilter": 0.017, "CaloHyposMoni": 0.383, "SpdDigitMon": 0.362, "EcalShare": 11.252, "TrackPV2HalfAlignMonitor": 1.239, "RichAlignMoniR1Gas": 5.773, "CaloPacking": 0.156, "PrsE": 0.156, "ANNGPIDDownstreamKaon": 0.08, "PackRichPIDs": 0.047, "RichTrackMoni": 0.754, "RiCKResVeloTTTight": 0.049, "RecoMUONSeq": 5.355, "MergedPi0Rec": 1.438, "BremPIDe": 0.04, "ANNGPIDUpstreamProton": 0.025, "SinglePhotonRec": 5.574, "PackNeutralProtos": 0.038, "PhotonID": 1.252, "KillRawEventNodes": 0.019, "RichRecPixelQC": 0.764, "MoniCALOSeq": 8.022, "CaloEventProcTime": 0.003, "TrackFitSeq": 236.45, "LumiCountNoBeam": 0.0, "RiCKResMatchTight": 0.246, "LumiFilter": 0.0, "RichOfflinePhotonsSeq": 125.746, "PrsPIDe": 0.029, "RichOfflineGPIDInit": 0.004, "MoniVELOSeq": 9.337, "RiKsTrackTrkEff": 0.085, "BremMatchMon": 0.23, "RichAlignMoniR2Gas": 3.917, "CaloDigits": 1.531, "RichOfflineGPIDInitSeq": 0.236, "SpdE": 0.183, "ProcStatAbortMoni": 0.008, "TrackAlignMonitor": 1.585, "BremMatch": 1.156, "CaloEnergy": 1.108, "ANNGPIDDownstreamGhost": 0.091, "RichPIDMoni": 0.24, "RiCKResMatch": 0.351, "OTTimeMonitor": 0.534, "FindTrackClones": 6.336, "EtaMon": 0.299, "TrackSpdMatchMonitor": 1.492, "Track": 460.413, "RawEventSplitSeq": 0.261, "OfflineENNFinderR1GasBottom": 0.217, "CaloEFlowMoni": 0.401, "DecodeRawRichOffline": 0.479, "PackElectrons": 0.042, "Output": 1.3, "BrunelEventCount": 0.007, "createBothVeloClusters": 1.089, "InPRS": 0.265, "InHCAL": 0.442, "RiForwardTrkEff": 0.119, "ChargedPIDsCaloPIDsForC": 8.204, "PackSplitPhotons": 0.017} \ No newline at end of file
diff --git a/GaudiHive/python/GaudiHive/precedence/cf_dependencies.graphml b/GaudiHive/python/GaudiHive/precedence/cf_dependencies.graphml
new file mode 100644
index 0000000..818f9b2
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/cf_dependencies.graphml
@@ -0,0 +1,2052 @@
+<?xml version="1.0" encoding="utf-8"?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
+ <key attr.name="Lazy" attr.type="string" for="node" id="d3" />
+ <key attr.name="ModeOR" attr.type="string" for="node" id="d2" />
+ <key attr.name="class" attr.type="string" for="node" id="d1" />
+ <key attr.name="type" attr.type="string" for="node" id="d0" />
+ <graph edgedefault="directed">
+ <node id="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniIsolated">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TracklessRingMoni</data>
+ </node>
+ <node id="GaudiSequencer/CaloProcessorCaloSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="PackCaloHypo/PackMergedPi0s">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackCaloHypo</data>
+ </node>
+ <node id="GaudiSequencer/CaloDLLmu">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RecoTTSeq">
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="MuonTrackAligMonitor/MuonTrackAligMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">MuonTrackAligMonitor</data>
+ </node>
+ <node id="PatDownstream/PatDownstream">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatDownstream</data>
+ </node>
+ <node id="BremMatchAlg/BremMatch">
+ <data key="d0">Algorithm</data>
+ <data key="d1">BremMatchAlg</data>
+ </node>
+ <node id="GaudiSequencer/RecoDecodingSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="LumiAccounting/LumiCountNoBeam">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LumiAccounting</data>
+ </node>
+ <node id="GaudiSequencer/CaloChi2">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflineTracksSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongPion">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="PatVeloTT/PatVeloTT">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatVeloTT</data>
+ </node>
+ <node id="GaudiSequencer/LumiSeq">
+ <data key="d2">True</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/TrackForwardPatSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflinePIDSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="LoKi::ODINFilter/TimeSpanFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::ODINFilter</data>
+ </node>
+ <node id="CaloSinglePhotonAlg/SinglePhotonRec">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloSinglePhotonAlg</data>
+ </node>
+ <node id="GaudiSequencer/NeutralProtoParticles">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="PackProtoParticle/PackChargedProtos">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackProtoParticle</data>
+ </node>
+ <node id="HltRateMonitor/HltRateMonitorMB">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltRateMonitor</data>
+ </node>
+ <node id="EcalPIDeAlg/EcalPIDe">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EcalPIDeAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichMirrAlignMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/PhysicsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/OutputDSTSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::TracklessRingFilterAlg/OfflineBestENNRings">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::TracklessRingFilterAlg</data>
+ </node>
+ <node id="PatSeeding/PatSeeding">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatSeeding</data>
+ </node>
+ <node id="LoKi::ODINFilter/FilterBeamCrossing">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::ODINFilter</data>
+ </node>
+ <node id="DataPacking::Pack&lt;LHCb::MuonPIDPacker&gt;/PackMuonPIDs">
+ <data key="d0">Algorithm</data>
+ <data key="d1">DataPacking::Pack&lt;LHCb::MuonPIDPacker&gt;</data>
+ </node>
+ <node id="GaudiSequencer/RecoVELOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/PrsDigitsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloEFlowAlg/EcalEFlowMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloEFlowAlg</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamProton">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="HcalPIDeAlg/HcalPIDe">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HcalPIDeAlg</data>
+ </node>
+ <node id="SpdMonitor/SpdMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">SpdMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResSeed">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="CaloProtoElectronMonitor/ProtoElectronMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloProtoElectronMonitor</data>
+ </node>
+ <node id="InSpdAcceptanceAlg/InSPD">
+ <data key="d0">Algorithm</data>
+ <data key="d1">InSpdAcceptanceAlg</data>
+ </node>
+ <node id="OTTrackMonitor/OTTrackMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">OTTrackMonitor</data>
+ </node>
+ <node id="EventCountHisto/BrunelEventCount">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EventCountHisto</data>
+ </node>
+ <node id="GaudiSequencer/HltFilterSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloHypoMonitor/PhotonMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMonitor</data>
+ </node>
+ <node id="Rich::Rec::TracklessRingIsolationAlg/OfflineIsolatedENNRings">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::TracklessRingIsolationAlg</data>
+ </node>
+ <node id="TrackPV2HalfAlignMonitor/TrackPV2HalfAlignMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackPV2HalfAlignMonitor</data>
+ </node>
+ <node id="Velo::VeloIPResolutionMonitor/VeloIPResolutionMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Velo::VeloIPResolutionMonitor</data>
+ </node>
+ <node id="GaudiSequencer/TrackDownstreamPatSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="EventNodeKiller/KillRawEventNodes">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EventNodeKiller</data>
+ </node>
+ <node id="GaudiSequencer/RecoCALOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloPhotonIdAlg/PhotonID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloPhotonIdAlg</data>
+ </node>
+ <node id="ChargedProtoParticleAddPrsInfo/ChargedProtoPAddPrs">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddPrsInfo</data>
+ </node>
+ <node id="GaudiSequencer/PhotonReco">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ProcessPhase/Output">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">ProcessPhase</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongProton">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/RecoTrSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="MuonRec">
+ <data key="d0">Algorithm</data>
+ <data key="d1">GaudiAlgorithm</data>
+ </node>
+ <node id="GaudiSequencer/RichPIDMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RecoSUMMARYSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ChargedProtoParticleMoni/ChargedProtoPMoni">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleMoni</data>
+ </node>
+ <node id="Rich::Rec::Initialise/CreateOfflinePixels">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::Initialise</data>
+ </node>
+ <node id="DataPacking::Pack&lt;LHCb::RichPIDPacker&gt;/PackRichPIDs">
+ <data key="d0">Algorithm</data>
+ <data key="d1">DataPacking::Pack&lt;LHCb::RichPIDPacker&gt;</data>
+ </node>
+ <node id="TrackEraseExtraInfo/TrackEraseExtraInfo">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackEraseExtraInfo</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResSeedTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="L0DUFromRawAlg/L0DUFromRaw">
+ <data key="d0">Algorithm</data>
+ <data key="d1">L0DUFromRawAlg</data>
+ </node>
+ <node id="GaudiSequencer/MoniTrSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/TrackAddExtraInfoSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ChargedProtoParticleAddMuonInfo/ChargedProtoPAddMuon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddMuonInfo</data>
+ </node>
+ <node id="RecProcessingTimeMoni/ProtoEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="HltLumiSummaryDecoder/LumiDecodeBeamCrossing">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltLumiSummaryDecoder</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResVeloTT">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResKsTrack">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="CaloElectronAlg/SingleElectronRec">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloElectronAlg</data>
+ </node>
+ <node id="FilterOnLumiSummary/LumiFilterBeamCrossing">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterOnLumiSummary</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamGhost">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="CaloEMuPIDMon/CaloEMuPIDMonUncut">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloEMuPIDMon</data>
+ </node>
+ <node id="GaudiSequencer/MoniPROTOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="BremChi22ID/BremChi22ID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">BremChi22ID</data>
+ </node>
+ <node id="GaudiSequencer/CaloClustersMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ChargedProtoParticleAddVeloInfo/ChargedProtoPAddVeloDEDX">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddVeloInfo</data>
+ </node>
+ <node id="ChargedProtoParticleMaker/ChargedProtoPMaker">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleMaker</data>
+ </node>
+ <node id="ChargedProtoParticleAddRichInfo/ChargedProtoPAddRich">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddRichInfo</data>
+ </node>
+ <node id="CaloZSupAlg/HcalZSup">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloZSupAlg</data>
+ </node>
+ <node id="ChargedProtoParticleAddSpdInfo/ChargedProtoPAddSpd">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddSpdInfo</data>
+ </node>
+ <node id="PackRecVertex/PackRecVertex">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackRecVertex</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::DigitSel/RichOfflineGPIDDigSel">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::DigitSel</data>
+ </node>
+ <node id="BremPIDeAlg/BremPIDe">
+ <data key="d0">Algorithm</data>
+ <data key="d1">BremPIDeAlg</data>
+ </node>
+ <node id="ST::STClusterMonitor/TTClusterMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ST::STClusterMonitor</data>
+ </node>
+ <node id="RecProcessingTimeMoni/MuonEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="PatMatch/PatMatch">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatMatch</data>
+ </node>
+ <node id="EventAccounting/EventAccount">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EventAccounting</data>
+ </node>
+ <node id="Rich::Rec::HierarchicalPIDMerge/MergeOfflineRichPIDs">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::HierarchicalPIDMerge</data>
+ </node>
+ <node id="ChargedProtoParticleAddHcalInfo/ChargedProtoPAddHcal">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddHcalInfo</data>
+ </node>
+ <node id="RawBankToSTClusterAlg/createTTClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankToSTClusterAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiVeloTTTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="GaudiSequencer/CaloEFlowMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="HltRateMonitor/HltRateMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltRateMonitor</data>
+ </node>
+ <node id="RecProcessingTimeMoni/TrackEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="GaudiSequencer/CaloTrackMatch">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/ChargedProtoParticles">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiSeedTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="RecProcessingTimeMoni/OverallEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="GaudiSequencer/MoniRICHSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongKaon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflineGPIDInitSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="HcalPIDmuAlg/HcalPIDmu">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HcalPIDmuAlg</data>
+ </node>
+ <node id="OTHitEfficiencyMonitor/OTHitEfficiencyMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">OTHitEfficiencyMonitor</data>
+ </node>
+ <node id="PackTrack/PackMuonTracks">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackTrack</data>
+ </node>
+ <node id="TrackCaloMatchMonitor/TrackEcalMatchMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackCaloMatchMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniAll">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TracklessRingMoni</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamPion">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="CaloHypoMonitor/ElectronMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMonitor</data>
+ </node>
+ <node id="Rich::DAQ::DataDBCheck/RichRawDataDBCheck">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::DAQ::DataDBCheck</data>
+ </node>
+ <node id="RawEventMapCombiner/create_Rich_RawEvent">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawEventMapCombiner</data>
+ </node>
+ <node id="RawEventMapCombiner/create_Muon_RawEvent">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawEventMapCombiner</data>
+ </node>
+ <node id="Track2EcalEAlg/EcalE">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Track2EcalEAlg</data>
+ </node>
+ <node id="GaudiSequencer/CaloPIDsCaloPIDsForCaloProcessor">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniBest">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TracklessRingMoni</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamGhost">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/CaloBanksHandler">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RecoPROTOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Track2PrsEAlg/PrsE">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Track2PrsEAlg</data>
+ </node>
+ <node id="CaloHypoMonitor/SplitPhotonMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMonitor</data>
+ </node>
+ <node id="TrackV0Monitor/TrackV0Monitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackV0Monitor</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResForward">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="ST::STClusterMonitor/ITClusterMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ST::STClusterMonitor</data>
+ </node>
+ <node id="TrackCaloMatchMonitor/TrackPrsMatchMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackCaloMatchMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::AlignmentMonitor/RichAlignMoniR2Gas">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::AlignmentMonitor</data>
+ </node>
+ <node id="TrackAddNNGhostId/TrackAddNNGhostId">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackAddNNGhostId</data>
+ </node>
+ <node id="GaudiSequencer/RichRawDataSizeL0Seq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RecoOTSeq">
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="LoKi::ODINFilter/FilterBeam1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::ODINFilter</data>
+ </node>
+ <node id="LoKi::ODINFilter/FilterBeam2">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::ODINFilter</data>
+ </node>
+ <node id="CaloEMuPIDMon/CaloEMuPIDMonHard">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloEMuPIDMon</data>
+ </node>
+ <node id="GaudiSequencer/RecoMUONSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflineGPIDLLSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/LumiCounters">
+ <data key="d2">True</data>
+ <data key="d3">False</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawBankToSTLiteClusterAlg/createTTLiteClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankToSTLiteClusterAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiForwardTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="GaudiSequencer/InCaloAcceptance">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloSharedCellAlg/EcalShare">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloSharedCellAlg</data>
+ </node>
+ <node id="Track2SpdEAlg/SpdE">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Track2SpdEAlg</data>
+ </node>
+ <node id="ChargedProtoParticleAddEcalInfo/ChargedProtoPAddEcal">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddEcalInfo</data>
+ </node>
+ <node id="RawEventMapCombiner/create_Trigger_RawEvent">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawEventMapCombiner</data>
+ </node>
+ <node id="EventTimeMonitor/EventTimeMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EventTimeMonitor</data>
+ </node>
+ <node id="RawEventMapCombiner/create_Other_RawEvent">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawEventMapCombiner</data>
+ </node>
+ <node id="TrackMonitor/TrackMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackMonitor</data>
+ </node>
+ <node id="GaudiSequencer/RichRecoMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RecSummaryAlg/RecSummary">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecSummaryAlg</data>
+ </node>
+ <node id="InPrsAcceptanceAlg/InPRS">
+ <data key="d0">Algorithm</data>
+ <data key="d1">InPrsAcceptanceAlg</data>
+ </node>
+ <node id="Rich::DAQ::DataDecodingErrorMoni/RichDecodingErrors">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::DAQ::DataDecodingErrorMoni</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiLongTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="GaudiSequencer/MoniCALOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="DecodeVeloRawBuffer/createBothVeloClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">DecodeVeloRawBuffer</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResForwardTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="GaudiSequencer/NeutralPIDsCaloPIDsForCaloProcessor">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResMatch">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="GaudiSequencer/TrackVeloTTPatSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="EcalPIDmuAlg/EcalPIDmu">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EcalPIDmuAlg</data>
+ </node>
+ <node id="GaudiSequencer/TimeSpanSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/MoniMUONSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ProcessPhase/Init">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">ProcessPhase</data>
+ </node>
+ <node id="GaudiSequencer/TrackSeedPatSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::PixelClusterMoni/RichRecPixelClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::PixelClusterMoni</data>
+ </node>
+ <node id="GaudiSequencer/PackDST">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamElectron">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichHPDIonFeedback">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::Initialise/CreateOfflinePhotons">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::Initialise</data>
+ </node>
+ <node id="TrackMuonMatchMonitor/TrackMuonMatchMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackMuonMatchMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiKsTrackTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="Rich::Rec::MC::PIDQC/RiPIDMonLong2To10">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::PIDQC</data>
+ </node>
+ <node id="Rich::Rec::TracklessRingSegmentAssociationAlg/OfflineENNRingsSegAssoc">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::TracklessRingSegmentAssociationAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflinePhotonsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="TrackToDST/FilterBestTrackStates">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackToDST</data>
+ </node>
+ <node id="RawBankReadoutStatusFilter/MuonROFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankReadoutStatusFilter</data>
+ </node>
+ <node id="Rich::Rec::ENNRingFinder::Rich1GasBottomPanel/OfflineENNFinderR1GasBottom">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::ENNRingFinder::Rich1GasBottomPanel</data>
+ </node>
+ <node id="RawBankToSTLiteClusterAlg/createITLiteClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankToSTLiteClusterAlg</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamElectron">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResMatchTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="Velo::VeloClusterMonitor/VeloClusterMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Velo::VeloClusterMonitor</data>
+ </node>
+ <node id="PrsPIDeAlg/PrsPIDe">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PrsPIDeAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichRecInitOfflineSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="LoKi::HDRFilter/RichHlt1Filter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::HDRFilter</data>
+ </node>
+ <node id="RawBankReadoutStatusConverter/MuonProcStatus">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankReadoutStatusConverter</data>
+ </node>
+ <node id="GaudiSequencer/RichTrackMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/LumiBeam1Seq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="PackTrack/PackTracks">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackTrack</data>
+ </node>
+ <node id="ElectronMatchAlg/ElectronMatch">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ElectronMatchAlg</data>
+ </node>
+ <node id="Rich::Mon::HPDIonFeedbackMoni/RichHPDIFBMoni">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Mon::HPDIonFeedbackMoni</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamMuon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="CaloPhotonIdAlg/PhotonFromMergedID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloPhotonIdAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::PIDQC/RiPIDMonLong10To70">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::PIDQC</data>
+ </node>
+ <node id="CaloPhotonIdAlg/MergedID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloPhotonIdAlg</data>
+ </node>
+ <node id="GaudiSequencer/RecoRICHSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ClusChi22ID/ClusChi22ID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ClusChi22ID</data>
+ </node>
+ <node id="Rich::Rec::PixelBackgroundAlg/RichOfflineBckEstIt1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::PixelBackgroundAlg</data>
+ </node>
+ <node id="Rich::Rec::PixelBackgroundAlg/RichOfflineBckEstIt0">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::PixelBackgroundAlg</data>
+ </node>
+ <node id="FilterFillingScheme/FillingBeam1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterFillingScheme</data>
+ </node>
+ <node id="FilterFillingScheme/FillingBeam2">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterFillingScheme</data>
+ </node>
+ <node id="MuMonitor/MuMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">MuMonitor</data>
+ </node>
+ <node id="CaloPi0Monitor/EtaMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloPi0Monitor</data>
+ </node>
+ <node id="CaloPi0Monitor/ResolvedPi0Mon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloPi0Monitor</data>
+ </node>
+ <node id="RecInit/BrunelInit">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecInit</data>
+ </node>
+ <node id="OTTimeMonitor/OTTimeMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">OTTimeMonitor</data>
+ </node>
+ <node id="CaloDigitMonitor/EcalDigitMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::TrackSelEff/RiMatchTrkEff">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::TrackSelEff</data>
+ </node>
+ <node id="HltRoutingBitsFilter/PhysFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltRoutingBitsFilter</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongMuon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflineENNRingFinderSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::Likelihood/RichOfflineGPIDLLIt0">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::Likelihood</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::Likelihood/RichOfflineGPIDLLIt1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::Likelihood</data>
+ </node>
+ <node id="CaloClusterMatchMonitor/PhotonMatchMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloClusterMatchMonitor</data>
+ </node>
+ <node id="AddToProcStatus/HltErrorProc">
+ <data key="d0">Algorithm</data>
+ <data key="d1">AddToProcStatus</data>
+ </node>
+ <node id="CaloDigitMonitor/HcalDigitMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitMonitor</data>
+ </node>
+ <node id="InEcalAcceptanceAlg/InECAL">
+ <data key="d0">Algorithm</data>
+ <data key="d1">InEcalAcceptanceAlg</data>
+ </node>
+ <node id="GaudiSequencer/HcalDigitsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamPion">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="LoKi::HDRFilter/HltErrorFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::HDRFilter</data>
+ </node>
+ <node id="GaudiSequencer/CaloPIDsMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::Finalize/RichOfflineGPIDFin">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::Finalize</data>
+ </node>
+ <node id="PackCaloHypo/PackSplitPhotons">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackCaloHypo</data>
+ </node>
+ <node id="EcalChi22ID/EcalChi22ID">
+ <data key="d0">Algorithm</data>
+ <data key="d1">EcalChi22ID</data>
+ </node>
+ <node id="GaudiSequencer/InitBrunelSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDMoni/ChargedProtoANNPIDMoni">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDMoni</data>
+ </node>
+ <node id="GaudiSequencer/DiPhotonMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::Initialise/CreateOfflineTracks">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::Initialise</data>
+ </node>
+ <node id="GaudiSequencer/RecoVertexSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawBankReadoutStatusConverter/EcalProcStatus">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankReadoutStatusConverter</data>
+ </node>
+ <node id="PackProtoParticle/PackNeutralProtos">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackProtoParticle</data>
+ </node>
+ <node id="LoKi::ODINFilter/FilterNoBeam">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::ODINFilter</data>
+ </node>
+ <node id="TrackCaloMatchMonitor/TrackSpdMatchMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackCaloMatchMonitor</data>
+ </node>
+ <node id="FilterOnLumiSummary/LumiFilterNoBeam">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterOnLumiSummary</data>
+ </node>
+ <node id="ChargedProtoCombineDLLsAlg/ChargedProtoPCombDLLs">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoCombineDLLsAlg</data>
+ </node>
+ <node id="GaudiSequencer/LumiNoBeamSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/TrackMatchPatSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflineGPIDSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ProcessPhase/Track">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">ProcessPhase</data>
+ </node>
+ <node id="PhotonMatchAlg/ClusterMatch">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PhotonMatchAlg</data>
+ </node>
+ <node id="GaudiSequencer/CaloDigits">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawEventMapCombiner/create_Calo_RawEvent">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawEventMapCombiner</data>
+ </node>
+ <node id="Rich::Rec::ENNRingFinder::Rich2GasRightPanel/OfflineENNFinderR2GasRight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::ENNRingFinder::Rich2GasRightPanel</data>
+ </node>
+ <node id="CaloDigitsFromRaw/SpdFromRaw">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitsFromRaw</data>
+ </node>
+ <node id="GaudiSequencer/TrackEraseExtraInformationSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::ENNRingFinder::Rich2GasLeftPanel/OfflineENNFinderR2GasLeft">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::ENNRingFinder::Rich2GasLeftPanel</data>
+ </node>
+ <node id="GaudiSequencer/LumiBeamCrossingSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloClusterCovarianceAlg/EcalCovar">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloClusterCovarianceAlg</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::TrackSel/RichOfflineGPIDTrSel">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::TrackSel</data>
+ </node>
+ <node id="GaudiSequencer/DecodeTriggerSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::DAQ::RawBufferToRichDigitsAlg/DecodeRawRichOffline">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::DAQ::RawBufferToRichDigitsAlg</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamMuon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="ProcStatAbortMoni/ProcStatAbortMoni">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ProcStatAbortMoni</data>
+ </node>
+ <node id="CellularAutomatonAlg/EcalClust">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CellularAutomatonAlg</data>
+ </node>
+ <node id="LumiAccounting/LumiCountBeam1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LumiAccounting</data>
+ </node>
+ <node id="TrackDiMuonMonitor/TrackDiMuonMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackDiMuonMonitor</data>
+ </node>
+ <node id="LumiAccounting/LumiCountBeam2">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LumiAccounting</data>
+ </node>
+ <node id="CaloDigitsFromRaw/PrsFromRaw">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitsFromRaw</data>
+ </node>
+ <node id="GaudiSequencer/ClusterReco">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/TrackFitSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResLongTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="GaudiSequencer/RichOfflinePixelsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::DAQ::RawDataSize/RichRawDataSizeL0">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::DAQ::RawDataSize</data>
+ </node>
+ <node id="PatForward/PatForward">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatForward</data>
+ </node>
+ <node id="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="HltLumiSummaryDecoder/LumiDecodeBeam2">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltLumiSummaryDecoder</data>
+ </node>
+ <node id="HltLumiSummaryDecoder/LumiDecodeBeam1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltLumiSummaryDecoder</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamKaon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="Rich::Rec::GlobalPID::Initialize/RichOfflineGPIDInit">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::GlobalPID::Initialize</data>
+ </node>
+ <node id="Rich::Rec::MC::PIDQC/RiPIDMonLong2To100">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::PIDQC</data>
+ </node>
+ <node id="GaudiSequencer/MoniVELOSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="MuonIDAlg/MuonIDAlg">
+ <data key="d0">Algorithm</data>
+ <data key="d1">MuonIDAlg</data>
+ </node>
+ <node id="ProcessPhase/Moni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">ProcessPhase</data>
+ </node>
+ <node id="LumiAccounting/LumiCountBeamCrossing">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LumiAccounting</data>
+ </node>
+ <node id="TrackBestTrackCreator/TrackBestTrackCreator">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackBestTrackCreator</data>
+ </node>
+ <node id="GaudiSequencer/CaloDigitsMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="FilterOnLumiSummary/LumiFilterBeam1">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterOnLumiSummary</data>
+ </node>
+ <node id="FilterOnLumiSummary/LumiFilterBeam2">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FilterOnLumiSummary</data>
+ </node>
+ <node id="GaudiSequencer/RichPixelMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/CaloDLLe">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="TrackEventFitter/MuonTrackFitter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackEventFitter</data>
+ </node>
+ <node id="AlignmentOnlineMonitor/AlignmentOnlineMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">AlignmentOnlineMonitor</data>
+ </node>
+ <node id="PackTwoProngVertex/PackTwoProngVertex">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackTwoProngVertex</data>
+ </node>
+ <node id="PackCaloHypo/PackElectrons">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackCaloHypo</data>
+ </node>
+ <node id="ChargedProtoParticleAddBremInfo/ChargedProtoPAddBrem">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleAddBremInfo</data>
+ </node>
+ <node id="GaudiSequencer/MoniHltSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloHypoMonitor/MergedPi0Mon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMonitor</data>
+ </node>
+ <node id="GaudiSequencer/ANNGPIDSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamKaon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="TrackAddLikelihood/TrackAddLikelihood">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackAddLikelihood</data>
+ </node>
+ <node id="CaloDigitMonitor/SpdDigitMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitMonitor</data>
+ </node>
+ <node id="CaloClusterMonitor/EcalClusterMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloClusterMonitor</data>
+ </node>
+ <node id="CaloZSupAlg/EcalZSup">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloZSupAlg</data>
+ </node>
+ <node id="TimeAccounting/TimeSpanAccounting">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TimeAccounting</data>
+ </node>
+ <node id="TrackITOverlapMonitor/TrackITOverlapMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackITOverlapMonitor</data>
+ </node>
+ <node id="ChargedProtoParticleRemovePIDInfo/ProtoParticlePIDClean">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ChargedProtoParticleRemovePIDInfo</data>
+ </node>
+ <node id="GaudiSequencer/RichRawMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawBankToSTClusterAlg/createITClusters">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankToSTClusterAlg</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamProton">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="GaudiSequencer/MoniGENERALSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/ElectronReco">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/CaloMatch">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/BrunelSequencer">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="CaloEMuPIDMon/CaloEMuPIDMonSoft">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloEMuPIDMon</data>
+ </node>
+ <node id="GaudiSequencer/MergedPi0Reco">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/RichRecoMoniTight">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="PackCaloHypo/PackPhotons">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PackCaloHypo</data>
+ </node>
+ <node id="GaudiSequencer/MoniOTSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="PatPVOffline/PatPVOffline">
+ <data key="d0">Algorithm</data>
+ <data key="d1">PatPVOffline</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongGhost">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="Track2HcalEAlg/HcalE">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Track2HcalEAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResKsTrackTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="FastVeloTracking/FastVeloTracking">
+ <data key="d0">Algorithm</data>
+ <data key="d1">FastVeloTracking</data>
+ </node>
+ <node id="TrackCloneCleaner/FlagTrackClones">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackCloneCleaner</data>
+ </node>
+ <node id="ProcessPhase/Reco">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">ProcessPhase</data>
+ </node>
+ <node id="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongElectron">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ANNGlobalPID::ChargedProtoANNPIDAlg</data>
+ </node>
+ <node id="CaloHypoMatchMonitor/ElectronMatchMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMatchMonitor</data>
+ </node>
+ <node id="TrackVeloOverlapMonitor/TrackVeloOverlapMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackVeloOverlapMonitor</data>
+ </node>
+ <node id="GaudiSequencer/HltErrorSeq">
+ <data key="d2">True</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="TrackAlignMonitor/TrackAlignMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackAlignMonitor</data>
+ </node>
+ <node id="TrackV0Finder/TrackV0Finder">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackV0Finder</data>
+ </node>
+ <node id="Rich::DAQ::RawDataSize/RichRawDataSize">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::DAQ::RawDataSize</data>
+ </node>
+ <node id="Rich::Rec::ENNRingFinder::Rich1GasTopPanel/OfflineENNFinderR1GasTop">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::ENNRingFinder::Rich1GasTopPanel</data>
+ </node>
+ <node id="TTTrackMonitor/TTTrackMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TTTrackMonitor</data>
+ </node>
+ <node id="GaudiSequencer/TrackClonesSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/LumiBeam2Seq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawBankReadoutStatusConverter/HcalProcStatus">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankReadoutStatusConverter</data>
+ </node>
+ <node id="HltCompositionMonitor/HltCompositionMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltCompositionMonitor</data>
+ </node>
+ <node id="GaudiSequencer/CaloRecoForCaloProcessor">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::Initialise/CheckProcOfflineStatus">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::Initialise</data>
+ </node>
+ <node id="GaudiSequencer/CaloHyposMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::Rec::MC::PIDQC/RiPIDMonLong70To100">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::PIDQC</data>
+ </node>
+ <node id="GaudiSequencer/L0TriggerSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/CaloEnergy">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/MuonIDSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RawBankReadoutStatusConverter/PrsProcStatus">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RawBankReadoutStatusConverter</data>
+ </node>
+ <node id="Rich::Rec::MC::AlignmentMonitor/RichAlignMoniR1Gas">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::AlignmentMonitor</data>
+ </node>
+ <node id="ITTrackMonitor/ITTrackMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">ITTrackMonitor</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResVeloTTTight">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="HltRoutingBitsFilter/LumiFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltRoutingBitsFilter</data>
+ </node>
+ <node id="HltLumiSummaryDecoder/LumiDecodeNoBeam">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltLumiSummaryDecoder</data>
+ </node>
+ <node id="GaudiSequencer/EcalDigitsSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Rich::HPDAnalysisAlg/RichHotPixels">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::HPDAnalysisAlg</data>
+ </node>
+ <node id="InBremAcceptanceAlg/InBREM">
+ <data key="d0">Algorithm</data>
+ <data key="d1">InBremAcceptanceAlg</data>
+ </node>
+ <node id="InHcalAcceptanceAlg/InHCAL">
+ <data key="d0">Algorithm</data>
+ <data key="d1">InHcalAcceptanceAlg</data>
+ </node>
+ <node id="HltDecReportsDecoder/HltDecReportsDecoder">
+ <data key="d0">Algorithm</data>
+ <data key="d1">HltDecReportsDecoder</data>
+ </node>
+ <node id="Rich::Rec::MC::RecoQC/RiCKResLong">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::RecoQC</data>
+ </node>
+ <node id="RecProcessingTimeMoni/CaloEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="CaloDigitFilterAlg/CaloDigitFilter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitFilterAlg</data>
+ </node>
+ <node id="Rich::Rec::MC::PixelQC/RichRecPixelQC">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Rich::Rec::MC::PixelQC</data>
+ </node>
+ <node id="GaudiSequencer/RawEventSplitSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="TrackVertexMonitor/TrackVertexMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackVertexMonitor</data>
+ </node>
+ <node id="TrackFitMatchMonitor/TrackFitMatchMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackFitMatchMonitor</data>
+ </node>
+ <node id="CaloDigitMonitor/PrsDigitMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloDigitMonitor</data>
+ </node>
+ <node id="TrackBuildCloneTable/FindTrackClones">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackBuildCloneTable</data>
+ </node>
+ <node id="GaudiSequencer/MoniSTSeq">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="GaudiSequencer/NotPhysicsSeq">
+ <data key="d2">True</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RecProcessingTimeMoni/VertexEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="GaudiSequencer/CaloPacking">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="RecProcessingTimeMoni/RichEventProcTime">
+ <data key="d0">Algorithm</data>
+ <data key="d1">RecProcessingTimeMoni</data>
+ </node>
+ <node id="GaudiSequencer/RecoITSeq">
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="Velo::VeloTrackMonitor/VeloTrackMonitor">
+ <data key="d0">Algorithm</data>
+ <data key="d1">Velo::VeloTrackMonitor</data>
+ </node>
+ <node id="CaloHypoMatchMonitor/BremMatchMon">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloHypoMatchMonitor</data>
+ </node>
+ <node id="MuonPIDChecker/MuonPIDMonitorLong">
+ <data key="d0">Algorithm</data>
+ <data key="d1">MuonPIDChecker</data>
+ </node>
+ <node id="NeutralProtoPAlg/NeutralProtoPMaker">
+ <data key="d0">Algorithm</data>
+ <data key="d1">NeutralProtoPAlg</data>
+ </node>
+ <node id="LoKi::L0Filter/RichL0Filter">
+ <data key="d0">Algorithm</data>
+ <data key="d1">LoKi::L0Filter</data>
+ </node>
+ <node id="GaudiSequencer/RichENNTracklessRingsMoni">
+ <data key="d2">False</data>
+ <data key="d3">True</data>
+ <data key="d0">DecisionHub</data>
+ <data key="d1">GaudiSequencer</data>
+ </node>
+ <node id="TrackToDST/FilterMuonTrackStates">
+ <data key="d0">Algorithm</data>
+ <data key="d1">TrackToDST</data>
+ </node>
+ <node id="CaloMergedPi0Alg/MergedPi0Rec">
+ <data key="d0">Algorithm</data>
+ <data key="d1">CaloMergedPi0Alg</data>
+ </node>
+ <edge source="GaudiSequencer/CaloProcessorCaloSeq" target="GaudiSequencer/CaloRecoForCaloProcessor" />
+ <edge source="GaudiSequencer/CaloProcessorCaloSeq" target="GaudiSequencer/CaloPIDsCaloPIDsForCaloProcessor" />
+ <edge source="GaudiSequencer/CaloDLLmu" target="EcalPIDmuAlg/EcalPIDmu" />
+ <edge source="GaudiSequencer/CaloDLLmu" target="HcalPIDmuAlg/HcalPIDmu" />
+ <edge source="GaudiSequencer/RecoDecodingSeq" target="DecodeVeloRawBuffer/createBothVeloClusters" />
+ <edge source="GaudiSequencer/RecoDecodingSeq" target="RawBankToSTClusterAlg/createITClusters" />
+ <edge source="GaudiSequencer/RecoDecodingSeq" target="RawBankToSTLiteClusterAlg/createTTLiteClusters" />
+ <edge source="GaudiSequencer/RecoDecodingSeq" target="RawBankToSTClusterAlg/createTTClusters" />
+ <edge source="GaudiSequencer/RecoDecodingSeq" target="RawBankToSTLiteClusterAlg/createITLiteClusters" />
+ <edge source="GaudiSequencer/CaloChi2" target="EcalChi22ID/EcalChi22ID" />
+ <edge source="GaudiSequencer/CaloChi2" target="ClusChi22ID/ClusChi22ID" />
+ <edge source="GaudiSequencer/CaloChi2" target="BremChi22ID/BremChi22ID" />
+ <edge source="GaudiSequencer/RichOfflineTracksSeq" target="Rich::Rec::Initialise/CreateOfflineTracks" />
+ <edge source="GaudiSequencer/LumiSeq" target="HltRoutingBitsFilter/PhysFilter" />
+ <edge source="GaudiSequencer/LumiSeq" target="GaudiSequencer/LumiCounters" />
+ <edge source="GaudiSequencer/LumiSeq" target="HltRoutingBitsFilter/LumiFilter" />
+ <edge source="GaudiSequencer/TrackForwardPatSeq" target="PatForward/PatForward" />
+ <edge source="GaudiSequencer/RichOfflinePIDSeq" target="Rich::Rec::HierarchicalPIDMerge/MergeOfflineRichPIDs" />
+ <edge source="GaudiSequencer/RichOfflinePIDSeq" target="GaudiSequencer/RichOfflineGPIDSeq" />
+ <edge source="GaudiSequencer/NeutralProtoParticles" target="NeutralProtoPAlg/NeutralProtoPMaker" />
+ <edge source="GaudiSequencer/RichMirrAlignMoni" target="Rich::Rec::MC::AlignmentMonitor/RichAlignMoniR2Gas" />
+ <edge source="GaudiSequencer/RichMirrAlignMoni" target="Rich::Rec::MC::AlignmentMonitor/RichAlignMoniR1Gas" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="ProcessPhase/Moni" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="GaudiSequencer/CaloBanksHandler" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="GaudiSequencer/DecodeTriggerSeq" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="ProcessPhase/Reco" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="HltRoutingBitsFilter/PhysFilter" />
+ <edge source="GaudiSequencer/PhysicsSeq" target="GaudiSequencer/HltFilterSeq" />
+ <edge source="GaudiSequencer/OutputDSTSeq" target="TrackToDST/FilterMuonTrackStates" />
+ <edge source="GaudiSequencer/OutputDSTSeq" target="GaudiSequencer/PackDST" />
+ <edge source="GaudiSequencer/OutputDSTSeq" target="TrackToDST/FilterBestTrackStates" />
+ <edge source="GaudiSequencer/OutputDSTSeq" target="GaudiSequencer/RawEventSplitSeq" />
+ <edge source="GaudiSequencer/RecoVELOSeq" target="FastVeloTracking/FastVeloTracking" />
+ <edge source="GaudiSequencer/PrsDigitsSeq" target="RawBankReadoutStatusConverter/PrsProcStatus" />
+ <edge source="GaudiSequencer/PrsDigitsSeq" target="CaloDigitsFromRaw/PrsFromRaw" />
+ <edge source="GaudiSequencer/HltFilterSeq" target="HltDecReportsDecoder/HltDecReportsDecoder" />
+ <edge source="GaudiSequencer/HltFilterSeq" target="HltRoutingBitsFilter/PhysFilter" />
+ <edge source="GaudiSequencer/HltFilterSeq" target="LoKi::HDRFilter/HltErrorFilter" />
+ <edge source="GaudiSequencer/TrackDownstreamPatSeq" target="PatDownstream/PatDownstream" />
+ <edge source="GaudiSequencer/RecoCALOSeq" target="GaudiSequencer/CaloProcessorCaloSeq" />
+ <edge source="GaudiSequencer/PhotonReco" target="GaudiSequencer/CaloTrackMatch" />
+ <edge source="GaudiSequencer/PhotonReco" target="CaloSinglePhotonAlg/SinglePhotonRec" />
+ <edge source="ProcessPhase/Output" target="GaudiSequencer/OutputDSTSeq" />
+ <edge source="GaudiSequencer/RecoTrSeq" target="ProcessPhase/Track" />
+ <edge source="GaudiSequencer/RichPIDMoni" target="Rich::Rec::MC::PIDQC/RiPIDMonLong2To100" />
+ <edge source="GaudiSequencer/RichPIDMoni" target="Rich::Rec::MC::PIDQC/RiPIDMonLong2To10" />
+ <edge source="GaudiSequencer/RichPIDMoni" target="Rich::Rec::MC::PIDQC/RiPIDMonLong10To70" />
+ <edge source="GaudiSequencer/RichPIDMoni" target="Rich::Rec::MC::PIDQC/RiPIDMonLong70To100" />
+ <edge source="GaudiSequencer/RecoSUMMARYSeq" target="RecSummaryAlg/RecSummary" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackDiMuonMonitor/TrackDiMuonMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackCaloMatchMonitor/TrackEcalMatchMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackITOverlapMonitor/TrackITOverlapMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackVertexMonitor/TrackVertexMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackFitMatchMonitor/TrackFitMatchMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="ITTrackMonitor/ITTrackMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackMonitor/TrackMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackPV2HalfAlignMonitor/TrackPV2HalfAlignMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackV0Monitor/TrackV0Monitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackMuonMatchMonitor/TrackMuonMatchMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TTTrackMonitor/TTTrackMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackCaloMatchMonitor/TrackSpdMatchMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="AlignmentOnlineMonitor/AlignmentOnlineMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackVeloOverlapMonitor/TrackVeloOverlapMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackAlignMonitor/TrackAlignMonitor" />
+ <edge source="GaudiSequencer/MoniTrSeq" target="TrackCaloMatchMonitor/TrackPrsMatchMonitor" />
+ <edge source="GaudiSequencer/TrackAddExtraInfoSeq" target="TrackAddNNGhostId/TrackAddNNGhostId" />
+ <edge source="GaudiSequencer/TrackAddExtraInfoSeq" target="TrackAddLikelihood/TrackAddLikelihood" />
+ <edge source="GaudiSequencer/TrackAddExtraInfoSeq" target="GaudiSequencer/TrackClonesSeq" />
+ <edge source="GaudiSequencer/MoniPROTOSeq" target="ChargedProtoParticleMoni/ChargedProtoPMoni" />
+ <edge source="GaudiSequencer/MoniPROTOSeq" target="ANNGlobalPID::ChargedProtoANNPIDMoni/ChargedProtoANNPIDMoni" />
+ <edge source="GaudiSequencer/CaloClustersMoni" target="CaloClusterMonitor/EcalClusterMon" />
+ <edge source="GaudiSequencer/CaloEFlowMoni" target="CaloEFlowAlg/EcalEFlowMon" />
+ <edge source="GaudiSequencer/CaloTrackMatch" target="InEcalAcceptanceAlg/InECAL" />
+ <edge source="GaudiSequencer/CaloTrackMatch" target="PhotonMatchAlg/ClusterMatch" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddHcalInfo/ChargedProtoPAddHcal" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleMaker/ChargedProtoPMaker" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddBremInfo/ChargedProtoPAddBrem" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddMuonInfo/ChargedProtoPAddMuon" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddRichInfo/ChargedProtoPAddRich" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoCombineDLLsAlg/ChargedProtoPCombDLLs" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddPrsInfo/ChargedProtoPAddPrs" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="GaudiSequencer/ANNGPIDSeq" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddSpdInfo/ChargedProtoPAddSpd" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddVeloInfo/ChargedProtoPAddVeloDEDX" />
+ <edge source="GaudiSequencer/ChargedProtoParticles" target="ChargedProtoParticleAddEcalInfo/ChargedProtoPAddEcal" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichTrackMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichRawMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichRecoMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichHPDIonFeedback" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichMirrAlignMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichPIDMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichENNTracklessRingsMoni" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichRecoMoniTight" />
+ <edge source="GaudiSequencer/MoniRICHSeq" target="GaudiSequencer/RichPixelMoni" />
+ <edge source="GaudiSequencer/RichOfflineGPIDInitSeq" target="Rich::Rec::GlobalPID::Initialize/RichOfflineGPIDInit" />
+ <edge source="GaudiSequencer/RichOfflineGPIDInitSeq" target="Rich::Rec::GlobalPID::DigitSel/RichOfflineGPIDDigSel" />
+ <edge source="GaudiSequencer/RichOfflineGPIDInitSeq" target="Rich::Rec::GlobalPID::TrackSel/RichOfflineGPIDTrSel" />
+ <edge source="GaudiSequencer/CaloPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/NeutralPIDsCaloPIDsForCaloProcessor" />
+ <edge source="GaudiSequencer/CaloPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" />
+ <edge source="GaudiSequencer/CaloBanksHandler" target="GaudiSequencer/CaloDigits" />
+ <edge source="GaudiSequencer/RecoPROTOSeq" target="GaudiSequencer/NeutralProtoParticles" />
+ <edge source="GaudiSequencer/RecoPROTOSeq" target="GaudiSequencer/ChargedProtoParticles" />
+ <edge source="GaudiSequencer/RichRawDataSizeL0Seq" target="LoKi::L0Filter/RichL0Filter" />
+ <edge source="GaudiSequencer/RichRawDataSizeL0Seq" target="Rich::DAQ::RawDataSize/RichRawDataSizeL0" />
+ <edge source="GaudiSequencer/RichRawDataSizeL0Seq" target="LoKi::HDRFilter/RichHlt1Filter" />
+ <edge source="GaudiSequencer/RecoMUONSeq" target="GaudiSequencer/MuonIDSeq" />
+ <edge source="GaudiSequencer/RecoMUONSeq" target="MuonRec" />
+ <edge source="GaudiSequencer/RecoMUONSeq" target="RawBankReadoutStatusFilter/MuonROFilter" />
+ <edge source="GaudiSequencer/RecoMUONSeq" target="RawBankReadoutStatusConverter/MuonProcStatus" />
+ <edge source="GaudiSequencer/RichOfflineGPIDLLSeq" target="Rich::Rec::GlobalPID::Likelihood/RichOfflineGPIDLLIt0" />
+ <edge source="GaudiSequencer/RichOfflineGPIDLLSeq" target="Rich::Rec::GlobalPID::Likelihood/RichOfflineGPIDLLIt1" />
+ <edge source="GaudiSequencer/RichOfflineGPIDLLSeq" target="Rich::Rec::PixelBackgroundAlg/RichOfflineBckEstIt1" />
+ <edge source="GaudiSequencer/RichOfflineGPIDLLSeq" target="Rich::Rec::PixelBackgroundAlg/RichOfflineBckEstIt0" />
+ <edge source="GaudiSequencer/LumiCounters" target="GaudiSequencer/LumiBeam2Seq" />
+ <edge source="GaudiSequencer/LumiCounters" target="GaudiSequencer/LumiBeam1Seq" />
+ <edge source="GaudiSequencer/LumiCounters" target="GaudiSequencer/TimeSpanSeq" />
+ <edge source="GaudiSequencer/LumiCounters" target="GaudiSequencer/LumiBeamCrossingSeq" />
+ <edge source="GaudiSequencer/LumiCounters" target="GaudiSequencer/LumiNoBeamSeq" />
+ <edge source="GaudiSequencer/LumiCounters" target="EventAccounting/EventAccount" />
+ <edge source="GaudiSequencer/InCaloAcceptance" target="InPrsAcceptanceAlg/InPRS" />
+ <edge source="GaudiSequencer/InCaloAcceptance" target="InEcalAcceptanceAlg/InECAL" />
+ <edge source="GaudiSequencer/InCaloAcceptance" target="InSpdAcceptanceAlg/InSPD" />
+ <edge source="GaudiSequencer/InCaloAcceptance" target="InHcalAcceptanceAlg/InHCAL" />
+ <edge source="GaudiSequencer/InCaloAcceptance" target="InBremAcceptanceAlg/InBREM" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResForward" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResSeed" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResLong" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResVeloTT" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResKsTrack" />
+ <edge source="GaudiSequencer/RichRecoMoni" target="Rich::Rec::MC::RecoQC/RiCKResMatch" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/DiPhotonMoni" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/CaloDigitsMoni" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="CaloProtoElectronMonitor/ProtoElectronMon" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/CaloEFlowMoni" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/CaloPIDsMoni" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/CaloClustersMoni" />
+ <edge source="GaudiSequencer/MoniCALOSeq" target="GaudiSequencer/CaloHyposMoni" />
+ <edge source="GaudiSequencer/NeutralPIDsCaloPIDsForCaloProcessor" target="CaloPhotonIdAlg/MergedID" />
+ <edge source="GaudiSequencer/NeutralPIDsCaloPIDsForCaloProcessor" target="CaloPhotonIdAlg/PhotonFromMergedID" />
+ <edge source="GaudiSequencer/NeutralPIDsCaloPIDsForCaloProcessor" target="CaloPhotonIdAlg/PhotonID" />
+ <edge source="GaudiSequencer/TrackVeloTTPatSeq" target="PatVeloTT/PatVeloTT" />
+ <edge source="GaudiSequencer/TimeSpanSeq" target="TimeAccounting/TimeSpanAccounting" />
+ <edge source="GaudiSequencer/TimeSpanSeq" target="LoKi::ODINFilter/TimeSpanFilter" />
+ <edge source="GaudiSequencer/MoniMUONSeq" target="TrackEventFitter/MuonTrackFitter" />
+ <edge source="GaudiSequencer/MoniMUONSeq" target="MuonPIDChecker/MuonPIDMonitorLong" />
+ <edge source="GaudiSequencer/MoniMUONSeq" target="MuonTrackAligMonitor/MuonTrackAligMonitor" />
+ <edge source="ProcessPhase/Init" target="GaudiSequencer/InitBrunelSeq" />
+ <edge source="GaudiSequencer/TrackSeedPatSeq" target="PatSeeding/PatSeeding" />
+ <edge source="GaudiSequencer/PackDST" target="PackTrack/PackTracks" />
+ <edge source="GaudiSequencer/PackDST" target="PackTrack/PackMuonTracks" />
+ <edge source="GaudiSequencer/PackDST" target="DataPacking::Pack&lt;LHCb::MuonPIDPacker&gt;/PackMuonPIDs" />
+ <edge source="GaudiSequencer/PackDST" target="DataPacking::Pack&lt;LHCb::RichPIDPacker&gt;/PackRichPIDs" />
+ <edge source="GaudiSequencer/PackDST" target="ChargedProtoParticleRemovePIDInfo/ProtoParticlePIDClean" />
+ <edge source="GaudiSequencer/PackDST" target="PackProtoParticle/PackNeutralProtos" />
+ <edge source="GaudiSequencer/PackDST" target="PackTwoProngVertex/PackTwoProngVertex" />
+ <edge source="GaudiSequencer/PackDST" target="GaudiSequencer/CaloPacking" />
+ <edge source="GaudiSequencer/PackDST" target="PackRecVertex/PackRecVertex" />
+ <edge source="GaudiSequencer/PackDST" target="PackProtoParticle/PackChargedProtos" />
+ <edge source="GaudiSequencer/RichHPDIonFeedback" target="Rich::Mon::HPDIonFeedbackMoni/RichHPDIFBMoni" />
+ <edge source="GaudiSequencer/RichOfflinePhotonsSeq" target="Rich::Rec::Initialise/CreateOfflinePhotons" />
+ <edge source="GaudiSequencer/RichRecInitOfflineSeq" target="GaudiSequencer/RichOfflinePixelsSeq" />
+ <edge source="GaudiSequencer/RichRecInitOfflineSeq" target="GaudiSequencer/RichOfflineTracksSeq" />
+ <edge source="GaudiSequencer/RichRecInitOfflineSeq" target="Rich::Rec::Initialise/CheckProcOfflineStatus" />
+ <edge source="GaudiSequencer/RichRecInitOfflineSeq" target="GaudiSequencer/RichOfflinePhotonsSeq" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiLongTrkEff" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiVeloTTTrkEff" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiMatchTrkEff" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiSeedTrkEff" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiForwardTrkEff" />
+ <edge source="GaudiSequencer/RichTrackMoni" target="Rich::Rec::MC::TrackSelEff/RiKsTrackTrkEff" />
+ <edge source="GaudiSequencer/LumiBeam1Seq" target="FilterFillingScheme/FillingBeam1" />
+ <edge source="GaudiSequencer/LumiBeam1Seq" target="FilterOnLumiSummary/LumiFilterBeam1" />
+ <edge source="GaudiSequencer/LumiBeam1Seq" target="LumiAccounting/LumiCountBeam1" />
+ <edge source="GaudiSequencer/LumiBeam1Seq" target="LoKi::ODINFilter/FilterBeam1" />
+ <edge source="GaudiSequencer/LumiBeam1Seq" target="HltLumiSummaryDecoder/LumiDecodeBeam1" />
+ <edge source="GaudiSequencer/RecoRICHSeq" target="GaudiSequencer/RichRecInitOfflineSeq" />
+ <edge source="GaudiSequencer/RecoRICHSeq" target="GaudiSequencer/RichOfflinePIDSeq" />
+ <edge source="GaudiSequencer/RecoRICHSeq" target="GaudiSequencer/RichOfflineENNRingFinderSeq" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::TracklessRingIsolationAlg/OfflineIsolatedENNRings" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::ENNRingFinder::Rich2GasRightPanel/OfflineENNFinderR2GasRight" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::ENNRingFinder::Rich1GasTopPanel/OfflineENNFinderR1GasTop" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::TracklessRingFilterAlg/OfflineBestENNRings" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::ENNRingFinder::Rich2GasLeftPanel/OfflineENNFinderR2GasLeft" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::ENNRingFinder::Rich1GasBottomPanel/OfflineENNFinderR1GasBottom" />
+ <edge source="GaudiSequencer/RichOfflineENNRingFinderSeq" target="Rich::Rec::TracklessRingSegmentAssociationAlg/OfflineENNRingsSegAssoc" />
+ <edge source="GaudiSequencer/HcalDigitsSeq" target="CaloZSupAlg/HcalZSup" />
+ <edge source="GaudiSequencer/HcalDigitsSeq" target="RawBankReadoutStatusConverter/HcalProcStatus" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloClusterMatchMonitor/PhotonMatchMon" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloEMuPIDMon/CaloEMuPIDMonUncut" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloHypoMatchMonitor/BremMatchMon" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloHypoMatchMonitor/ElectronMatchMon" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloEMuPIDMon/CaloEMuPIDMonSoft" />
+ <edge source="GaudiSequencer/CaloPIDsMoni" target="CaloEMuPIDMon/CaloEMuPIDMonHard" />
+ <edge source="GaudiSequencer/InitBrunelSeq" target="RecInit/BrunelInit" />
+ <edge source="GaudiSequencer/InitBrunelSeq" target="EventCountHisto/BrunelEventCount" />
+ <edge source="GaudiSequencer/DiPhotonMoni" target="CaloPi0Monitor/EtaMon" />
+ <edge source="GaudiSequencer/DiPhotonMoni" target="CaloPi0Monitor/ResolvedPi0Mon" />
+ <edge source="GaudiSequencer/RecoVertexSeq" target="TrackV0Finder/TrackV0Finder" />
+ <edge source="GaudiSequencer/RecoVertexSeq" target="PatPVOffline/PatPVOffline" />
+ <edge source="GaudiSequencer/LumiNoBeamSeq" target="FilterOnLumiSummary/LumiFilterNoBeam" />
+ <edge source="GaudiSequencer/LumiNoBeamSeq" target="HltLumiSummaryDecoder/LumiDecodeNoBeam" />
+ <edge source="GaudiSequencer/LumiNoBeamSeq" target="LumiAccounting/LumiCountNoBeam" />
+ <edge source="GaudiSequencer/LumiNoBeamSeq" target="LoKi::ODINFilter/FilterNoBeam" />
+ <edge source="GaudiSequencer/TrackMatchPatSeq" target="PatMatch/PatMatch" />
+ <edge source="GaudiSequencer/RichOfflineGPIDSeq" target="Rich::Rec::GlobalPID::Finalize/RichOfflineGPIDFin" />
+ <edge source="GaudiSequencer/RichOfflineGPIDSeq" target="GaudiSequencer/RichOfflineGPIDInitSeq" />
+ <edge source="GaudiSequencer/RichOfflineGPIDSeq" target="GaudiSequencer/RichOfflineGPIDLLSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackDownstreamPatSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackAddExtraInfoSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackForwardPatSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackEraseExtraInformationSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackMatchPatSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackSeedPatSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackVeloTTPatSeq" />
+ <edge source="ProcessPhase/Track" target="GaudiSequencer/TrackFitSeq" />
+ <edge source="GaudiSequencer/CaloDigits" target="GaudiSequencer/PrsDigitsSeq" />
+ <edge source="GaudiSequencer/CaloDigits" target="GaudiSequencer/EcalDigitsSeq" />
+ <edge source="GaudiSequencer/CaloDigits" target="GaudiSequencer/HcalDigitsSeq" />
+ <edge source="GaudiSequencer/CaloDigits" target="CaloDigitsFromRaw/SpdFromRaw" />
+ <edge source="GaudiSequencer/TrackEraseExtraInformationSeq" target="TrackEraseExtraInfo/TrackEraseExtraInfo" />
+ <edge source="GaudiSequencer/LumiBeamCrossingSeq" target="LoKi::ODINFilter/FilterBeamCrossing" />
+ <edge source="GaudiSequencer/LumiBeamCrossingSeq" target="LumiAccounting/LumiCountBeamCrossing" />
+ <edge source="GaudiSequencer/LumiBeamCrossingSeq" target="HltLumiSummaryDecoder/LumiDecodeBeamCrossing" />
+ <edge source="GaudiSequencer/LumiBeamCrossingSeq" target="FilterOnLumiSummary/LumiFilterBeamCrossing" />
+ <edge source="GaudiSequencer/DecodeTriggerSeq" target="HltDecReportsDecoder/HltDecReportsDecoder" />
+ <edge source="GaudiSequencer/DecodeTriggerSeq" target="GaudiSequencer/L0TriggerSeq" />
+ <edge source="GaudiSequencer/ClusterReco" target="CaloSharedCellAlg/EcalShare" />
+ <edge source="GaudiSequencer/ClusterReco" target="CaloDigitFilterAlg/CaloDigitFilter" />
+ <edge source="GaudiSequencer/ClusterReco" target="CaloClusterCovarianceAlg/EcalCovar" />
+ <edge source="GaudiSequencer/ClusterReco" target="GaudiSequencer/CaloDigits" />
+ <edge source="GaudiSequencer/ClusterReco" target="CellularAutomatonAlg/EcalClust" />
+ <edge source="GaudiSequencer/TrackFitSeq" target="TrackBestTrackCreator/TrackBestTrackCreator" />
+ <edge source="GaudiSequencer/RichOfflinePixelsSeq" target="Rich::DAQ::RawBufferToRichDigitsAlg/DecodeRawRichOffline" />
+ <edge source="GaudiSequencer/RichOfflinePixelsSeq" target="Rich::Rec::Initialise/CreateOfflinePixels" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/CaloMatch" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/CaloDLLmu" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/CaloDLLe" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/CaloEnergy" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/InCaloAcceptance" />
+ <edge source="GaudiSequencer/ChargedPIDsCaloPIDsForCaloProcessor" target="GaudiSequencer/CaloChi2" />
+ <edge source="GaudiSequencer/MoniVELOSeq" target="Velo::VeloClusterMonitor/VeloClusterMonitor" />
+ <edge source="GaudiSequencer/MoniVELOSeq" target="Velo::VeloIPResolutionMonitor/VeloIPResolutionMonitor" />
+ <edge source="GaudiSequencer/MoniVELOSeq" target="Velo::VeloTrackMonitor/VeloTrackMonitor" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniSTSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniPROTOSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniCALOSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniTrSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniOTSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniRICHSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniMUONSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniHltSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniVELOSeq" />
+ <edge source="ProcessPhase/Moni" target="GaudiSequencer/MoniGENERALSeq" />
+ <edge source="GaudiSequencer/CaloDigitsMoni" target="CaloDigitMonitor/HcalDigitMon" />
+ <edge source="GaudiSequencer/CaloDigitsMoni" target="CaloDigitMonitor/SpdDigitMon" />
+ <edge source="GaudiSequencer/CaloDigitsMoni" target="SpdMonitor/SpdMon" />
+ <edge source="GaudiSequencer/CaloDigitsMoni" target="CaloDigitMonitor/EcalDigitMon" />
+ <edge source="GaudiSequencer/CaloDigitsMoni" target="CaloDigitMonitor/PrsDigitMon" />
+ <edge source="GaudiSequencer/RichPixelMoni" target="Rich::Rec::MC::PixelQC/RichRecPixelQC" />
+ <edge source="GaudiSequencer/RichPixelMoni" target="Rich::Rec::PixelClusterMoni/RichRecPixelClusters" />
+ <edge source="GaudiSequencer/CaloDLLe" target="EcalPIDeAlg/EcalPIDe" />
+ <edge source="GaudiSequencer/CaloDLLe" target="HcalPIDeAlg/HcalPIDe" />
+ <edge source="GaudiSequencer/CaloDLLe" target="PrsPIDeAlg/PrsPIDe" />
+ <edge source="GaudiSequencer/CaloDLLe" target="BremPIDeAlg/BremPIDe" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="HltCompositionMonitor/HltCompositionMonitor" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="HltRateMonitor/HltRateMonitorMB" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="EventTimeMonitor/EventTimeMonitor" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="HltRateMonitor/HltRateMonitor" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="HltDecReportsDecoder/HltDecReportsDecoder" />
+ <edge source="GaudiSequencer/MoniHltSeq" target="MuMonitor/MuMonitor" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamGhost" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamElectron" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamKaon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamProton" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongPion" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamElectron" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamMuon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongProton" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamPion" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongMuon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongElectron" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongGhost" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamMuon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamPion" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDLongKaon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamKaon" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDDownstreamProton" />
+ <edge source="GaudiSequencer/ANNGPIDSeq" target="ANNGlobalPID::ChargedProtoANNPIDAlg/ANNGPIDUpstreamGhost" />
+ <edge source="GaudiSequencer/RichRawMoni" target="Rich::DAQ::RawDataSize/RichRawDataSize" />
+ <edge source="GaudiSequencer/RichRawMoni" target="Rich::DAQ::DataDBCheck/RichRawDataDBCheck" />
+ <edge source="GaudiSequencer/RichRawMoni" target="Rich::DAQ::DataDecodingErrorMoni/RichDecodingErrors" />
+ <edge source="GaudiSequencer/RichRawMoni" target="GaudiSequencer/RichRawDataSizeL0Seq" />
+ <edge source="GaudiSequencer/RichRawMoni" target="Rich::HPDAnalysisAlg/RichHotPixels" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/VertexEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/TrackEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/MuonEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/ProtoEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/OverallEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/RichEventProcTime" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="ProcStatAbortMoni/ProcStatAbortMoni" />
+ <edge source="GaudiSequencer/MoniGENERALSeq" target="RecProcessingTimeMoni/CaloEventProcTime" />
+ <edge source="GaudiSequencer/ElectronReco" target="GaudiSequencer/CaloTrackMatch" />
+ <edge source="GaudiSequencer/ElectronReco" target="CaloElectronAlg/SingleElectronRec" />
+ <edge source="GaudiSequencer/CaloMatch" target="BremMatchAlg/BremMatch" />
+ <edge source="GaudiSequencer/CaloMatch" target="ElectronMatchAlg/ElectronMatch" />
+ <edge source="GaudiSequencer/CaloMatch" target="GaudiSequencer/CaloTrackMatch" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="GaudiSequencer/NotPhysicsSeq" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="ProcessPhase/Output" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="GaudiSequencer/HltErrorSeq" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="GaudiSequencer/LumiSeq" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="GaudiSequencer/PhysicsSeq" />
+ <edge source="GaudiSequencer/BrunelSequencer" target="ProcessPhase/Init" />
+ <edge source="GaudiSequencer/MergedPi0Reco" target="CaloMergedPi0Alg/MergedPi0Rec" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResLongTight" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResMatchTight" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResForwardTight" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResVeloTTTight" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResSeedTight" />
+ <edge source="GaudiSequencer/RichRecoMoniTight" target="Rich::Rec::MC::RecoQC/RiCKResKsTrackTight" />
+ <edge source="GaudiSequencer/MoniOTSeq" target="OTTimeMonitor/OTTimeMonitor" />
+ <edge source="GaudiSequencer/MoniOTSeq" target="OTHitEfficiencyMonitor/OTHitEfficiencyMonitor" />
+ <edge source="GaudiSequencer/MoniOTSeq" target="OTTrackMonitor/OTTrackMonitor" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoTrSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoCALOSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoRICHSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoPROTOSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoITSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoVertexSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoTTSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoVELOSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoOTSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoSUMMARYSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoMUONSeq" />
+ <edge source="ProcessPhase/Reco" target="GaudiSequencer/RecoDecodingSeq" />
+ <edge source="GaudiSequencer/HltErrorSeq" target="AddToProcStatus/HltErrorProc" />
+ <edge source="GaudiSequencer/HltErrorSeq" target="GaudiSequencer/HltFilterSeq" />
+ <edge source="GaudiSequencer/TrackClonesSeq" target="TrackBuildCloneTable/FindTrackClones" />
+ <edge source="GaudiSequencer/TrackClonesSeq" target="TrackCloneCleaner/FlagTrackClones" />
+ <edge source="GaudiSequencer/LumiBeam2Seq" target="FilterOnLumiSummary/LumiFilterBeam2" />
+ <edge source="GaudiSequencer/LumiBeam2Seq" target="FilterFillingScheme/FillingBeam2" />
+ <edge source="GaudiSequencer/LumiBeam2Seq" target="LumiAccounting/LumiCountBeam2" />
+ <edge source="GaudiSequencer/LumiBeam2Seq" target="HltLumiSummaryDecoder/LumiDecodeBeam2" />
+ <edge source="GaudiSequencer/LumiBeam2Seq" target="LoKi::ODINFilter/FilterBeam2" />
+ <edge source="GaudiSequencer/CaloRecoForCaloProcessor" target="GaudiSequencer/MergedPi0Reco" />
+ <edge source="GaudiSequencer/CaloRecoForCaloProcessor" target="GaudiSequencer/ElectronReco" />
+ <edge source="GaudiSequencer/CaloRecoForCaloProcessor" target="GaudiSequencer/PhotonReco" />
+ <edge source="GaudiSequencer/CaloRecoForCaloProcessor" target="GaudiSequencer/CaloDigits" />
+ <edge source="GaudiSequencer/CaloRecoForCaloProcessor" target="GaudiSequencer/ClusterReco" />
+ <edge source="GaudiSequencer/CaloHyposMoni" target="CaloHypoMonitor/SplitPhotonMon" />
+ <edge source="GaudiSequencer/CaloHyposMoni" target="CaloHypoMonitor/MergedPi0Mon" />
+ <edge source="GaudiSequencer/CaloHyposMoni" target="CaloHypoMonitor/PhotonMon" />
+ <edge source="GaudiSequencer/CaloHyposMoni" target="CaloHypoMonitor/ElectronMon" />
+ <edge source="GaudiSequencer/L0TriggerSeq" target="L0DUFromRawAlg/L0DUFromRaw" />
+ <edge source="GaudiSequencer/CaloEnergy" target="Track2EcalEAlg/EcalE" />
+ <edge source="GaudiSequencer/CaloEnergy" target="Track2HcalEAlg/HcalE" />
+ <edge source="GaudiSequencer/CaloEnergy" target="Track2SpdEAlg/SpdE" />
+ <edge source="GaudiSequencer/CaloEnergy" target="Track2PrsEAlg/PrsE" />
+ <edge source="GaudiSequencer/MuonIDSeq" target="MuonIDAlg/MuonIDAlg" />
+ <edge source="GaudiSequencer/EcalDigitsSeq" target="CaloZSupAlg/EcalZSup" />
+ <edge source="GaudiSequencer/EcalDigitsSeq" target="RawBankReadoutStatusConverter/EcalProcStatus" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="RawEventMapCombiner/create_Trigger_RawEvent" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="RawEventMapCombiner/create_Calo_RawEvent" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="RawEventMapCombiner/create_Other_RawEvent" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="EventNodeKiller/KillRawEventNodes" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="RawEventMapCombiner/create_Rich_RawEvent" />
+ <edge source="GaudiSequencer/RawEventSplitSeq" target="RawEventMapCombiner/create_Muon_RawEvent" />
+ <edge source="GaudiSequencer/MoniSTSeq" target="ST::STClusterMonitor/TTClusterMonitor" />
+ <edge source="GaudiSequencer/MoniSTSeq" target="ST::STClusterMonitor/ITClusterMonitor" />
+ <edge source="GaudiSequencer/NotPhysicsSeq" target="HltRoutingBitsFilter/PhysFilter" />
+ <edge source="GaudiSequencer/CaloPacking" target="PackCaloHypo/PackMergedPi0s" />
+ <edge source="GaudiSequencer/CaloPacking" target="PackCaloHypo/PackPhotons" />
+ <edge source="GaudiSequencer/CaloPacking" target="PackCaloHypo/PackElectrons" />
+ <edge source="GaudiSequencer/CaloPacking" target="PackCaloHypo/PackSplitPhotons" />
+ <edge source="GaudiSequencer/RichENNTracklessRingsMoni" target="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniAll" />
+ <edge source="GaudiSequencer/RichENNTracklessRingsMoni" target="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniIsolated" />
+ <edge source="GaudiSequencer/RichENNTracklessRingsMoni" target="Rich::Rec::MC::TracklessRingMoni/ENNRingMoniBest" />
+ </graph>
+</graphml>
diff --git a/GaudiHive/python/GaudiHive/precedence/data_dependencies.graphml b/GaudiHive/python/GaudiHive/precedence/data_dependencies.graphml
new file mode 100644
index 0000000..30d1978
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/data_dependencies.graphml
@@ -0,0 +1,2070 @@
+<?xml version="1.0" encoding="utf-8"?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
+ <key attr.name="name" attr.type="string" for="edge" id="d1" />
+ <key attr.name="type" attr.type="string" for="edge" id="d0" />
+ <graph edgedefault="directed">
+ <node id="MuonROFilter" />
+ <node id="PatForward" />
+ <node id="RichHlt1Filter" />
+ <node id="PatMatch" />
+ <node id="TTTrackMonitor" />
+ <node id="ChargedProtoPAddVeloDEDX" />
+ <node id="ITTrackMonitor" />
+ <node id="RiMatchTrkEff" />
+ <node id="L0DUFromRaw" />
+ <node id="CaloEMuPIDMonHard" />
+ <node id="DstWriter" />
+ <node id="EcalZSup" />
+ <node id="RiSeedTrkEff" />
+ <node id="createITLiteClusters" />
+ <node id="TrackAddNNGhostId" />
+ <node id="AlignmentOnlineMonitor" />
+ <node id="PackChargedProtos" />
+ <node id="EcalPIDe" />
+ <node id="FilterNoBeam" />
+ <node id="MuonTrackFitter" />
+ <node id="Framework" />
+ <node id="CreateOfflineTracks" />
+ <node id="PackMergedPi0s" />
+ <node id="createITClusters" />
+ <node id="BrunelInit" />
+ <node id="ChargedProtoPMaker" />
+ <node id="create_Other_RawEvent" />
+ <node id="TrackAddLikelihood" />
+ <node id="ChargedProtoPAddHcal" />
+ <node id="PhotonMon" />
+ <node id="CaloEMuPIDMonUncut" />
+ <node id="create_Trigger_RawEvent" />
+ <node id="ANNGPIDLongGhost" />
+ <node id="ElectronMatch" />
+ <node id="TrackMonitor" />
+ <node id="PhotonMatchMon" />
+ <node id="RiCKResVeloTT" />
+ <node id="EventTimeMonitor" />
+ <node id="ChargedProtoPMoni" />
+ <node id="SpdFromRaw" />
+ <node id="createTTLiteClusters" />
+ <node id="RiPIDMonLong2To100" />
+ <node id="TrackPrsMatchMonitor" />
+ <node id="TrackEraseExtraInfo" />
+ <node id="TrackVeloOverlapMonitor" />
+ <node id="PrsDigitMon" />
+ <node id="HltCompositionMonitor" />
+ <node id="ANNGPIDLongElectron" />
+ <node id="FilterBeam1" />
+ <node id="ANNGPIDDownstreamPion" />
+ <node id="TTClusterMonitor" />
+ <node id="ANNGPIDLongProton" />
+ <node id="TrackITOverlapMonitor" />
+ <node id="PackMuonPIDs" />
+ <node id="ProtoParticlePIDClean" />
+ <node id="create_Calo_RawEvent" />
+ <node id="MergedPi0Rec" />
+ <node id="RecSummary" />
+ <node id="RiCKResKsTrack" />
+ <node id="ANNGPIDUpstreamElectron" />
+ <node id="FilterBeam2" />
+ <node id="HcalPIDe" />
+ <node id="CheckProcOfflineStatus" />
+ <node id="MergedID" />
+ <node id="ChargedProtoANNPIDMoni" />
+ <node id="TimeSpanFilter" />
+ <node id="EcalDigitMon" />
+ <node id="FastVeloTracking" />
+ <node id="SpdMon" />
+ <node id="SingleElectronRec" />
+ <node id="HcalZSup" />
+ <node id="SinglePhotonRec" />
+ <node id="PackTwoProngVertex" />
+ <node id="ChargedProtoPAddRich" />
+ <node id="OfflineENNFinderR2GasRight" />
+ <node id="RiPIDMonLong10To70" />
+ <node id="MuMonitor" />
+ <node id="EcalClust" />
+ <node id="ANNGPIDDownstreamElectron" />
+ <node id="RiCKResForward" />
+ <node id="ANNGPIDUpstreamKaon" />
+ <node id="ENNRingMoniAll" />
+ <node id="PhysFilter" />
+ <node id="ANNGPIDUpstreamMuon" />
+ <node id="RichDecodingErrors" />
+ <node id="OTHitEfficiencyMonitor" />
+ <node id="EcalEFlowMon" />
+ <node id="SpdDigitMon" />
+ <node id="EcalProcStatus" />
+ <node id="ResolvedPi0Mon" />
+ <node id="HltRateMonitor" />
+ <node id="EcalShare" />
+ <node id="TrackVertexMonitor" />
+ <node id="InECAL" />
+ <node id="TrackPV2HalfAlignMonitor" />
+ <node id="HcalProcStatus" />
+ <node id="InBREM" />
+ <node id="PhotonFromMergedID" />
+ <node id="HcalPIDmu" />
+ <node id="RichOfflineGPIDFin" />
+ <node id="ChargedProtoPAddBrem" />
+ <node id="PackRichPIDs" />
+ <node id="MergeOfflineRichPIDs" />
+ <node id="OTTrackMonitor" />
+ <node id="PrsFromRaw" />
+ <node id="MuonProcStatus" />
+ <node id="RiCKResKsTrackTight" />
+ <node id="OfflineIsolatedENNRings" />
+ <node id="OfflineENNRingsSegAssoc" />
+ <node id="ElectronMon" />
+ <node id="BremChi22ID" />
+ <node id="HcalE" />
+ <node id="RiPIDMonLong70To100" />
+ <node id="TrackBestTrackCreator" />
+ <node id="ChargedProtoPAddPrs" />
+ <node id="OfflineENNFinderR2GasLeft" />
+ <node id="RichOfflineGPIDLLIt0" />
+ <node id="RichOfflineGPIDLLIt1" />
+ <node id="ElectronMatchMon" />
+ <node id="HltRateMonitorMB" />
+ <node id="RiCKResSeedTight" />
+ <node id="BremPIDe" />
+ <node id="ANNGPIDUpstreamProton" />
+ <node id="NeutralProtoPMaker" />
+ <node id="ANNGPIDUpstreamPion" />
+ <node id="HltErrorFilter" />
+ <node id="PackNeutralProtos" />
+ <node id="PhotonID" />
+ <node id="FilterMuonTrackStates" />
+ <node id="RichRawDataSize" />
+ <node id="OfflineENNFinderR1GasTop" />
+ <node id="PrsE" />
+ <node id="TrackFitMatchMonitor" />
+ <node id="PatSeeding" />
+ <node id="VeloIPResolutionMonitor" />
+ <node id="ClusterMatch" />
+ <node id="InHCAL" />
+ <node id="MuonIDAlg" />
+ <node id="ANNGPIDLongKaon" />
+ <node id="ENNRingMoniBest" />
+ <node id="PatPVOffline" />
+ <node id="MuonTrackAligMonitor" />
+ <node id="CreateOfflinePhotons" />
+ <node id="RiCKResForwardTight" />
+ <node id="RiCKResMatchTight" />
+ <node id="MuonRec" />
+ <node id="create_Rich_RawEvent" />
+ <node id="PrsPIDe" />
+ <node id="ANNGPIDDownstreamKaon" />
+ <node id="InSPD" />
+ <node id="PrsProcStatus" />
+ <node id="PackRecVertex" />
+ <node id="RiVeloTTTrkEff" />
+ <node id="RiKsTrackTrkEff" />
+ <node id="PatDownstream" />
+ <node id="BremMatchMon" />
+ <node id="EcalPIDmu" />
+ <node id="SplitPhotonMon" />
+ <node id="CaloEMuPIDMonSoft" />
+ <node id="EcalChi22ID" />
+ <node id="RichOfflineGPIDDigSel" />
+ <node id="MergedPi0Mon" />
+ <node id="SpdE" />
+ <node id="ENNRingMoniIsolated" />
+ <node id="RiCKResSeed" />
+ <node id="ANNGPIDLongMuon" />
+ <node id="ChargedProtoPAddSpd" />
+ <node id="ProcStatAbortMoni" />
+ <node id="TrackAlignMonitor" />
+ <node id="BremMatch" />
+ <node id="ANNGPIDDownstreamGhost" />
+ <node id="PackPhotons" />
+ <node id="ClusChi22ID" />
+ <node id="RiCKResVeloTTTight" />
+ <node id="RiCKResMatch" />
+ <node id="EcalCovar" />
+ <node id="FindTrackClones" />
+ <node id="TrackDiMuonMonitor" />
+ <node id="VeloClusterMonitor" />
+ <node id="ChargedProtoPAddEcal" />
+ <node id="ANNGPIDUpstreamGhost" />
+ <node id="ChargedProtoPCombDLLs" />
+ <node id="EtaMon" />
+ <node id="TrackV0Finder" />
+ <node id="TrackSpdMatchMonitor" />
+ <node id="TrackMuonMatchMonitor" />
+ <node id="VeloTrackMonitor" />
+ <node id="ProtoElectronMon" />
+ <node id="FilterBeamCrossing" />
+ <node id="PatVeloTT" />
+ <node id="RichOfflineGPIDTrSel" />
+ <node id="CaloDigitFilter" />
+ <node id="RiCKResLongTight" />
+ <node id="ANNGPIDLongPion" />
+ <node id="EcalClusterMon" />
+ <node id="OfflineENNFinderR1GasBottom" />
+ <node id="HltDecReportsDecoder" />
+ <node id="RichL0Filter" />
+ <node id="RiPIDMonLong2To10" />
+ <node id="ANNGPIDDownstreamMuon" />
+ <node id="EcalE" />
+ <node id="DecodeRawRichOffline" />
+ <node id="ChargedProtoPAddMuon" />
+ <node id="PackMuonTracks" />
+ <node id="PackElectrons" />
+ <node id="PackTracks" />
+ <node id="HcalDigitMon" />
+ <node id="OfflineBestENNRings" />
+ <node id="ITClusterMonitor" />
+ <node id="createBothVeloClusters" />
+ <node id="FlagTrackClones" />
+ <node id="MuonPIDMonitorLong" />
+ <node id="InPRS" />
+ <node id="CreateOfflinePixels" />
+ <node id="FilterBestTrackStates" />
+ <node id="TrackV0Monitor" />
+ <node id="RiLongTrkEff" />
+ <node id="RiCKResLong" />
+ <node id="createTTClusters" />
+ <node id="RiForwardTrkEff" />
+ <node id="TrackEcalMatchMonitor" />
+ <node id="create_Muon_RawEvent" />
+ <node id="ANNGPIDDownstreamProton" />
+ <node id="PackSplitPhotons" />
+ <edge source="PatForward" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Forward</data>
+ </edge>
+ <edge source="PatForward" target="PatVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Forward</data>
+ </edge>
+ <edge source="PatMatch" target="PatDownstream">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Match</data>
+ </edge>
+ <edge source="PatMatch" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Match</data>
+ </edge>
+ <edge source="PatMatch" target="PatVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Match</data>
+ </edge>
+ <edge source="L0DUFromRaw" target="RichL0Filter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Trig/L0/L0DUReport</data>
+ </edge>
+ <edge source="EcalZSup" target="EcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Ecal/Digits</data>
+ </edge>
+ <edge source="EcalZSup" target="EcalClust">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Ecal/Digits</data>
+ </edge>
+ <edge source="EcalZSup" target="EcalDigitMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Ecal/Digits</data>
+ </edge>
+ <edge source="EcalZSup" target="CaloDigitFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Ecal/Digits</data>
+ </edge>
+ <edge source="EcalZSup" target="EcalEFlowMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Ecal/Digits</data>
+ </edge>
+ <edge source="createITLiteClusters" target="PatForward">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/LiteClusters</data>
+ </edge>
+ <edge source="createITLiteClusters" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/LiteClusters</data>
+ </edge>
+ <edge source="PackChargedProtos" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/ProtoP/Charged</data>
+ </edge>
+ <edge source="EcalPIDe" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalPIDe</data>
+ </edge>
+ <edge source="Framework" target="PatForward">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="TrackDiMuonMonitor">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PatMatch">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="L0DUFromRaw">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="DstWriter">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EcalZSup">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="MuonIDAlg">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackChargedProtos">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EcalPIDe">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="FilterNoBeam">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="Framework">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="CreateOfflineTracks">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackMergedPi0s">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="createITClusters">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="BrunelInit">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="ChargedProtoPMaker">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="create_Other_RawEvent">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="create_Trigger_RawEvent">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="ElectronMatch">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EventTimeMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="SpdFromRaw">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="createTTLiteClusters">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="CreateOfflinePixels">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="FilterBeam2">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="FilterBeam1">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="TTClusterMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="PackMuonPIDs">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="create_Calo_RawEvent">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="MergedPi0Rec">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="RecSummary">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="BremPIDe">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="HcalPIDe">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="CheckProcOfflineStatus">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="MergedID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="RichOfflineGPIDTrSel">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="HcalZSup">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="SinglePhotonRec">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="MuMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="EcalClust">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PhysFilter">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="RichDecodingErrors">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="PackTracks">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="HltRateMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="TrackPV2HalfAlignMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="HcalE">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="InBREM">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PhotonFromMergedID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="HcalPIDmu">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PrsE">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackRichPIDs">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="MergeOfflineRichPIDs">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PrsFromRaw">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="OfflineIsolatedENNRings">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="BremChi22ID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="TrackBestTrackCreator">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="OfflineBestENNRings">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="TimeSpanFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="HltRateMonitorMB">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="TrackV0Finder">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="NeutralProtoPMaker">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="createTTClusters">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PackNeutralProtos">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PhotonID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="RichRawDataSize">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="OfflineENNFinderR1GasTop">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="ClusterMatch">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PatPVOffline">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="CreateOfflinePhotons">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="MuonRec">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="create_Rich_RawEvent">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PrsPIDe">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="InSPD">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackRecVertex">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PatDownstream">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EcalPIDmu">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EcalChi22ID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="InECAL">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="SpdE">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="BremMatch">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="createITLiteClusters">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PackPhotons">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="ClusChi22ID">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="FindTrackClones">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="FilterBeamCrossing">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="PatVeloTT">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="FastVeloTracking">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="HltDecReportsDecoder">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="SingleElectronRec">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="EcalE">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="DecodeRawRichOffline">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PatSeeding">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackMuonTracks">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="PackElectrons">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="ITClusterMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/DAQ/ODIN</data>
+ </edge>
+ <edge source="Framework" target="createBothVeloClusters">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PackTwoProngVertex">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="InPRS">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="InHCAL">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="Framework" target="create_Muon_RawEvent">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event/DAQ/RawEvent</data>
+ </edge>
+ <edge source="Framework" target="PackSplitPhotons">
+ <data key="d0">loads_for</data>
+ <data key="d1">/Event</data>
+ </edge>
+ <edge source="PackMergedPi0s" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Calo/MergedPi0s</data>
+ </edge>
+ <edge source="createITClusters" target="ITTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/Clusters</data>
+ </edge>
+ <edge source="createITClusters" target="TrackAddNNGhostId">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/Clusters</data>
+ </edge>
+ <edge source="createITClusters" target="ITClusterMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/Clusters</data>
+ </edge>
+ <edge source="createITClusters" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/Clusters</data>
+ </edge>
+ <edge source="createITClusters" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/IT/Clusters</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResSeed">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="EcalProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="ProcStatAbortMoni">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RichOfflineGPIDLLIt0">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RichOfflineGPIDLLIt1">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="CheckProcOfflineStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResVeloTTTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="CreateOfflinePixels">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResKsTrack">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RichOfflineGPIDTrSel">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResSeedTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="CreateOfflineTracks">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResLongTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResForward">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="CreateOfflinePhotons">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResForwardTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResMatchTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="PatSeeding">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="PrsProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="MergeOfflineRichPIDs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="MuonProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResKsTrackTight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RiCKResLong">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="RichOfflineGPIDDigSel">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="BrunelInit" target="HcalProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Status</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="CaloEMuPIDMonHard">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamKaon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamElectron">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamGhost">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddVeloDEDX">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddPrs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoANNPIDMoni">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamProton">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamGhost">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddSpd">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="PackChargedProtos">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ProtoElectronMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongMuon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamElectron">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongPion">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamKaon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddHcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="CaloEMuPIDMonUncut">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamMuon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamMuon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongGhost">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddMuon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPMoni">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongKaon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPCombDLLs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongElectron">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamPion">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ChargedProtoPAddRich">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="CaloEMuPIDMonSoft">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDUpstreamPion">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDLongProton">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ANNGPIDDownstreamProton">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="ChargedProtoPMaker" target="ProtoParticlePIDClean">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Charged</data>
+ </edge>
+ <edge source="create_Other_RawEvent" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Other/RawEvent</data>
+ </edge>
+ <edge source="create_Trigger_RawEvent" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Trigger/RawEvent</data>
+ </edge>
+ <edge source="ElectronMatch" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="EcalChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="MergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="PhotonFromMergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="ElectronMatch" target="ElectronMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ElectronMatch</data>
+ </edge>
+ <edge source="SpdFromRaw" target="MuonROFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="MergedPi0Rec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="SpdDigitMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="EcalProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="PrsFromRaw">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="MuonRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="HcalZSup">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="MuonProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="L0DUFromRaw">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="TrackSpdMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="HcalProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="SpdMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="EcalZSup">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="SpdFromRaw" target="SinglePhotonRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="SpdE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="CaloDigitFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Spd/Digits</data>
+ </edge>
+ <edge source="SpdFromRaw" target="PrsProcStatus">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Transient/DAQ/Status</data>
+ </edge>
+ <edge source="createTTLiteClusters" target="PatForward">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/LiteClusters</data>
+ </edge>
+ <edge source="createTTLiteClusters" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/LiteClusters</data>
+ </edge>
+ <edge source="PackMuonPIDs" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Muon/MuonPID</data>
+ </edge>
+ <edge source="create_Calo_RawEvent" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Calo/RawEvent</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="MergedPi0Mon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedPi0s</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="MergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedPi0s</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="SplitPhotonMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/SplitPhotons</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="PhotonMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalSplitClusters</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="PackMergedPi0s">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedPi0s</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="PhotonFromMergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/SplitPhotons</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/SplitPhotons</data>
+ </edge>
+ <edge source="MergedPi0Rec" target="PackSplitPhotons">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/SplitPhotons</data>
+ </edge>
+ <edge source="RecSummary" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Summary</data>
+ </edge>
+ <edge source="HcalPIDe" target="ChargedProtoPAddHcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/HcalPIDe</data>
+ </edge>
+ <edge source="MergedID" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedID</data>
+ </edge>
+ <edge source="MergedID" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedID</data>
+ </edge>
+ <edge source="MergedID" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/MergedID</data>
+ </edge>
+ <edge source="FastVeloTracking" target="MuMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Velo</data>
+ </edge>
+ <edge source="FastVeloTracking" target="PatMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Velo</data>
+ </edge>
+ <edge source="FastVeloTracking" target="PatForward">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Velo</data>
+ </edge>
+ <edge source="FastVeloTracking" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Velo</data>
+ </edge>
+ <edge source="FastVeloTracking" target="PatVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Velo</data>
+ </edge>
+ <edge source="SingleElectronRec" target="ElectronMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Electrons</data>
+ </edge>
+ <edge source="SingleElectronRec" target="PackElectrons">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Electrons</data>
+ </edge>
+ <edge source="SingleElectronRec" target="ElectronMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Electrons</data>
+ </edge>
+ <edge source="SingleElectronRec" target="ElectronMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Electrons</data>
+ </edge>
+ <edge source="HcalZSup" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Hcal/Digits</data>
+ </edge>
+ <edge source="HcalZSup" target="CaloDigitFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Hcal/Digits</data>
+ </edge>
+ <edge source="HcalZSup" target="HcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Hcal/Digits</data>
+ </edge>
+ <edge source="HcalZSup" target="HcalDigitMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Hcal/Digits</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="EtaMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="PhotonMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="BremMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="ResolvedPi0Mon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="PackPhotons">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="BremMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="SinglePhotonRec" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/Photons</data>
+ </edge>
+ <edge source="PackTwoProngVertex" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Vertex/V0</data>
+ </edge>
+ <edge source="EcalClust" target="MergedPi0Rec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="PhotonMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="MergedPi0Mon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="EcalShare">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="EcalCovar">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="SplitPhotonMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="PhotonMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="TrackEcalMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="ElectronMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="EcalClusterMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="SinglePhotonRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="ClusterMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="EcalClust" target="SingleElectronRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalClusters</data>
+ </edge>
+ <edge source="InECAL" target="ElectronMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccEcal</data>
+ </edge>
+ <edge source="InECAL" target="EcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccEcal</data>
+ </edge>
+ <edge source="InECAL" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccEcal</data>
+ </edge>
+ <edge source="InECAL" target="ClusterMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccEcal</data>
+ </edge>
+ <edge source="InBREM" target="BremMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccBrem</data>
+ </edge>
+ <edge source="InBREM" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccBrem</data>
+ </edge>
+ <edge source="PhotonFromMergedID" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonFromMergedID</data>
+ </edge>
+ <edge source="PhotonFromMergedID" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonFromMergedID</data>
+ </edge>
+ <edge source="PhotonFromMergedID" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonFromMergedID</data>
+ </edge>
+ <edge source="HcalPIDmu" target="ChargedProtoPAddHcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/HcalPIDmu</data>
+ </edge>
+ <edge source="PackRichPIDs" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="PackRichPIDs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="RiPIDMonLong2To10">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="RiPIDMonLong10To70">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="RiPIDMonLong70To100">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="RiPIDMonLong2To100">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="MergeOfflineRichPIDs" target="ChargedProtoPAddRich">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/PIDs</data>
+ </edge>
+ <edge source="PrsFromRaw" target="MergedPi0Rec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="TrackPrsMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="MergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="CaloDigitFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="PhotonFromMergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="SinglePhotonRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="PrsE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="PrsFromRaw" target="PrsDigitMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Prs/Digits</data>
+ </edge>
+ <edge source="OfflineIsolatedENNRings" target="ENNRingMoniIsolated">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsIsolated</data>
+ </edge>
+ <edge source="BremChi22ID" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremChi2</data>
+ </edge>
+ <edge source="BremChi22ID" target="BremPIDe">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremChi2</data>
+ </edge>
+ <edge source="HcalE" target="HcalPIDmu">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/HcalE</data>
+ </edge>
+ <edge source="HcalE" target="ChargedProtoPAddHcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/HcalE</data>
+ </edge>
+ <edge source="HcalE" target="HcalPIDe">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/HcalE</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackAlignMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="BremMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackFitMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TTTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ClusChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ITTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiMatchTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="FindTrackClones">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackV0Finder">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiSeedTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiPIDMonLong2To10">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackAddNNGhostId">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="AlignmentOnlineMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackSpdMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="PackTracks">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiPIDMonLong10To70">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="CreateOfflineTracks">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="InHCAL">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="PrsE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="FlagTrackClones">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiVeloTTTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ClusterMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ChargedProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackAddLikelihood">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="OTHitEfficiencyMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackMuonMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="MuonIDAlg">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="EcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="PatPVOffline">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="EcalChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackVertexMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ElectronMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackPV2HalfAlignMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="HcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="InBREM">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="ChargedProtoPMoni">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="InSPD">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiPIDMonLong2To100">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackEraseExtraInfo">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackVeloOverlapMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackPrsMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiKsTrackTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="OTTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="InPRS">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="BremChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="FilterBestTrackStates">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="VeloTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiLongTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackITOverlapMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiForwardTrkEff">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="InECAL">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="TrackEcalMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="RiPIDMonLong70To100">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="SpdE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="TrackBestTrackCreator" target="MuonPIDMonitorLong">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Best</data>
+ </edge>
+ <edge source="BremPIDe" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremPIDe</data>
+ </edge>
+ <edge source="NeutralProtoPMaker" target="PackNeutralProtos">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/ProtoP/Neutrals</data>
+ </edge>
+ <edge source="PackNeutralProtos" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/ProtoP/Neutrals</data>
+ </edge>
+ <edge source="PhotonID" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonID</data>
+ </edge>
+ <edge source="PhotonID" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonID</data>
+ </edge>
+ <edge source="PhotonID" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PhotonID</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="OfflineENNFinderR2GasLeft">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="OfflineBestENNRings">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="OfflineENNFinderR2GasRight">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="OfflineENNRingsSegAssoc">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="OfflineENNFinderR1GasBottom">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="OfflineENNFinderR1GasTop" target="ENNRingMoniAll">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsAll</data>
+ </edge>
+ <edge source="PrsE" target="PrsPIDe">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PrsE</data>
+ </edge>
+ <edge source="PrsE" target="ChargedProtoPAddPrs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PrsE</data>
+ </edge>
+ <edge source="PatSeeding" target="PatDownstream">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Seed</data>
+ </edge>
+ <edge source="PatSeeding" target="PatMatch">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Seed</data>
+ </edge>
+ <edge source="PatSeeding" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Seed</data>
+ </edge>
+ <edge source="ClusterMatch" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="ClusChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="MergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="PhotonMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="PhotonFromMergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="SinglePhotonRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="ClusterMatch" target="SingleElectronRec">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusterMatch</data>
+ </edge>
+ <edge source="InHCAL" target="ChargedProtoPAddHcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccHcal</data>
+ </edge>
+ <edge source="InHCAL" target="HcalE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccHcal</data>
+ </edge>
+ <edge source="MuonIDAlg" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="TrackDiMuonMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="MuonPIDMonitorLong">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="FilterMuonTrackStates">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="MuonTrackAligMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Muon/MuonPID</data>
+ </edge>
+ <edge source="MuonIDAlg" target="ChargedProtoPAddMuon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Muon/MuonPID</data>
+ </edge>
+ <edge source="MuonIDAlg" target="MuonTrackFitter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="PackMuonTracks">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Muon</data>
+ </edge>
+ <edge source="MuonIDAlg" target="PackMuonPIDs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Muon/MuonPID</data>
+ </edge>
+ <edge source="PatPVOffline" target="PackRecVertex">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatPVOffline" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatPVOffline" target="TrackVertexMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatPVOffline" target="TrackV0Monitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatPVOffline" target="TrackV0Finder">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatPVOffline" target="VeloIPResolutionMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/Primary</data>
+ </edge>
+ <edge source="MuonRec" target="MuonIDAlg">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Muon/Coords</data>
+ </edge>
+ <edge source="MuonRec" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Muon/Coords</data>
+ </edge>
+ <edge source="MuonRec" target="TrackMuonMatchMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Muon/Coords</data>
+ </edge>
+ <edge source="create_Rich_RawEvent" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rich/RawEvent</data>
+ </edge>
+ <edge source="PrsPIDe" target="ChargedProtoPAddPrs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/PrsPIDe</data>
+ </edge>
+ <edge source="InSPD" target="SpdE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccSpd</data>
+ </edge>
+ <edge source="InSPD" target="ChargedProtoPAddSpd">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccSpd</data>
+ </edge>
+ <edge source="PackRecVertex" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Vertex/Primary</data>
+ </edge>
+ <edge source="PatDownstream" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/Downstream</data>
+ </edge>
+ <edge source="EcalPIDmu" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalPIDmu</data>
+ </edge>
+ <edge source="EcalChi22ID" target="EcalPIDe">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalChi2</data>
+ </edge>
+ <edge source="EcalChi22ID" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalChi2</data>
+ </edge>
+ <edge source="SpdE" target="ChargedProtoPAddSpd">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/SpdE</data>
+ </edge>
+ <edge source="BremMatch" target="ChargedProtoPAddBrem">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="PhotonID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="BremMatchMon">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="MergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="PhotonFromMergedID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="BremChi22ID">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="NeutralProtoPMaker">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="BremMatch" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/BremMatch</data>
+ </edge>
+ <edge source="PackPhotons" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Calo/Photons</data>
+ </edge>
+ <edge source="ClusChi22ID" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/ClusChi2</data>
+ </edge>
+ <edge source="FindTrackClones" target="FlagTrackClones">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Link/Rec/Track/BestClones</data>
+ </edge>
+ <edge source="TrackV0Finder" target="PackTwoProngVertex">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/V0</data>
+ </edge>
+ <edge source="TrackV0Finder" target="TrackV0Monitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Vertex/V0</data>
+ </edge>
+ <edge source="PatVeloTT" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Track/VeloTT</data>
+ </edge>
+ <edge source="RichOfflineGPIDTrSel" target="RichOfflineGPIDLLIt0">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/GlobalPID/Offline/Tracks</data>
+ </edge>
+ <edge source="RichOfflineGPIDTrSel" target="RichOfflineGPIDLLIt1">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/GlobalPID/Offline/Tracks</data>
+ </edge>
+ <edge source="RichOfflineGPIDTrSel" target="MergeOfflineRichPIDs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/GlobalPID/Offline/PIDs</data>
+ </edge>
+ <edge source="RichOfflineGPIDTrSel" target="RichOfflineGPIDFin">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/GlobalPID/Offline/Tracks</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="HltErrorFilter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="HltCompositionMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="HltRateMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="RichHlt1Filter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="MuMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="HltDecReportsDecoder" target="HltRateMonitorMB">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Hlt/DecReports</data>
+ </edge>
+ <edge source="EcalE" target="ChargedProtoPAddEcal">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalE</data>
+ </edge>
+ <edge source="EcalE" target="EcalPIDmu">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/EcalE</data>
+ </edge>
+ <edge source="PackMuonTracks" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Track/Muon</data>
+ </edge>
+ <edge source="PackElectrons" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Calo/Electrons</data>
+ </edge>
+ <edge source="PackTracks" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Track/Best</data>
+ </edge>
+ <edge source="OfflineBestENNRings" target="OfflineIsolatedENNRings">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsBest</data>
+ </edge>
+ <edge source="OfflineBestENNRings" target="ENNRingMoniBest">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Rich/ENN/Offline/RingsBest</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="TrackAddNNGhostId">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="PatVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="VeloTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="VeloClusterMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/Clusters</data>
+ </edge>
+ <edge source="createBothVeloClusters" target="FastVeloTracking">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/Velo/LiteClusters</data>
+ </edge>
+ <edge source="InPRS" target="ChargedProtoPAddPrs">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccPrs</data>
+ </edge>
+ <edge source="InPRS" target="PrsE">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Rec/Calo/InAccPrs</data>
+ </edge>
+ <edge source="createTTClusters" target="TrackAddNNGhostId">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="createTTClusters" target="RecSummary">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="createTTClusters" target="TTTrackMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="createTTClusters" target="PatVeloTT">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="createTTClusters" target="TTClusterMonitor">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="createTTClusters" target="TrackBestTrackCreator">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Raw/TT/Clusters</data>
+ </edge>
+ <edge source="create_Muon_RawEvent" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/Muon/RawEvent</data>
+ </edge>
+ <edge source="PackSplitPhotons" target="DstWriter">
+ <data key="d0">produces_for</data>
+ <data key="d1">/Event/pRec/Calo/SplitPhotons</data>
+ </edge>
+ </graph>
+</graphml>
diff --git a/GaudiHive/python/GaudiHive/precedence/precedence.py b/GaudiHive/python/GaudiHive/precedence/precedence.py
new file mode 100644
index 0000000..beffb07
--- /dev/null
+++ b/GaudiHive/python/GaudiHive/precedence/precedence.py
@@ -0,0 +1,277 @@
+import os, random, string, json
+import networkx as nx
+
+from Gaudi.Configuration import INFO, DEBUG
+from Configurables import GaudiSequencer, CPUCruncher
+
+class UniformTimeValue(object):
+ """A class to manage uniform algorithm timing"""
+
+ def __init__(self, avgRuntime, varRuntime = 0):
+
+ self.avgRuntime = avgRuntime
+ self.varRuntime = varRuntime
+
+ def get(self, algoName = ''):
+ """Get time and its variance (in a tuple) for a given algorithm name"""
+
+ return self.avgRuntime, self.varRuntime
+
+class RealTimeValue(object):
+ """A class to manage real algorithm timing"""
+
+ def __init__(self, path, defaultTime, factor = 1):
+ """
+ defaultTime -- run time, assigned to an algorithm if no time is found in provided timing library
+ (and it will also be scaled by the 'factor' argument)
+ """
+
+ self.path = path
+ self.factor = factor
+ self.defaultTime = defaultTime # typically 0.05s
+ self.varRuntime = 0
+
+ self.file=open(self.path)
+ self.timings=json.load(self.file)
+
+
+ def get(self, algoName = ''):
+ """Get time for a given algorithm name"""
+
+ if algoName in self.timings:
+ time = float(self.timings[algoName])
+ else:
+ capAlgoName = algoName[0].upper() + algoName[1:len(algoName)]
+
+ if capAlgoName in self.timings:
+ time = float(self.timings[capAlgoName])
+ else:
+ time = self.defaultTime
+ print "WARNING: TimiNg for %s (or %s) not found in the provided library, using default one: %s" %(algoName,capAlgoName,time)
+
+ time = time * self.factor
+
+ return time, self.varRuntime
+
+class UniformBooleanValue(object):
+
+ def __init__(self, value):
+
+ self.value = value
+
+ def get(self):
+
+ return self.value
+
+class RndBiased10BooleanValue(object):
+ """
+ Provides randomly distributed boolean value with True taking only 10%.
+ The distribution has only 276 values and is reproducible, if no pattern re-generation is requested.
+ """
+
+ # 276 values, biased as 90% to 10%
+ builtinPattern = [False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, True, False, True, False, False, False, False, False, False, False, False, True, False, True, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, True, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, True, True, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, True, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, True, False]
+ pattern = []
+
+ def __init__(self, useBuiltinPattern=True):
+
+ if useBuiltinPattern:
+ self.pattern = self.builtinPattern
+ else:
+ # 276 values, biased as 90% to 10%
+ self.pattern = [False for i in range(248)] + [True for i in range(28)]
+ random.shuffle(self.pattern)
+
+ self.generator = self._create_generator(self.pattern)
+
+ def _create_generator(self, pattern):
+
+ for b in pattern:
+ yield b
+
+ def get(self):
+
+ return next(self.generator)
+
+ def get_pattern(self):
+
+ return self.pattern
+
+
+class CruncherSequence(object):
+ """CPUCruncher-as-algorithm precedence sequence with real control flow and data flow dependencies of a Brunel workflow."""
+
+ unique_sequencers=[]
+ dupl_seqs={}
+ OR_sequencers=[]
+ unique_algos=[]
+ dupl_algos={}
+
+ unique_data_objects = []
+
+ def __init__(self, timeValue, IOboolValue, cfgPath=None, dfgPath=None, showStat=False, algoDebug = False):
+ """
+ Keyword arguments:
+ timeValue -- timeValue object to set algorithm execution time
+ IOboolValue -- *BooleanValue object to set whether an algorithm has to experience IO-bound execution
+ cfgPath -- absolute path to GRAPHML file with control flow dependencies (if None then built-in CF graph is used)
+ dfgPath -- absolute path to GRAPHML file with data flow dependencies (if None then built-in DF graph is used)
+ showStat -- print out statistics on precedence graph
+ """
+
+ self.timeValue = timeValue
+ self.IOboolValue = IOboolValue
+
+ if not cfgPath: cfgPath = "cf_dependencies.graphml"
+ if not dfgPath: dfgPath = "data_dependencies.graphml"
+ __location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
+ self.cfg = nx.read_graphml(os.path.join(__location__, cfgPath))
+ self.dfg = nx.read_graphml(os.path.join(__location__, dfgPath))
+
+ self.algoDebug = algoDebug
+
+ # Generate control flow part
+ self.sequencer = self._generate_sequence('GaudiSequencer/BrunelSequencer')
+
+ avgRuntime, varRuntime = self.timeValue.get("DstWriter")
+ dstwriter = CPUCruncher("DstWriter",
+ OutputLevel = DEBUG if self.algoDebug else INFO,
+ shortCalib = True,
+ varRuntime = varRuntime,
+ avgRuntime = avgRuntime)
+
+ # Generate data flow part
+ self._attach_io_data_objects("DstWriter", dstwriter)
+ self.sequencer.Members += [dstwriter]
+
+ if showStat:
+ import pprint
+
+ print "\n===== Statistics on Algorithms ====="
+ print "Total number of algorithm nodes: ", len(self.unique_algos) + sum([self.dupl_algos[i]-1 for i in self.dupl_algos])
+ print "Number of unique algorithms: ", len(self.unique_algos)
+ print " -->", len(self.dupl_algos), "of them being re-used with the following distribution: ", [self.dupl_algos[i] for i in self.dupl_algos]
+ #pprint.pprint(dupl_algos)
+
+ print "\n===== Statistics on Sequencers ====="
+ print "Total number of sequencers: ", len(self.unique_sequencers) + sum([self.dupl_seqs[i]-1 for i in self.dupl_seqs])
+ print "Number of unique sequencers: ", len(self.unique_sequencers)
+ print " -->", len(self.dupl_seqs), "of them being re-used with the following distribution: ", [self.dupl_seqs[i] for i in self.dupl_seqs]
+ #pprint.pprint(dupl_seqs)
+ print "Number of OR-sequencers: ", len(self.OR_sequencers)
+
+ print "\n===== Statistics on DataObjects ====="
+ print "Number of unique DataObjects: ", len(self.unique_data_objects)
+ #pprint.pprint(self.unique_data_objects)
+ print
+
+ def get(self):
+
+ return self.sequencer
+
+ def _attach_io_data_objects(self, algo_name, algo):
+
+ #print "===============================", algo_name, "========================================"
+
+ i=0
+ cache=[]
+ for in_n, out_n in self.dfg.in_edges(algo_name):
+ s = "input_" + str(i)
+ addr = str(self.dfg.get_edge_data(in_n, out_n)['name'])#.lstrip('/Event/')
+ #print "addr: ", addr, self.dfg.get_edge_data(in_n, out_n)['name']
+ if not addr:
+ #print " empty output string, skipping"
+ continue # if Path is "/Event". how to set it?
+ if addr == '/Event': continue#addr = '/Event/TEMP'
+ if addr not in cache:
+ getattr(algo.Inputs, s).Path = addr
+ if addr not in self.unique_data_objects: self.unique_data_objects.append(addr)
+ else:
+ pass#print " has such an input already, skipping..", addr
+ cache.append(addr)
+ i += 1
+
+ j=0
+ cache=[]
+ for out_n, in_n in self.dfg.out_edges(algo_name):
+ s = "output_" + str(j)
+ addr = str(self.dfg.get_edge_data(out_n, in_n)['name'])#.lstrip('/Event/')
+ if not addr:
+ #print " empty output string, skipping"
+ continue # if Path is "/Event". how to set it?
+ if addr == '/Event': continue#addr = '/Event/TEMP'
+ if addr not in cache:
+ getattr(algo.Outputs, s).Path = addr
+ if addr not in self.unique_data_objects: self.unique_data_objects.append(addr)
+ else:
+ pass#print " has such an output already, skipping..", addr
+ cache.append(addr)
+ j += 1
+
+
+ def _generate_sequence(self, name, seq=None):
+
+ if not seq:
+ seq = GaudiSequencer(name, ShortCircuit = False)
+ avgRuntime, varRuntime = self.timeValue.get("Framework")
+ framework = CPUCruncher("Framework",
+ OutputLevel = DEBUG if self.algoDebug else INFO,
+ shortCalib = True,
+ varRuntime = varRuntime,
+ avgRuntime = avgRuntime,
+ SleepFraction = 0.5)
+ framework.Outputs.output_0.Path = '/Event/DAQ/RawEvent'
+ framework.Outputs.output_2.Path = '/Event/DAQ/ODIN'
+ seq.Members += [framework]
+
+ for n in self.cfg[name]:
+ if '/' in n:
+ algo_type, algo_name = n.split('/')
+ else:
+ algo_type = 'GaudiAlgorithm'
+ algo_name = n
+
+ if algo_type in ['GaudiSequencer', 'ProcessPhase']:
+ if algo_name in ['RecoITSeq','RecoOTSeq','RecoTTSeq']: continue
+
+ if n not in self.unique_sequencers:
+ self.unique_sequencers.append(n)
+ else:
+ if n not in self.dupl_seqs: self.dupl_seqs[n] = 2
+ else: self.dupl_seqs[n] += 1
+
+ seq_daughter=GaudiSequencer(algo_name, OutputLevel=INFO )
+ if self.cfg.node[n].get('ModeOR') == 'True':
+ self.OR_sequencers.append(n)
+ seq_daughter.ModeOR = True
+ #if self.cfg.node[n].get('Lazy') == 'False':
+ # print "Non-Lazy - ", n
+ seq_daughter.ShortCircuit = False
+ if seq_daughter not in seq.Members:
+ seq.Members += [seq_daughter]
+ # iterate deeper
+ self._generate_sequence(n,seq_daughter)
+ else:
+ #rndname = ''.join(random.choice(string.lowercase) for i in range(5))
+ #if algo_name in unique_algos: algo_name = algo_name + "-" + rndname
+ if n not in self.unique_algos:
+ self.unique_algos.append(n)
+ else:
+ if n not in self.dupl_algos: self.dupl_algos[n] = 2
+ else: self.dupl_algos[n] += 1
+
+ avgRuntime, varRuntime = self.timeValue.get(algo_name)
+ algo_daughter = CPUCruncher(algo_name,
+ OutputLevel = DEBUG if self.algoDebug else INFO,
+ #Outputs = ['/Event/DAQ/ODIN'],
+ shortCalib = True,
+ varRuntime = varRuntime,
+ avgRuntime = avgRuntime,
+ SleepFraction = 0.5 if self.IOboolValue.get() else 0.)
+
+ self._attach_io_data_objects(algo_name, algo_daughter)
+
+ if algo_daughter not in seq.Members:
+ seq.Members += [algo_daughter]
+
+ return seq