From 1764898ebac05c1ffbf117240eb42075a736284b Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <fwinkl@cern>
Date: Thu, 3 Sep 2020 14:08:17 +0200
Subject: [PATCH] TrigExL2muCalibTest: Delete package

Package contains old-style data-scouting example for the muon
calibration stream. If we ever get around to using this online, this
could be revived and updated.
---
 .../TrigExL2muCalibTest/CMakeLists.txt        |  17 --
 .../TrigExL2muCalibTest/L2muCalibTest.h       |  43 ---
 .../TrigExL2muCalibTest/TrigPartialEBFilter.h |  44 ---
 .../share/AthenaL2muCalibTestOptions.py       | 128 --------
 .../share/L2muCalibTestOptions.py             |  41 ---
 .../share/PebFilterOptions.py                 |  39 ---
 .../TrigExL2muCalibTest/src/L2muCalibTest.cxx | 285 ------------------
 .../src/TrigPartialEBFilter.cxx               | 148 ---------
 .../src/components/L2muCalibTest_entries.cxx  |   6 -
 9 files changed, 751 deletions(-)
 delete mode 100644 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/CMakeLists.txt
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/L2muCalibTest.h
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/TrigPartialEBFilter.h
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/AthenaL2muCalibTestOptions.py
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/L2muCalibTestOptions.py
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/PebFilterOptions.py
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/L2muCalibTest.cxx
 delete mode 100755 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/TrigPartialEBFilter.cxx
 delete mode 100644 HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/components/L2muCalibTest_entries.cxx

diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/CMakeLists.txt b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/CMakeLists.txt
deleted file mode 100644
index 865e69fb936..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-################################################################################
-# Package: TrigExL2muCalibTest
-################################################################################
-
-# Declare the package name:
-atlas_subdir( TrigExL2muCalibTest )
-
-# Component(s) in the package:
-atlas_add_component( TrigExL2muCalibTest
-                     src/*.cxx
-                     src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps AthenaInterprocess EventInfo GaudiKernel TrigNavigationLib StoreGateLib SGtests ByteStreamCnvSvcBaseLib xAODTrigger TrigSteeringEvent TrigHLTResultByteStreamLib )
-
-# Install files from the package:
-atlas_install_headers( TrigExL2muCalibTest )
-atlas_install_joboptions( share/*.py )
-
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/L2muCalibTest.h b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/L2muCalibTest.h
deleted file mode 100755
index 7eb16581468..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/L2muCalibTest.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef L2MUCALIBTEST
-#define L2MUCALIBTEST
-
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "GaudiKernel/IIncidentListener.h"
-#include "TrigNavigation/Navigation.h"
-#include <stdint.h>
-
-/////////////////////////////////////////////////////////////////////////////
-
-class IJobOptionsSvc;
-class Incident;
-
-class L2muCalibTest:public AthAlgorithm,
-                    virtual public IIncidentListener {
-public:
-  L2muCalibTest(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-  StatusCode finalize();
-  // handler for "UpdateAfterFork" actions
-  void handle(const Incident& incident);
-  
-private:
-  IJobOptionsSvc*       m_jobOptionsSvc;
-  BooleanProperty       m_allowOksConfig;
-  BooleanProperty       m_dumpCatalogue;
-  StringProperty        m_muonCalBufferName;
-  IntegerProperty       m_muonCalBufferSize;
-  BooleanProperty       m_readBackDataScoutingCollection;
-  StringProperty        m_keyDataScoutingROB;
-  StringProperty        m_keyDataScoutingContainer;
-
-  // Navigation
-  ToolHandle<HLT::Navigation> m_navigationForEF; 
-  HLT::Navigation* m_nav;
-};
-
-#endif
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/TrigPartialEBFilter.h b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/TrigPartialEBFilter.h
deleted file mode 100755
index cb7251210e5..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/TrigExL2muCalibTest/TrigPartialEBFilter.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef TRIGPARTIALEBFILTER
-#define TRIGPARTIALEBFILTER
-
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "EventInfo/TriggerInfo.h"
-#include <string>
-#include <stdint.h>
-
-/////////////////////////////////////////////////////////////////////////////
-
-class TrigPartialEBFilter : public AthAlgorithm {
-public:
-  TrigPartialEBFilter(const std::string& name, ISvcLocator* pSvcLocator);
-  StatusCode initialize();
-  StatusCode execute();
-  
-private:
-  bool randomAccept(double rate);
-  
-  typedef std::vector< TriggerInfo::StreamTag > StreamTagVector_t;
-  
-  /// Reference to StoreGateSvc;
-  std::string                      m_hltResultSGKey;
-  
-  
-  //Algorithms properties
-  DoubleProperty  m_acceptRate;        //fraction of physics evt to be accepted
-                                       //  negative value: all physics rejected
-			               //  0. - < 1.0    : randome selection
-			               //  >= 1.0        : all physics accepted
-
-  StringProperty   m_hltInstance;      // name of the HLT level: L2 or EF
-  StringProperty   m_hltResultName;    // tag name for the HLT result
-  			     
-  StringProperty   m_calStreamName;    //calibration stream to be accepted;
-                                       // null string: all calibration streams 
-				       //              accepted
-};
-
-#endif
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/AthenaL2muCalibTestOptions.py b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/AthenaL2muCalibTestOptions.py
deleted file mode 100755
index b80fe7ea838..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/AthenaL2muCalibTestOptions.py
+++ /dev/null
@@ -1,128 +0,0 @@
-#=====================================================================
-#  This job options are for testing with Athena, e.g. run with
-#
-#  athena TrigExL2muCalibTest/AthenaL2muCalibTestOptions.py
-#
-#=====================================================================
-#
-from AthenaCommon.Constants import VERBOSE, DEBUG, INFO, ERROR
-	   
-# Add timestamp to python logger
-from AthenaCommon.Logging import log
-log.setFormat("%(asctime)s  Py:%(name)-31s %(levelname)7s %(message)s")	
-
-from AthenaCommon.Logging import logging
-log = logging.getLogger( 'TriggerUnixStandardSetup::setupCommonServices:' )
-	     
-# Do the default Atlas job configuration first
-import AthenaCommon.AtlasUnixStandardJob
-	
-# Now do HLT specific configuration
-from AthenaCommon import CfgMgr
-from AthenaCommon.AppMgr import theApp
-from AthenaCommon.AppMgr import ServiceMgr as svcMgr
-from AthenaCommon.AppMgr import ToolSvc
-	
-# make the message service available
-svcMgr.MessageSvc = theApp.service( "MessageSvc" )     # already instantiated
-MessageSvc = svcMgr.MessageSvc
-MessageSvc.defaultLimit = 0
-MessageSvc.enableSuppression = False
-MessageSvc.OutputLevel = DEBUG
-
-# StoreGateSvc
-svcMgr.StoreGateSvc.ActivateHistory = False
-	   
-# ProxyProviderSvc services configuration
-svcMgr += CfgMgr.ProxyProviderSvc()
-	
-# --- ByteStreamAddressProviderSvc configuration
-svcMgr += CfgMgr.ByteStreamAddressProviderSvc()
-svcMgr.ProxyProviderSvc.ProviderNames += [ "ByteStreamAddressProviderSvc" ]
-theApp.CreateSvc += [ svcMgr.ByteStreamAddressProviderSvc.getFullName() ]
-svcMgr.ByteStreamAddressProviderSvc.OutputLevel = DEBUG
-svcMgr.ByteStreamAddressProviderSvc.TypeNames += [
-    "HLT::HLTResult/DataScouting_03",
-    "HLT::HLTResult/DataScouting_05"
-]
-	
-# Initialization of DetDescrCnvSvc
-svcMgr += CfgMgr.DetDescrCnvSvc(
-    # specify primary Identifier dictionary to be used
-    IdDictName = "IdDictParser/ATLAS_IDS.xml"
-    )
-theApp.CreateSvc += [ svcMgr.DetDescrCnvSvc.getFullName() ]
-svcMgr.EventPersistencySvc.CnvServices += [ "DetDescrCnvSvc" ]
-	
-# --- ByteStreamCnvSvc configuration
-svcMgr += CfgMgr.ByteStreamCnvSvc("ByteStreamCnvSvc")
-svcMgr.EventPersistencySvc.CnvServices += [ "ByteStreamCnvSvc" ]
-  
-# Explicitly set a few OutputLevels (needed because some services are created in
-# different order when running with the PSC)
-svcMgr.IncidentSvc.OutputLevel = theApp.OutputLevel
-svcMgr.ProxyProviderSvc.OutputLevel = theApp.OutputLevel
-svcMgr.StoreGateSvc.OutputLevel = theApp.OutputLevel
-
-# Input
-include( "ByteStreamCnvSvc/BSEventStorageEventSelector_jobOptions.py" )
-svcMgr.EventSelector.OutputLevel = DEBUG
-svcMgr.ByteStreamInputSvc.OutputLevel = DEBUG
-svcMgr.ByteStreamCnvSvc.OutputLevel = DEBUG
-svcMgr.ByteStreamAddressProviderSvc.OutputLevel = DEBUG
-
-#**************************************************************
-#
-# give input BS file here
-#
-#==============================================================
-
-svcMgr.EventSelector.Input = [ "bla-muon-calib._0001.data"]
-
-#**************************************************************
-#
-# set number of events
-#
-#==============================================================
-theApp.EvtMax = 5
-
-#**************************************************************
-#
-# L2muCalibTest algorithm example
-#
-#==============================================================
-
-#--------------------------------------------------------------
-# Private Application Configuration options
-#--------------------------------------------------------------
-from TrigExL2muCalibTest.TrigExL2muCalibTestConf import L2muCalibTest
-HelloWorld = L2muCalibTest("HelloWorld")
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-topSequence += HelloWorld
-#
-#--------------------------------------------------------------
-# Algorithms Private Options
-#--------------------------------------------------------------
-#
-#--- Allow overwrite of muon calibration buffer name from OKS/
-#--- online configuration
-#
-HelloWorld.AllowOksConfig = False
-#
-#--- dump the property catalogue (when AllowOksConfig = TRUE) 
-#
-HelloWorld.DumpPropertyCatalogue = False
-#
-#--- define the muon calibration buffer name and size
-#
-HelloWorld.MuonCalBufferName = "file://dummy-file-from-py-jobOptions"
-HelloWorld.MuonCalBufferSize = 12345678
-HelloWorld.ReadBackDataScoutingCollection = True
-#
-#==============================================================
-#
-# End of L2muCalibTest example
-#
-#**************************************************************
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/L2muCalibTestOptions.py b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/L2muCalibTestOptions.py
deleted file mode 100755
index 1212bb5d597..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/L2muCalibTestOptions.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#**************************************************************
-#
-# L2muCalibTest example
-#
-#==============================================================
-from AthenaCommon.AppMgr import ServiceMgr as svcMgr
-from AthenaCommon.Constants import *
-
-#--------------------------------------------------------------
-# Private Application Configuration options
-#--------------------------------------------------------------
-from TrigExL2muCalibTest.TrigExL2muCalibTestConf import L2muCalibTest
-HelloWorld = L2muCalibTest("HelloWorld")
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-topSequence += HelloWorld
-#
-#--------------------------------------------------------------
-# Algorithms Private Options
-#--------------------------------------------------------------
-#
-#--- Allow overwrite of muon calibration buffer name from OKS/
-#--- online configuration
-#
-HelloWorld.AllowOksConfig = TRUE
-#
-#--- dump the property catalogue (when AllowOksConfig = TRUE) 
-#
-HelloWorld.DumpPropertyCatalogue = TRUE
-#
-#--- define the muon calibration buffer name and size
-#
-HelloWorld.MuonCalBufferName = "file://dummy-file-from-py-jobOptions"
-HelloWorld.MuonCalBufferSize = 12345678
-#
-#==============================================================
-#
-# End of L2muCalibTest example
-#
-#**************************************************************
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/PebFilterOptions.py b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/PebFilterOptions.py
deleted file mode 100755
index 3298d064f2f..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/share/PebFilterOptions.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#**************************************************************
-#
-# PebFilterOptions.py
-#
-#==============================================================
-from AthenaCommon.Constants import *
-from AthenaCommon import CfgMgr
-
-PebFilter = CfgMgr.TrigPartialEBFilter("PebFilter")
-
-#--------------------------------------------------------------
-# Add the algorithm to the topSequence
-#--------------------------------------------------------------
-from AthenaCommon.AlgSequence import AlgSequence 
-topSequence = AlgSequence()
-topSequence += PebFilter
-
-#--------------------------------------------------------------
-# Private Application Configuration options
-#--------------------------------------------------------------
-#
-# --- Filter physics events (50% of the accepted rate)
-#
-#PebFilter.AcceptRate       = .5
-#
-# --- Select a particular calibration stream for the building
-#
-#PebFilter.CalibrationStreamName   = "StreamName"
-#
-# --- Set specific tag for the HLT result 
-#
-#PebFilter.HLTInstance    = "L2" or "EF"
-#PebFilter.HLTResultName  = "CalibrationStreamName"
-#
-#==============================================================
-#
-# End of PebFilterOptions.py
-#
-#**************************************************************
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/L2muCalibTest.cxx b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/L2muCalibTest.cxx
deleted file mode 100755
index 2a724a9fcc2..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/L2muCalibTest.cxx
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrigExL2muCalibTest/L2muCalibTest.h"
-#include "GaudiKernel/IJobOptionsSvc.h"
-#include "StoreGate/DataHandle.h"
-#include "GaudiKernel/Incident.h"
-#include "GaudiKernel/IIncidentSvc.h"
-#include "AthenaInterprocess/Incidents.h"
-
-#include "TrigSteeringEvent/HLTResult.h"
-#include "TrigHLTResultByteStream/HLTResultByteStreamTool.h"
-#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h"
-#include "TrigSteeringEvent/Enums.h"
-#include "xAODTrigger/TrigCompositeContainer.h"
-#include "xAODTrigger/TrigCompositeAuxContainer.h"
-
-// static const AlgFactory<L2muCalibTest>    Factory;
-// const IAlgFactory& L2muCalibTestFactory = Factory;
-
-/////////////////////////////////////////////////////////////////////////////
-
-L2muCalibTest::L2muCalibTest(const std::string& name, ISvcLocator* pSvcLocator) :
-   AthAlgorithm(name, pSvcLocator),
-   m_jobOptionsSvc(0),
-   m_allowOksConfig(true),
-   m_dumpCatalogue(false), 
-   m_muonCalBufferName("NONE"),
-   m_muonCalBufferSize(0),
-   m_navigationForEF("HLT::Navigation/Navigation", this),
-   m_nav(0)
-{
-   // Declare the properties
-   declareProperty("AllowOksConfig",                 m_allowOksConfig);
-   declareProperty("DumpPropertyCatalogue",          m_dumpCatalogue);
-   declareProperty("MuonCalBufferName",              m_muonCalBufferName);
-   declareProperty("MuonCalBufferSize",              m_muonCalBufferSize);
-   declareProperty("ReadBackDataScoutingCollection", m_readBackDataScoutingCollection=0);
-   declareProperty("KeyDataScoutingROB",             m_keyDataScoutingROB="DataScouting_03");
-   declareProperty("KeyDataScoutingContainer",       m_keyDataScoutingContainer="HLT_xAOD__TrigCompositeContainer_MuonCalibrationStream");
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-
-StatusCode L2muCalibTest::initialize(){
-
-  // Part 1: Get the messaging service, print where you are
-  MsgStream log(msgSvc(), name());
-  ATH_MSG_INFO("initialize()");
-
-  StatusCode sc;
-
-  SmartIF<IService> tmp_msgSvc(msgSvc());
-  if(tmp_msgSvc.isValid()) {
-    ATH_MSG_INFO(" Algorithm = " << name() << " is connected to Message Service = "
-        << tmp_msgSvc->name());
-  }
-
-  // Print out the property values after update from catalogue
-  ATH_MSG_INFO(" ---------------------------------------------------------- ");
-  ATH_MSG_INFO(" --- Properties before update from JobOptions Catalogue --- ");
-  ATH_MSG_INFO(" ---------------------------------------------------------- ");
-  ATH_MSG_INFO(" AllowOksConfig                 = " << m_allowOksConfig);
-  ATH_MSG_INFO(" DumpPropertyCatalogue          = " << m_dumpCatalogue);
-  ATH_MSG_INFO(" MuonCalBufferName              = " << m_muonCalBufferName);
-  ATH_MSG_INFO(" MuonCalBufferSize              = " << m_muonCalBufferSize);
-  ATH_MSG_INFO(" ReadBackDataScoutingCollection = " << m_readBackDataScoutingCollection);
-  ATH_MSG_INFO(" KeyDataScoutingROB             = " << m_keyDataScoutingROB);
-  ATH_MSG_INFO(" KeyDataScoutingContainer       = " << m_keyDataScoutingContainer);
-
-  // Part 2: Get the JobOptionsSvc service, and update properties from catalogue
-  if ( m_allowOksConfig ) {
-    sc = service("JobOptionsSvc", m_jobOptionsSvc);
-    if (sc.isFailure()) {
-      ATH_MSG_ERROR("Could not find JobOptionsSvc");
-      return sc;
-    } else {
-      IService* svc = dynamic_cast<IService*>(m_jobOptionsSvc);
-      if(svc != 0 ) {
-	ATH_MSG_INFO(" Algorithm = " << name() << " is connected to JobOptionsSvc Service = "
-	    << svc->name());
-      }
-
-      if ( m_dumpCatalogue ) {
-	// Dump of the catalogue
-	ATH_MSG_INFO("=================================================");
-	ATH_MSG_INFO("Dump of the property catalogue.... ");
-	std::vector<std::string> clients = m_jobOptionsSvc->getClients();
-	std::vector<std::string>::iterator cit;
-	std::vector<const Gaudi::Details::PropertyBase*>::const_iterator pit;
-
-	for( cit = clients.begin(); cit != clients.end(); cit++ ) {
-	  ATH_MSG_INFO(" Properties of " <<  *cit << ": ";
-	  const std::vector<const Gaudi::Details::PropertyBase*>* properties = m_jobOptionsSvc->getProperties(*cit);
-	  for( pit = properties->begin(); pit != properties->end(); pit++ ) {
-	    log << (*pit)->name();
-	    if( (pit+1) != properties->end())  log << ", ";
-	  }
-	  log);
-	}
-	ATH_MSG_INFO("=================================================");
-      }
-
-      // Overwrite the properties with values from the catalogue using the non existing algorithm
-      // 'MuonL2CalibrationConfig'
-      sc = m_jobOptionsSvc->setMyProperties("MuonHltCalibrationConfig",this);
-      if (sc.isFailure()) {
-	ATH_MSG_ERROR("Could not set properties from JobOptionsSvc catalogue.");
-	return sc;
-      }
-
-      // Find the Data Flow application name
-      bool df_found = false;
-      const std::vector<const Gaudi::Details::PropertyBase*>* dataFlowProps = m_jobOptionsSvc->getProperties("DataFlowConfig");
-      if ( dataFlowProps ) { 
-	ATH_MSG_INFO(" Properties available for 'DataFlowConfig': number = " << dataFlowProps->size());
-	ATH_MSG_INFO(" --------------------------------------------------- ");
-	for ( std::vector<const Gaudi::Details::PropertyBase*>::const_iterator cur = dataFlowProps->begin();
-	      cur != dataFlowProps->end(); cur++) {
-	  ATH_MSG_INFO((*cur)->name() << " = " << (*cur)->toString());
-	  // the application name is found
-	  if ( (*cur)->name() == "DF_ApplicationName" ) {
-	    df_found = true;
-	  }
-	  // the enabled ROB list is found
-	  if ( (*cur)->name() == "DF_Enabled_ROB_IDs" ) {
-	    SimpleProperty< std::vector<uint32_t> > enabledROBs;
-	    enabledROBs.setName("enabledROBIds");
-	    if (enabledROBs.assign(**cur)) {
-           ATH_MSG_INFO(" ---> got from OKS = " << enabledROBs.value().size() << " ROB ids.");
-	    } else {
-           ATH_MSG_WARNING(" ---> set property failed.");
-	    }
-	  }
-	}
-  
-	if ( !df_found ) {
-	  ATH_MSG_INFO(" Property for DF_ApplicationName not found.");
-	}
-      } else {
-	ATH_MSG_INFO(" No Properties for 'DataFlowConfig' found.");
-      } 
-      ATH_MSG_INFO("=================================================");
-
-
-      // release JobOptionsSvc
-      unsigned long mjcounter = m_jobOptionsSvc->release();
-      ATH_MSG_INFO(" --> Release JobOptionsSvc Service, Counter = " << mjcounter);
-    }
-  }
-
-  // Print out the property values after update from catalogue
-  ATH_MSG_INFO(" ---------------------------------------------------------- ");
-  ATH_MSG_INFO(" --- Properties after update from JobOptions Catalogue  --- ");
-  ATH_MSG_INFO(" ---------------------------------------------------------- ");
-  ATH_MSG_INFO(" AllowOksConfig        = " << m_allowOksConfig);
-  ATH_MSG_INFO(" DumpPropertyCatalogue = " << m_dumpCatalogue);
-  ATH_MSG_INFO(" MuonCalBufferName     = " << m_muonCalBufferName);
-  ATH_MSG_INFO(" MuonCalBufferSize     = " << m_muonCalBufferSize);
-  ATH_MSG_INFO("=================================================");
-
-  // Part 3: Locate the IncidentSvc and subscribe for UpdateAfterFork incident 
-  ServiceHandle<IIncidentSvc> p_incidentSvc("IncidentSvc",name());
-  sc =  p_incidentSvc.retrieve();
-  if (!sc.isSuccess()) {
-    ATH_MSG_ERROR("Could not find IncidentSvc");
-    return sc;
-  } else {
-    long int pri=100;
-    p_incidentSvc->addListener(this,AthenaInterprocess::UpdateAfterFork::type(),pri);
-    p_incidentSvc.release().ignore();
-  }
-
-  // retrieve navigation
-  if ( m_navigationForEF.retrieve().isFailure() ) {
-    ATH_MSG_FATAL("failed to get navigation, can not retrieve navigation tool: " << m_navigationForEF);
-    return  StatusCode::FAILURE;
-  } else {
-    ATH_MSG_DEBUG("successfully retrieved navigation tool: " << m_navigationForEF);
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-
-StatusCode L2muCalibTest::execute() {
-
-  // Get the messaging service, print where you are
-  ATH_MSG_INFO("execute()");
-
-  if (!m_readBackDataScoutingCollection) return StatusCode::SUCCESS;
-
-  StatusCode sc;
-  ATH_MSG_DEBUG(" StoreGate structure: Begin execute " << name() << "\n" << evtStore()->dump());
-
-  // Get the Muon HLT DataScouting result
-  const DataHandle<HLT::HLTResult> datascouting_03_result;
-
-  sc = evtStore()->retrieve(datascouting_03_result,m_keyDataScoutingROB) ;
-  if ( sc.isFailure() ) {
-    ATH_MSG_ERROR("Could not find HLTResult with key = " << m_keyDataScoutingROB  );
-    return sc;
-  } 
-
-  ATH_MSG_DEBUG("HLTResult is level="<< datascouting_03_result->getHLTLevel()); 
-
-  const std::vector<uint32_t>& navData = datascouting_03_result->getNavigationResult();
-  if ( navData.size() != 0 ) { 
-    ATH_MSG_DEBUG("navigation payload has size " << navData.size());
-    m_nav = &*m_navigationForEF;
-    m_nav->deserialize( navData );
-  } else {
-    ATH_MSG_WARNING("navigation payload has size 0" );
-  }
-
-  const DataHandle<xAOD::TrigCompositeContainer> muon_calib_obj;
-  sc = evtStore()->retrieve(muon_calib_obj, m_keyDataScoutingContainer) ;
-  if ( sc.isFailure() ) {
-    ATH_MSG_WARNING("Could not find muon calib obj with key = " << m_keyDataScoutingContainer);
-  } else {
-    const xAOD::TrigCompositeContainer* muon_comp_container = muon_calib_obj.cptr();   
-    ATH_MSG_DEBUG("muon calib obj has size = " << muon_comp_container->size());
-    const std::string muon_buffer_name("MuonCalibrationStream");
-    for (const auto& ii : *muon_comp_container) {
-      ATH_MSG_DEBUG("Composite object has name = " << ii->name());
-      ATH_MSG_DEBUG("Composite object has detail " << muon_buffer_name << " = " << ii->hasDetail<std::vector<int> >(muon_buffer_name));
-      std::vector<int> detail_values;
-      bool got_data = ii->getDetail(muon_buffer_name,detail_values);
-      ATH_MSG_DEBUG("Composite object has detail " <<  muon_buffer_name << " = " << got_data << " with size = " << detail_values.size() );
-    }
-  }
-  ATH_MSG_DEBUG(" StoreGate structure: End execute " << name() << "\n" << evtStore()->dump());
-
-  return StatusCode::SUCCESS;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-
-StatusCode L2muCalibTest::finalize() {
-
-  // Part 1: Get the messaging service, print where you are
-  MsgStream log(msgSvc(), name());
-  ATH_MSG_INFO("finalize()");
-
-  return StatusCode::SUCCESS;
-
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-// handler for "UpdateAfterFork")
-void L2muCalibTest::handle(const Incident& incident) {
-
-  if (incident.type()==AthenaInterprocess::UpdateAfterFork::type()) {
-    MsgStream log(msgSvc(), name());
-    ATH_MSG_INFO("+-----------------------------------+");
-    ATH_MSG_INFO("| handle for UpdateAfterFork called |");
-    ATH_MSG_INFO("+-----------------------------------+");
-
-    // get the worker id from the incident
-    const AthenaInterprocess::UpdateAfterFork& updinc = dynamic_cast<const AthenaInterprocess::UpdateAfterFork&>(incident);
-    ATH_MSG_INFO(" ---------------------------------------------------------- ");
-    ATH_MSG_INFO(" --- Parameters from UpdateAfterFork incident           --- ");
-    ATH_MSG_INFO(" ---------------------------------------------------------- ");
-    ATH_MSG_INFO(" Worker ID             = " << updinc.workerID());
-    ATH_MSG_INFO(" Worker Process ID     = " << updinc.workerProcessID());
-    ATH_MSG_INFO("=================================================");
-
-    // create an individual muon buffer name for every worker
-    std::ostringstream ost;
-    ost << "_" << std::setw(3) << std::setfill('0') << updinc.workerID(); 
-    m_muonCalBufferName = m_muonCalBufferName.value() + ost.str();
-
-    // Print out the property values after update from catalogue
-    ATH_MSG_INFO(" ---------------------------------------------------------- ");
-    ATH_MSG_INFO(" --- Updated properties after forking the workers       --- ");
-    ATH_MSG_INFO(" ---------------------------------------------------------- ");
-    ATH_MSG_INFO(" AllowOksConfig        = " << m_allowOksConfig);
-    ATH_MSG_INFO(" DumpPropertyCatalogue = " << m_dumpCatalogue);
-    ATH_MSG_INFO(" MuonCalBufferName     = " << m_muonCalBufferName);
-    ATH_MSG_INFO(" MuonCalBufferSize     = " << m_muonCalBufferSize);
-    ATH_MSG_INFO("=================================================");
-  }
-}
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/TrigPartialEBFilter.cxx b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/TrigPartialEBFilter.cxx
deleted file mode 100755
index 16509ce5756..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/TrigPartialEBFilter.cxx
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrigExL2muCalibTest/TrigPartialEBFilter.h"
-#include "EventInfo/EventInfo.h"
-#include "TrigSteeringEvent/HLTResult.h"
-#include <iostream>
-#include <iomanip>
-#include <cassert>
-#include <bitset>
-
-/////////////////////////////////////////////////////////////////////////////
-
-TrigPartialEBFilter::TrigPartialEBFilter(const std::string& name, ISvcLocator* pSvcLocator) :
-   AthAlgorithm(name, pSvcLocator)
-{
-   // Declare the properties
-   declareProperty("HLTInstance",           m_hltInstance="L2");
-   declareProperty("HLTResultName",         m_hltResultName="HLTResult");
-   declareProperty("AcceptRate",            m_acceptRate=1.0);
-   declareProperty("CalibrationStreamName", m_calStreamName="");
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-
-StatusCode TrigPartialEBFilter::initialize() {
-
-   // Get the messaging service
-   ATH_MSG_INFO("initialize()");
-
-   // Print out the property values
-   ATH_MSG_INFO(" HLT Instance                      = " << m_hltInstance);
-   ATH_MSG_INFO(" HLT Result name                   = " << m_hltResultName);
-  
-   m_hltResultSGKey = m_hltResultName.value() + "_" + m_hltInstance.value();
-  
-   ATH_MSG_INFO(" Storegate key for retrieving the HLT result = " << m_hltResultSGKey);
-  
-   ATH_MSG_INFO(" Fraction of events to be accepted = " << m_acceptRate);
-   ATH_MSG_INFO(" Calibration stream to be accepted = " << m_calStreamName);
-
-   return StatusCode::SUCCESS;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-
-StatusCode TrigPartialEBFilter::execute() {
-
-   ATH_MSG_DEBUG("execute()");
-  
-   // get EventInfo
-   const EventInfo* p_EventInfo(0);
-   StatusCode sc = evtStore()->retrieve(p_EventInfo);
-   if(sc.isFailure() || p_EventInfo == 0){
-      ATH_MSG_FATAL("Can't get EventInfo object for updating the StreamTag and TriggerInfo");
-      return StatusCode::FAILURE;
-   }
-  
-   // get to the HLT result
-   HLT::HLTResult* pHltResult(0);
-   sc = evtStore()->retrieve(pHltResult,m_hltResultSGKey);
-   if  (sc.isFailure() || pHltResult == 0) {
-      ATH_MSG_FATAL("HLT result not found in StoreGate"); 
-      return StatusCode::FAILURE;
-   }
-   
-   //--------------------------------------------------------------------------
-   // Loop over all the stream tag and apply selection
-   //--------------------------------------------------------------------------
-  
-   //bool isAccepted = pHltResult->isAccepted();
-   bool havePhysicsStream = false;
-    
-   StreamTagVector_t vecStreamTags = p_EventInfo->trigger_info()->streamTags();
-   int activeTags = vecStreamTags.size();
-  
-   ATH_MSG_DEBUG("Retrieved stream tag vector of size " << activeTags);
-  
-   for (StreamTagVector_t::const_iterator it = vecStreamTags.begin();
-        it != vecStreamTags.end(); ++it) {
-      if ( (*it).type() == "physics") havePhysicsStream = true;
-      ATH_MSG_DEBUG("  .. " << (*it).type() << " : " << (*it).name());
-   }
-  
-   //if(havePhysicsStream != isAccepted) {
-   //  ATH_MSG_ERROR("Event accepted without any physics stream");
-   //  return StatusCode::FAILURE;
-   //}
-  
-  
-   //remove the calibration stream tags different from what specified
-   if (m_calStreamName.value()!="") {
-      StreamTagVector_t::iterator it = vecStreamTags.begin();
-      while(it != vecStreamTags.end()) {
-         if( (*it).type() == "calibration" &&
-             (*it).name() != m_calStreamName.value()) it = vecStreamTags.erase(it);
-         else ++it;
-      }
-      // FIXME: const_const
-      EventInfo* ei_nc = const_cast<EventInfo*> (p_EventInfo);
-      ei_nc->trigger_info()->setStreamTags(vecStreamTags); 
-   }
-
-   if (havePhysicsStream) {  // rescale the rate
-      bool accept = randomAccept(m_acceptRate);
-    
-      if( !accept) {
-         StreamTagVector_t::iterator it = vecStreamTags.begin();
-    
-         while(it != vecStreamTags.end()) {
-            if( (*it).type() == "physics") it = vecStreamTags.erase(it);
-            else if( (*it).type() == "express") it = vecStreamTags.erase(it);
-            else ++it;
-         }
-      
-         if (vecStreamTags.size() == 0) pHltResult->setAccepted( false );
-    
-         // FIXME: const_const
-         EventInfo* ei_nc = const_cast<EventInfo*> (p_EventInfo);
-         ei_nc->trigger_info()->setStreamTags(vecStreamTags);
-      }
-   }
-  
-   //retrieve back the stream tag vector and check
-   vecStreamTags = p_EventInfo->trigger_info()->streamTags();
-   if (msgLvl(MSG::DEBUG)) {
-      ATH_MSG_DEBUG("After applying selection:");
-      for (StreamTagVector_t::const_iterator it = vecStreamTags.begin();
-           it != vecStreamTags.end(); ++it) {
-         ATH_MSG_DEBUG("  .. " << (*it).type() << " : " << (*it).name());
-      }
-   }
- 
-   return StatusCode::SUCCESS;
-}
-
-bool TrigPartialEBFilter::randomAccept(double rate) {
-   bool decision = true;
-   if (rate < 0.) {
-      decision = false;
-   } else if (rate > 1.) {
-      decision = true;
-   } else if ((double)std::rand()/double(RAND_MAX) > rate) {
-      decision = false;
-   }
-   return decision;
-}
diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/components/L2muCalibTest_entries.cxx b/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/components/L2muCalibTest_entries.cxx
deleted file mode 100644
index 9ee255197dd..00000000000
--- a/HLT/Trigger/TrigControl/TrigExamples/TrigExL2muCalibTest/src/components/L2muCalibTest_entries.cxx
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "TrigExL2muCalibTest/L2muCalibTest.h"
-#include "TrigExL2muCalibTest/TrigPartialEBFilter.h"
-
-DECLARE_COMPONENT( L2muCalibTest )
-DECLARE_COMPONENT( TrigPartialEBFilter )
-
-- 
GitLab