diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.cxx
index 14933a17e09dd70736c10bad88e647c978b892d4..92de27456e59948d45c40753542aab422229d324 100644
--- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.cxx
+++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.cxx
@@ -1,7 +1,6 @@
 /*
   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
-
 #include "MbtsFexMT.h"
 
 MbtsFexMT::MbtsFexMT(const std::string& name, ISvcLocator* pSvcLocator) :
@@ -13,76 +12,8 @@ MbtsFexMT::~MbtsFexMT()
 {
 }
 
-MbtsFexMT::MbtsFexMT(const std::string &name, ISvcLocator* pSvcLocator): HLT::AllTEAlgo(name, pSvcLocator),
-									 T2MbtsUtils(),
-									 m_timerLoadColl(0),
-									 m_timerAlg(0),
-									 m_timerSave(0),
-									 m_data("TrigDataAccess/TrigDataAccess"),
-									 m_tileTBID(0),
-									 m_error(0),
-									 m_triggerEnergies(xAOD::TrigT2MbtsBits::NUM_MBTS,0.),
-									 m_triggerTimes(xAOD::TrigT2MbtsBits::NUM_MBTS,0.),
-                                                                         m_triggerID(xAOD::TrigT2MbtsBits::NUM_MBTS,0.),
-									 m_useCachedResult(false),
-									 m_t2MbtsBits(0),
-									 m_cachedTE(0) {
-
-  declareProperty("TrigDataAccess",m_data,"Data Access for LVL2 Calo Algorithms");
-
-  // These properties are used for monitoring only.
-  declareProperty("Threshold",                          m_threshold = 40.0/222.0 );  // Value in pC
-  declareProperty("TimeCut",                            m_timeCut=-1.0);
-  declareProperty("GlobalTimeOffset",                   m_globalTimeOffset=0.0);
-  declareProperty("TimeOffsetA0",                       m_timeOffsets[0]=0.0);
-  declareProperty("TimeOffsetA1",                       m_timeOffsets[1]=0.0);
-  declareProperty("TimeOffsetA2",                       m_timeOffsets[2]=0.0);
-  declareProperty("TimeOffsetA3",                       m_timeOffsets[3]=0.0);
-  declareProperty("TimeOffsetA4",                       m_timeOffsets[4]=0.0);
-  declareProperty("TimeOffsetA5",                       m_timeOffsets[5]=0.0);
-  declareProperty("TimeOffsetA6",                       m_timeOffsets[6]=0.0);
-  declareProperty("TimeOffsetA7",                       m_timeOffsets[7]=0.0);
-  declareProperty("TimeOffsetA8",                       m_timeOffsets[8]=0.0);
-  declareProperty("TimeOffsetA9",                       m_timeOffsets[9]=0.0);
-  declareProperty("TimeOffsetA10",                      m_timeOffsets[10]=0.0);
-  declareProperty("TimeOffsetA11",                      m_timeOffsets[11]=0.0);
-  declareProperty("TimeOffsetA12",                      m_timeOffsets[12]=0.0);
-  declareProperty("TimeOffsetA13",                      m_timeOffsets[13]=0.0);
-  declareProperty("TimeOffsetA14",                      m_timeOffsets[14]=0.0);
-  declareProperty("TimeOffsetA15",                      m_timeOffsets[15]=0.0);
-  declareProperty("TimeOffsetC0",                       m_timeOffsets[16]=0.0);
-  declareProperty("TimeOffsetC1",                       m_timeOffsets[17]=0.0);
-  declareProperty("TimeOffsetC2",                       m_timeOffsets[18]=0.0);
-  declareProperty("TimeOffsetC3",                       m_timeOffsets[19]=0.0);
-  declareProperty("TimeOffsetC4",                       m_timeOffsets[20]=0.0);
-  declareProperty("TimeOffsetC5",                       m_timeOffsets[21]=0.0);
-  declareProperty("TimeOffsetC6",                       m_timeOffsets[22]=0.0);
-  declareProperty("TimeOffsetC7",                       m_timeOffsets[23]=0.0);
-  declareProperty("TimeOffsetC8",                       m_timeOffsets[24]=0.0);
-  declareProperty("TimeOffsetC9",                       m_timeOffsets[25]=0.0);
-  declareProperty("TimeOffsetC10",                      m_timeOffsets[26]=0.0);
-  declareProperty("TimeOffsetC11",                      m_timeOffsets[27]=0.0);
-  declareProperty("TimeOffsetC12",                      m_timeOffsets[28]=0.0);
-  declareProperty("TimeOffsetC13",                      m_timeOffsets[29]=0.0);
-  declareProperty("TimeOffsetC14",                      m_timeOffsets[30]=0.0);
-  declareProperty("TimeOffsetC15",                      m_timeOffsets[31]=0.0);
-
-  declareMonitoredVariable("MultiplicityEBA",           m_mult.first); // Number of counters within cuts, side A
-  declareMonitoredVariable("MultiplicityEBC",           m_mult.second); // Number of counters within cuts, side C
-  declareMonitoredVariable("TimeDiff_A_C",              m_timeDiff_A_C);  // Time difference A - C
-  declareMonitoredVariable("BCID",                      m_BCID);
-  declareMonitoredStdContainer("TriggerEnergies",       m_triggerEnergies); // Energies deposited in each counter
-  declareMonitoredStdContainer("TriggerTimes",          m_triggerTimes); // Relative times of each of the triggers.
-  declareMonitoredStdContainer("TriggerID",             m_triggerID); // ID of MBTS detectors
-
-
-}
-//--------------------------------------------------------------------------------------
-
 StatusCode MbtsFexMT::initialize()
 {
-  ATH_CHECK(m_t2MbtsBits.initialize());
-
   if (!m_monTool.empty()) ATH_CHECK(m_monTool.retrieve());
   return StatusCode::SUCCESS;
 }
@@ -93,82 +24,9 @@ StatusCode MbtsFexMT::finalize()
 
 StatusCode MbtsFexMT::execute(const EventContext& context) const
 {
-  // Caching.
-  // First check whether we executed this instance before:
-  if(m_useCachedResult) {
-    ATH_MSG_DEBUG("Executing " << name() << " in cached mode");
-
-    // Get all input TEs (for seeding relation of navigation structure)
-    HLT::TEVec allTEs;
-    std::vector<HLT::TEVec>::const_iterator itEnd = tes_in.end();
-    for( std::vector<HLT::TEVec>::const_iterator it = tes_in.begin(); it != itEnd; ++it) {
-
-      HLT::TEVec::const_iterator inner_itEnd = (*it).end();
-      for (HLT::TEVec::const_iterator inner_it = (*it).begin();
-	      inner_it != inner_itEnd; ++inner_it) {
-        allTEs.push_back(*inner_it);
-      }
-    }
-
-    // Create an output TE seeded by the inputs
-    HLT::TriggerElement* outputTE = config()->getNavigation()->addNode(allTEs, type_out);
-    outputTE->setActiveState(true);
-
-    // Save (cached) feature to output TE:
-    m_config->getNavigation()->copyAllFeatures( m_cachedTE, outputTE );
-
-    return HLT::OK;
-  }
-
-  ATH_MSG_DEBUG("Executing this MbtsFexMT as " << name());
-
-  // start monitoring
-  beforeExecMonitors().ignore();
-
-  // monitor
-  const xAOD::EventInfo* evinfo(0);
-  StatusCode sc = store()->retrieve(evinfo);
-  if( sc.isFailure() ){
-    ATH_MSG_ERROR("Cannot retrieve xAOD::EventInfo from SG.");
-    return HLT::SG_ERROR;
-  }
-  else {
-    m_BCID = evinfo->bcid();
-    ATH_MSG_DEBUG("BCID is " << m_BCID);
-  }
-
-  // Reset errors
-  m_error=0x0;
-
-  if(timerSvc())
-    m_timerLoadColl->start();
-
-  // Reset Iterators
-  m_itBegin=m_itEnd;
-
-  if(m_data->LoadMBTS(m_itBegin,m_itEnd).isFailure()){
-    m_error|=m_data->report_error();
-    return HLT::ErrorCode(HLT::Action::ABORT_CHAIN, HLT::Reason::BAD_JOB_SETUP);
-  }
-
-  if(m_itBegin == m_itEnd) {
-    ATH_MSG_WARNING("The MBTS TileCellCollection has no elements!");
-  }
-
-  if(timerSvc()){
-    m_timerLoadColl->stop();
-    m_timerAlg->start();
-  }
+  SG::ReadHandle<TileTBID> MbtsHelper(m_tileTBID, context );
 
-  uint32_t bit_pos = 0;
 
-  // Clear the monitoring variables.
-  m_triggerID.clear();
-  m_triggerID.resize(xAOD::TrigT2MbtsBits::NUM_MBTS,0);
-  m_triggerEnergies.clear();
-  m_triggerEnergies.resize(xAOD::TrigT2MbtsBits::NUM_MBTS,0);
-  m_triggerTimes.clear();
-  m_triggerTimes.resize(xAOD::TrigT2MbtsBits::NUM_MBTS,0);
 
   // Pack values into vectors.
   for( m_itt=m_itBegin; m_itt != m_itEnd; ++m_itt ){
@@ -230,100 +88,8 @@ StatusCode MbtsFexMT::execute(const EventContext& context) const
     }
   }
 
-  if( timerSvc() ){
-    m_timerAlg->stop();
-    m_timerSave->start();
-  }
-
-  m_t2MbtsBits = new xAOD::TrigT2MbtsBits();
-  m_t2MbtsBits->makePrivateStore();
-  m_t2MbtsBits->setTriggerEnergies(m_triggerEnergies);
-  m_t2MbtsBits->setTriggerTimes(m_triggerTimes);
-
-  // Calculate the multiplicities to fill the monitoring variables
-  if(!calculateMultiplicities(m_t2MbtsBits,0,msg(),msgLvl())) {
-    ATH_MSG_DEBUG("calculateMultiplicities failed");
-    return HLT::OK;
-  }
-
-  // A vector of trigger elements is passed into this function, where
-  // for each trigger element type provided there is a vector of
-  // trigger elements.  For example, L1_MBTS_1 L2_MBTS_2 L3_MBTS_3 are
-  // each a vector of one element.  Therefore start by concatenating
-  // the trigger elements.
-  HLT::TEVec allTEs;
-  std::vector<HLT::TEVec>::const_iterator itEnd = tes_in.end();
-
-  for(std::vector<HLT::TEVec>::const_iterator it = tes_in.begin(); it != itEnd; ++it) {
-
-    HLT::TEVec::const_iterator inner_itEnd = (*it).end();
-    for(HLT::TEVec::const_iterator inner_it = (*it).begin(); inner_it != inner_itEnd; ++inner_it ){
-	    ATH_MSG_DEBUG("Creating TE seeded from input TE " << (*inner_it)->getId());
-      allTEs.push_back(*inner_it);
-    }
-  }
-
-  // Create an output TE seeded by the inputs
-  HLT::TriggerElement* outputTE = config()->getNavigation()->addNode(allTEs, type_out);
-  outputTE->setActiveState(true);
-
-  HLT::ErrorCode hltStatus = attachFeature(outputTE, m_t2MbtsBits, "T2Mbts");
-  if(hltStatus != HLT::OK) {
-    ATH_MSG_ERROR("Write of TrigEMCluster into outputTE failed");
-    return hltStatus;
-  }
-
-  if( timerSvc() )
-    m_timerSave->stop();
-
-  // Cache the TE in case this Fex is called again in this event.
-  m_useCachedResult = true;
-  m_cachedTE = outputTE;
-
-  // Stop monitoring
-  afterExecMonitors().ignore();
 
-  return HLT::OK;
-}
-
-//--------------------------------------------------------------------------------------
-
-HLT::ErrorCode MbtsFexMT::hltInitialize() {
-
-  ATH_MSG_INFO("in MbtsFexMT::initialize()");
-
-  if(m_data.retrieve().isFailure()) {
-    ATH_MSG_ERROR("Could not get m_data");
-    return HLT::BAD_JOB_SETUP;
-  }
-
- // Retrieve TileTBID helper from det store
-  // (The MBTS was added to the Test Beam (TB) list.)
-  if(detStore()->retrieve(m_tileTBID).isFailure()) {
-    ATH_MSG_ERROR("Unable to retrieve TileTBID helper from DetectorStore");
-    return HLT::BAD_JOB_SETUP;
-  }
-
-  // Create timers
-  if(timerSvc()) {
-    m_timerLoadColl  = addTimer("LoadColl");
-    m_timerAlg       = addTimer("Algorithm");
-    m_timerSave      = addTimer("Saving");
-  }
-
-  return HLT::OK;
-}
-
-//--------------------------------------------------------------------------------------
-
-HLT::ErrorCode MbtsFexMT::hltFinalize() {
-  return HLT::OK;
-}
+  /** A pointer for access to the Tile Test Beam Identifier helper. */
 
-//--------------------------------------------------------------------------------------
-HLT::ErrorCode MbtsFexMT::hltEndEvent() {
-     m_useCachedResult = false;
-     m_t2MbtsBits = 0;
-     m_cachedTE=0;
-     return HLT::OK;
+return StatusCode::SUCCESS;
 }
diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.h b/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.h
index a14a1eb95622b9acdf52c19144f3307a396f7785..fbe8b0f2f5cf4997a8f9866b8614fb4d0792a0a7 100644
--- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.h
+++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/MbtsFexMT.h
@@ -5,140 +5,86 @@
 #ifndef TRIGT2MINBIAS_MBTS_FEX_MT_H
 #define TRIGT2MINBIAS_T2_MBTS_FEX_MT_H
 
-#include "TrigInterfaces/AllTEAlgo.h"
-#include "TrigT2CaloCommon/ITrigDataAccess.h"
-#include "TileEvent/TileCellCollection.h"
-#include "T2MbtsUtils.h"
-#include <vector>
-#include "MbtsFexMT.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+#include "xAODTrigger/TrigCompositeContainer.h"
+#include "xAODTrigger/TrigCompositeAuxContainer.h"
+#include "AthenaMonitoringKernel/Monitored.h"
+#include "TrigTimeAlgs/TrigTimerSvc.h"
 #include "xAODTrigMinBias/TrigT2MbtsBits.h"
 #include "xAODTrigMinBias/TrigT2MbtsBitsAuxContainer.h"
 #include "TileIdentifier/TileTBID.h"
-#include "TrigTimeAlgs/TrigTimerSvc.h"
+#include "TrigT2CaloCommon/ITrigDataAccess.h"
 #include "xAODEventInfo/EventInfo.h"
-#include <cstdlib>
-#include <bitset>
-#include <string>
-#include "GaudiKernel/ToolHandle.h"
-class TileTBID;
 
-// namespace xAOD{
-//   class TrigT2MbtsBits;
-// }
+class MbtsFexMT : public AthReentrantAlgorithm {
+public:
+  MbtsFexMT(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~MbtsFexMT() override;
 
-/** @class MbtsFexMT
+  virtual StatusCode initialize() override;
+  virtual StatusCode execute(const EventContext& context) const override;
+  virtual StatusCode finalize() override;
 
-@author W. H. Bell <W.Bell@cern.ch>
+private:
 
-A feature extraction algorithm to retrieve the MBTS TileCells from the DSP
-*/
-class MbtsFexMT: public AthReentrantAlgorithm {
-  public:
-     MbtsFexMT(const std::string& name, ISvcLocator* pSvcLocator);
-    virtual ~ MbtsFexMT() override;
-    virtual StatusCode initialize() override;
-    virtual StatusCode execute(const EventContext& context) const override;
-    virtual StatusCode finalize() override;
-
-   private:
-   /** iterators to TileCells. To be used when on/offline
-       TileCellCont/IDC (fast/slow ByteStream Decoder) are to be used.
-       Used as input for TrigDataAccess::LoadCollections */
-   // TileCellCollection::const_iterator m_itBegin;
-   // TileCellCollection::const_iterator m_itEnd;
-   // TileCellCollection::const_iterator m_itt;
-
-   //   /** DataHandle to TrigTimerSvc */
-   //   ServiceHandle<ITrigTimerSvc> m_timersvc;
-
-   //   /** Timing measures.
-   //       m_timer[0] is the complete exec timer. m_timer[1] is the
-   //       LoadCollection timer (Data Preparation), m_timer[2] is the
-   //       real algorithm timer and m_timer[3] is the saving data
-   //       timer. */
-   //   TrigTimer* m_timer[4];
-
-   TrigTimer *m_timerLoadColl;
-   TrigTimer *m_timerAlg;
-   TrigTimer *m_timerSave;
-   /** A pointer for access to the Tile Test Beam Identifier helper. */
-   const TileTBID* m_tileTBID;
-   /** Object  that provides data access in a Region of
-       Interest. See TrigDataAccess for more details. */
-   // ToolHandle<ITrigDataAccess> m_data;
-ToolHandleArray<MbtsFex>  m_data{this, "data", {},"??"};
-
-   /** Energy deposited in each counter (pC) */
-   std::vector<float> m_triggerEnergies;
-   /** Relative trigger times with repect to collision timing */
-   std::vector<float> m_triggerTimes;
-
-   /** ID of MBTS ID  */
-   //std::vector<int> m_triggerID;
-  // HLT::TriggerElement* m_cachedTE; //!< internal caching: output TE from the first exectution.
-   SG::WriteHandleKey<xAOD::TrigT2MbtsBits> m_t2MbtsBits{this,"t2MbtsBits","Undefined",""};//!< internal caching: MBTS feature from the first execution.
-   Gaudi::Property<bool> m_useCachedResult{this, "useCachedResult",true, "??"};        //!< internal caching: true when the hltExecute will run in cached mode.
-   Gaudi::Property<unsigned int> m_BCID{this, "BCID", 100, "????"};
+Gaudi::Property<bool>  m_useCachedResult{this, "useCachedResult",true, ""};
+SG::WriteHandleKey<xAOD::TrigT2MbtsBits> m_t2MbtsBits{this,"t2MbtsBits","Undefined",""};
+SG::WriteHandleKey<xAOD::TrigT2MbtsBitsAuxContainer> m_t2MbtsBitsAuxKey{this,"t2MbtsBitsAuxKey","Undefined",""};
+SG::ReadHandleKey<TileTBID> m_tileTBID{this,"tileTBID", "DetectorStore+TileTBID"," "};
 ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"};
-declareProperty("TrigDataAccess",m_data,"Data Access for LVL2 Calo Algorithms");
-
-// These properties are used for monitoring only.
-Gaudi::Property<double> m_threshold{this, "threshold", 40.0/222.0, "????"};
-Gaudi::Property<double> m_timeCut{this, "timeCut", 0.0, "????"};
-Gaudi::Property<double>  m_globalTimeOffset{this, " globalTimeOffset",0.0, "????"};
-
-Gaudi::Property<double>  m_timeOffsets[0]{this, "TimeOffsetA0",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[1]{this, "TimeOffsetA1",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[2]{this, "TimeOffsetA2",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[3]{this, "TimeOffsetA3",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[4]{this, "TimeOffsetA4",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[5]{this, "TimeOffsetA5",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[6]{this, "TimeOffsetA6",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[7]{this, "TimeOffsetA7",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[8]{this, "TimeOffsetA8",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[9]{this, "TimeOffsetA9",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[10]{this, "TimeOffsetA10",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[11]{this, "TimeOffsetA11",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[12]{this, "TimeOffsetA12",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[13]{this, "TimeOffsetA13",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[14]{this, "TimeOffsetA14",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[15]{this, "TimeOffsetA15",0.0, "????"};
-
-Gaudi::Property<double>  m_timeOffsets[16]{this, "TimeOffsetA16",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[17]{this, "TimeOffsetA17",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[18]{this, "TimeOffsetA18",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[19]{this, "TimeOffsetA19",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[20]{this, "TimeOffsetA20",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[21]{this, "TimeOffsetA21",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[22]{this, "TimeOffsetA22",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[23]{this, "TimeOffsetA23",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[24]{this, "TimeOffsetA24",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[25]{this, "TimeOffsetA25",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[26]{this, "TimeOffsetA26",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[27]{this, "TimeOffsetA27",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[28]{this, "TimeOffsetA28",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[29]{this, "TimeOffsetA29",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[30]{this, "TimeOffsetA30",0.0, "????"};
-Gaudi::Property<double>  m_timeOffsets[31]{this, "TimeOffsetA31",0.0, "????"};
-
-// declareMonitoredVariable("MultiplicityEBA",           m_mult.first); // Number of counters within cuts, side A
-// declareMonitoredVariable("MultiplicityEBC",           m_mult.second); // Number of counters within cuts, side C
-// declareMonitoredVariable("TimeDiff_A_C",              m_timeDiff_A_C);  // Time difference A - C
-// declareMonitoredVariable("BCID",                      m_BCID);
-// declareMonitoredStdContainer("TriggerEnergies",       m_triggerEnergies); // Energies deposited in each counter
-// declareMonitoredStdContainer("TriggerTimes",          m_triggerTimes); // Relative times of each of the triggers.
-// declareMonitoredStdContainer("TriggerID",             m_triggerID); // ID of MBTS detectors
-
-auto mon_triggerEnergies = Monitored::Scalar<int>("TriggerEnergies",triggerEnergies);
-auto mon_triggerTimes = Monitored::Scalar<int>("TriggerTimes",TriggerTimes);
-auto mon_triggerID = Monitored::Scalar<int>("TriggerID",TriggerID);
-auto mon_timeDiff_A_C = Monitored::Scalar<int>("TimeDiff_A_C",TimeDiff_A_C);
-auto mon_multiplicityEBC = Monitored::Scalar<int>("MultiplicityEBC",MultiplicityEBC);
-auto mon_multiplicityEBA = Monitored::Scalar<int>("MultiplicityEBA",MultiplicityEBA);
-
-Monitored::Group(m_monTool,mon_triggerEnergies,mon_triggerTimes,mon_triggerID,mon_timeDiff_A_C,mon_multiplicityEBC,mon_multiplicityEBA);
+  ToolHandle<ITrigDataAccess> m_dataTool{this,"dataTool","","dataTool"};
+
+  // declareMonitoredVariable("MultiplicityEBA",           m_mult.first); // Number of counters within cuts, side A
+  // declareMonitoredVariable("MultiplicityEBC",           m_mult.second); // Number of counters within cuts, side C
+  // declareMonitoredVariable("TimeDiff_A_C",              m_timeDiff_A_C);  // Time difference A - C
+  // declareMonitoredVariable("BCID",                      m_BCID);
+  // declareMonitoredStdContainer("TriggerEnergies",       m_triggerEnergies); // Energies deposited in each counter
+  // declareMonitoredStdContainer("TriggerTimes",          m_triggerTimes); // Relative times of each of the triggers.
+  // declareMonitoredStdContainer("TriggerID",             m_triggerID); // ID of MBTS detectors
+
+
+  Gaudi::Property<double>m_Threshold{this, "Threshold",40.0/222.0, " "};
+  Gaudi::Property<double>m_TimeCut{this, "TimeCut",-1.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC{this, "TimeOffsetC",0.0, " "};
+//WILL BE MINIMISED SOON..INEFFICIENT DEFINIITION METHOD
+  Gaudi::Property<double>m_TimeOffsetA0{this, "TimeOffsetA0",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA1{this, "TimeOffsetA1",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA2{this, "TimeOffsetA2",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA3{this, "TimeOffsetA3",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA4{this, "TimeOffsetA4",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA5{this, "TimeOffsetA5",0.0, " "};
+
+  Gaudi::Property<double>m_TimeOffsetA6{this, "TimeOffsetA6",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA7{this, "TimeOffsetA7",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA8{this, "TimeOffsetA8",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA9{this, "TimeOffsetA9",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA10{this, "TimeOffsetA10",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA11{this, "TimeOffsetA11",0.0, " "};
+
+  Gaudi::Property<double>m_TimeOffsetA12{this, "TimeOffsetA12",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA13{this, "TimeOffsetA13",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA14{this, "TimeOffsetA14",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetA15{this, "TimeOffsetA15",0.0, " "};
+
+  Gaudi::Property<double>m_TimeOffsetC0{this, "TimeOffsetC0",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC1{this, "TimeOffsetC1",0.0, " "};
+
+  Gaudi::Property<double>m_TimeOffsetC2{this, "TimeOffsetC2",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC3{this, "TimeOffsetC3",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC4{this, "TimeOffsetC4",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC5{this, "TimeOffsetC5",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC6{this, "TimeOffsetC6",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC7{this, "TimeOffsetC7",0.0, " "};
+
+  Gaudi::Property<double>m_TimeOffsetC8{this, "TimeOffsetC8",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC9{this, "TimeOffsetC9",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC10{this, "TimeOffsetC10",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC11{this, "TimeOffsetC11",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC12{this, "TimeOffsetC12",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC13{this, "TimeOffsetC13",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC14{this, "TimeOffsetC14",0.0, " "};
+  Gaudi::Property<double>m_TimeOffsetC15{this, "TimeOffsetC15",0.0, " "};
 
 
 };
-
 #endif