diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IAlgToolCalo.h b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IAlgToolCalo.h index 4a256cd9044f453c41345a5876ae7eeb7145fd06..d08b19554ee42ed438fe24d942f5469cae38e88d 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IAlgToolCalo.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IAlgToolCalo.h @@ -50,6 +50,9 @@ #include "TrigSteeringEvent/Enums.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + //class TrigEMCluster; class TrigTauCluster; class T2CaloConfig; diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IReAlgToolCalo.h b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IReAlgToolCalo.h index 5aed0c8b94b200290ade19bde04f26ed3a0a878b..632282cc5154a83fe44bb4e8ee405723cd6516a0 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IReAlgToolCalo.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/IReAlgToolCalo.h @@ -3,213 +3,105 @@ */ /******************************************************************** - + NAME: IReAlgToolCalo.h PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloCommon - + AUTHOR: D. Oliveira Damazio based on P. Casado work - + PURPOSE: Serve as a basis for the TrigT2Calo Tools - providing some commom framework basis, like - data access via appropriated pointers and - ByteStream converter objects. Also, time - measurement items. + providing some commom framework basis, like + data access via appropriated pointers and + ByteStream converter objects. Also, time + measurement items. KNOWTOINHERIT : TrigT2CaloEgamma/EgammaReSamp2Fex, - EgammaReSamp1Fex, EgammaReEmEnFex, EgammaReHadEnFex + EgammaReSamp1Fex, EgammaReEmEnFex, EgammaReHadEnFex *******************************************************************/ -#ifndef TRIGT2CALOCOMMON_IREALGTOOLCALO_H +#ifndef TRIGT2CALOCOMMON_IREALGTOOLCALO_H #define TRIGT2CALOCOMMON_IREALGTOOLCALO_H -#include "GaudiKernel/IAlgTool.h" #include "AthenaBaseComps/AthAlgTool.h" -#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ServiceHandle.h" +#include "GaudiKernel/ToolHandle.h" -#include "StoreGate/DataHandle.h" +#include "CaloGeoHelpers/CaloSampling.h" #include "CaloIdentifier/CaloIdManager.h" -#include "TrigTimeAlgs/TrigTimerSvc.h" - -#include "TileByteStream/TileCellCont.h" -#include "TrigT2CaloCommon/LArCellCont.h" -#include "Identifier/IdentifierHash.h" -#include "LArRawUtils/LArTT_Selector.h" - -#include "LArRecEvent/LArCellCollection.h" - +#include "StoreGate/DataHandle.h" #include "TileEvent/TileCell.h" - -#include "TrigT2CaloCommon/T2GeometryTool.h" -#include "TrigT2CaloCommon/T2Calibration.h" -#include "TrigT2CaloCommon/ITrigDataAccess.h" #include "TrigT2CaloCommon/ITrigCaloDataAccessSvc.h" -#include "CaloGeoHelpers/CaloSampling.h" +#include "TrigT2CaloCommon/T2Calibration.h" +#include "TrigT2CaloCommon/T2GeometryTool.h" +#include "TrigTimeAlgs/TrigTimerSvc.h" #include "xAODTrigCalo/TrigEMCluster.h" -#include "TrigSteeringEvent/Enums.h" - -//class TrigEMCluster; -class TrigTauCluster; -class T2CaloConfig; -class EventContext; - -static const InterfaceID IID_IReAlgToolCalo("IReAlgToolCalo",1,0); - -static const CaloDetDescrElement* caloReDDENull(nullptr); - -/** Base Class for Tools used for Egamma and Tau Feature - Extraction Algorithms */ -class IReAlgToolCalo: public virtual IAlgTool, - public AthAlgTool { - public: - /** Constructor */ - IReAlgToolCalo(const std::string & type, const std::string & name, - const IInterface* parent) : AthAlgTool(type,name,parent), - m_timersvc("TrigTimerSvc","IReAlgToolCalo"), - m_geometryTool("T2GeometryTool/T2GeometryTool", this ), - m_dataSvc("TrigCaloDataAccessSvc/TrigCaloDataAccessSvc",name), - m_caloDDE(0), m_cellkeepthr(1e5), m_context(nullptr) { - declareInterface<IReAlgToolCalo>(this); - declareProperty("SaveCellsInContainer",m_saveCells=false,"Enables saving of the RoI Calorimeter Cells in StoreGate"); - declareProperty("TrigTimerSvc",m_timersvc,"Trigger Timer Service for benchmarking algorithms"); - declareProperty("T2GeometryTool",m_geometryTool, - "Tool to check that a cells are contained in a given cluster - for different cluster sizes"); - declareProperty("trigDataAccessMT",m_dataSvc,"Data Access for LVL2 Calo Algorithms in MT"); - declareProperty("ThresholdKeepCells",m_cellkeepthr,"Threshold to keep cells into container"); - if ( caloReDDENull != nullptr ) return; - } - /** Destructor */ - virtual ~IReAlgToolCalo() { } - /** Interface ID for a virtual class */ - static const InterfaceID& interfaceID(); - - - /** The same function should initialize all Tools. - It will also provide stardard timers for all tools */ - StatusCode initialize(); - /** Finalize method */ - StatusCode finalize(); - /** @brief This is the execute method for Egamma Algorithms. These - * interface must be common to allow all tools to be called - * within T2CaloEgamma::hltExecute as a vector of IReAlgToolCalos. - * @param[out] ptrigEMCluster : cluster to be filled with FEX results. - * @param[in] eta/phi-min/max : limits of RoI. - */ - - virtual StatusCode execute(xAOD::TrigEMCluster& /*ptrigEMCluster*/, - const IRoiDescriptor& /*roi*/, - const CaloDetDescrElement*& /*caloDDE*/, - const EventContext* /*context*/ - ) const = 0; - - /// obsolete - virtual StatusCode execute(xAOD::TrigEMCluster& /*ptrigEMCluster*/ - , double /*etamin*/, double /*etamax*/, double /*phimin*/ - , double /*phimax*/){return StatusCode::SUCCESS;} - /** @brief This is the execute method for Tau Algorithms. These - * interface must be common to allow all tools to be called - * within T2CaloTau::hltExecute as a vector of IReAlgToolCalos. - * @param[out] ptrigTauCluster : cluster to be filled with FEX results. - * @param[in] eta/phi-min/max : limits of RoI. - */ - /** Expose error for a given IReAlgToolCalo */ - uint32_t report_error() const { return m_error; }; - - /** enumerate tau-specific errors */ - enum TAUCLUSTERROR{ - FAILPRESEED=31, - FAILSEED=30, - HADS1E0=11, - HADS2E0=10, - HADS3E0=9, - EMS0E0=15, - EMS1E0=14, - EMS2E0=13, - EMS3E0=12 - }; - - /** Sets the pointer of the cell container */ - void setCellContainerPointer(CaloCellContainer** p ) - { m_CaloCellContPoint = p; } - - protected: - - /** methods to manage error bit inside the tools: general and tau-specific */ - void SetClusterError(unsigned int bit) { m_error |= (0x1<<bit); } - void ClearClusterError(unsigned int bit) { m_error &= ~(0x1<<bit); } - void SetClusterError(TAUCLUSTERROR biterr) { SetClusterError((unsigned int)biterr); } - void ClearClusterError(TAUCLUSTERROR biterr) { ClearClusterError((unsigned int)biterr); } - - +/** Base Class for Tools used for Egamma and Tau Feature Extraction Algorithms */ +class IReAlgToolCalo : public AthAlgTool { +public: + IReAlgToolCalo(const std::string& type, const std::string& name, const IInterface* parent); + virtual ~IReAlgToolCalo() {} + + virtual StatusCode initialize() override; + + /** @brief This is the execute method for Egamma Algorithms. These + * interface must be common to allow all tools to be called + * within T2CaloEgamma::hltExecute as a vector of IReAlgToolCalos. + * @param[out] ptrigEMCluster : cluster to be filled with FEX results. + * @param[in] eta/phi-min/max : limits of RoI. + */ + virtual StatusCode execute(xAOD::TrigEMCluster& ptrigEMCluster, const IRoiDescriptor& roi, + const CaloDetDescrElement*& caloDDE, + const EventContext& context) const = 0; + +protected: #ifndef NDEBUG - /** Very useful function to check about the Cluster structure. - It prints out a grid of cells eta and phi positions and energies. - Only exist in DEBUG versions of the code. */ - void PrintCluster(const double energyFromAlg, const int nCaloType,const int nCaloSamp, - const CaloSampling::CaloSample, const CaloSampling::CaloSample ) const; + /** Very useful function to check about the Cluster structure. + It prints out a grid of cells eta and phi positions and energies. + Only exist in DEBUG versions of the code. */ + void PrintCluster(const double energyFromAlg, const int nCaloType, const int nCaloSamp, + const CaloSampling::CaloSample, const CaloSampling::CaloSample) const + {} #endif - /** Store All Calorimeter Cells in RoI in an StoreGate Container. */ - void storeCells(void); - - /** 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 measure items in all IReAlgToolCalos. - m_timer[0] is the complete exec timer. m_timer[1] is the - Region Selector timer, m_timer[2] is the LoadCollection - timer (Data Preparation), m_timer[3] is the real algorithmic - timer and m_timer[4] is the saving data (to TrigCaloEvent - object) timer. */ - TrigTimer* m_timer[5]; - - /** Objects will need T2Calibration. So far, a given tool will - not need more than one of such objects. */ - T2Calibration *m_calib; - /** Input objects to calibration. This will be changed in such - a way the the calibration tool will have to know alone about - such properties. */ - std::vector<float> m_limit; - std::vector<int> m_dimension; - std::vector<float> m_correction; - - /** Objects will need T2GeometryTool (maybe two instances - for EmEn and three for HadEn - to be studied) */ - ToolHandle<IT2GeometryTool> m_geometryTool; - /** Object that provides data access in a Region of - Interest. See TrigCaloDataAccessSvc for more details. */ - ServiceHandle<ITrigCaloDataAccessSvc> m_dataSvc; - /** Calorimeter Id Manager for calorimeter part - determination (Barrel versus EndCap) */ - const DataHandle<CaloIdManager> m_larMgr; - /** (don't by default) Save Calorimeter Cells in StoreGate - for a posteriori analysis */ - bool m_saveCells; - /** Pointer of the cell container */ - CaloCellContainer** m_CaloCellContPoint; - // Objects that the Tools should not worry about - protected: - bool m_lardecoded, m_tiledecoded; - /** error control (not really used for MT case) */ - mutable uint32_t m_error; - /** caloDDE (of the cluster 2nd layer hottest cell) */ - const CaloDetDescrElement* m_caloDDE; - /** Threshold to keep cells in RoI */ - float m_cellkeepthr; - /** Pointer of the context */ - const EventContext* m_context; - private: -}; -inline const InterfaceID& IReAlgToolCalo::interfaceID() -{ - return IID_IReAlgToolCalo; -} + /** Timing measure items in all IReAlgToolCalos. + m_timer[0] is the complete exec timer. m_timer[1] is the + Region Selector timer, m_timer[2] is the LoadCollection + timer (Data Preparation), m_timer[3] is the real algorithmic + timer and m_timer[4] is the saving data (to TrigCaloEvent + object) timer. */ + TrigTimer* m_timer[5]; + + /** Objects will need T2Calibration. So far, a given tool will + not need more than one of such objects. */ + T2Calibration* m_calib{nullptr}; + + /** Input objects to calibration. This will be changed in such + a way the the calibration tool will have to know alone about + such properties. */ + std::vector<float> m_limit; + std::vector<int> m_dimension; + std::vector<float> m_correction; + + /** Calorimeter Id Manager for calorimeter part determination (Barrel versus EndCap) */ + const DataHandle<CaloIdManager> m_larMgr; + + // Properties + Gaudi::Property<bool> m_saveCells{this, "SaveCellsInContainer", false, + "Enables saving of the RoI Calorimeter Cells in StoreGate"}; + + Gaudi::Property<float> m_cellkeepthr{this, "ThresholdKeepCells", 1e5, + "Threshold to keep cells incontainer"}; + + ServiceHandle<ITrigTimerSvc> m_timersvc{this, "TrigTimerSvc", "TrigTimerSvc/TrigTimerSvc", + "Trigger Timer Service for benchmarking algorithms"}; + + ToolHandle<IT2GeometryTool> m_geometryTool{ + this, "T2GeometryTool", "T2GeometryTool/T2GeometryTool", + "Tool to check that a cells are contained in a given cluster"}; + + ServiceHandle<ITrigCaloDataAccessSvc> m_dataSvc{this, "trigDataAccessMT", + "TrigCaloDataAccessSvc/TrigCaloDataAccessSvc", + "Data Access for LVL2 Calo Algorithms in MT"}; +}; #endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/ITrigCaloDataAccessSvc.h b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/ITrigCaloDataAccessSvc.h index 6a1fa8ada2165c62165ad7a8ebb91a832b2b1af5..33a22a1bb84dce4346adb41461a42fd0e8a05579 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/ITrigCaloDataAccessSvc.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/TrigT2CaloCommon/ITrigCaloDataAccessSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #ifndef TrigT2CaloCommon_ITrigCaloDataAccessSvc_h #define TrigT2CaloCommon_ITrigCaloDataAccessSvc_h @@ -10,6 +10,7 @@ #include "LArRecEvent/LArFebEnergyCollection.h" #include "TileEvent/TileCellCollection.h" #include "TileEvent/TileL2Container.h" +#include "IRegionSelector/IRoiDescriptor.h" #include "IRegionSelector/RegSelEnums.h" #include "CaloEvent/CaloCellContainer.h" #include "ZdcEvent/ZdcRawChannelCollection.h" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/TriggerConfig_TrigT2Calo.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/TriggerConfig_TrigT2Calo.py deleted file mode 100755 index 18b09a111bc534e4705e95f39b8731b1a65a6d1b..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/TriggerConfig_TrigT2Calo.py +++ /dev/null @@ -1,41 +0,0 @@ -include.block("TrigT2CaloCommon/TriggerConfig_TrigT2Calo.py") -# -# Configure a suitable TrigMoore Algorithm instance -# -# Constructor arguments: -# level, type, threshold, isIsolated -# -# e.g. level=L2, type=muon, threshold=30, isIsolated=None -# level=EF, type=egamma, threshold=20, isIsolated=isolated -# -# Methods: -# instanceName() : returns name of algorithm instance -# classAndInstanceName() : returns a list of strings to be entered in the sequence file. This string -# defines the class and instance name - -class TriggerConfig_TrigT2Calo: - - def __init__(self, level, type = None, threshold = None, isIsolated = None): - - # **temp the only instance name possible at present is MooHLTEFAlgo_m1_EF - - if type == "egamma": - self.__instname__ = "T2CaloEgamma_g4_" - self.__sequence__ = "T2CaloEgamma/T2CaloEgamma/g4" - include( "TrigT2CaloEgamma/jobOfragment_TrigT2CaloEgamma.py" ) - include.block( "TrigT2CaloEgamma/jobOfragment_TrigT2CaloEgamma.py" ) - if type == "jet": - self.__instname__ = "T2CaloJet_g4_" - self.__sequence__ = "T2CaloJet/T2CaloJet/g4" - include("TrigT2CaloJet/jobOfragment_TrigT2CaloJet.py") - include.block("TrigT2CaloJet/jobOfragment_TrigT2CaloJet.py") - - self.__instname__ += level - - - def instanceName(self): - return self.__instname__ - - def classAndInstanceName(self): - return [ self.__sequence__ ] - diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/IReAlgToolCalo.cxx b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/IReAlgToolCalo.cxx index d08330d84d60ddaecb42a51387218fc31e1bd453..f532ce649dc136782988eb74337166868dfc940b 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/IReAlgToolCalo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/IReAlgToolCalo.cxx @@ -1,8 +1,7 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ - // ******************************************************************** // // NAME: IReAlgToolCalo.cxx @@ -15,114 +14,24 @@ // // ******************************************************************** -#include "GaudiKernel/MsgStream.h" -#include "CaloIdentifier/LArEM_ID.h" -#include "LArRecEvent/LArCell.h" - -#include "CaloIdentifier/LArEM_ID.h" -//#include "TrigCaloEvent/TrigEMCluster.h" -#include "xAODTrigCalo/TrigEMCluster.h" -#include "CaloGeoHelpers/CaloSampling.h" -#include "CaloEvent/CaloCellContainer.h" - #include "TrigT2CaloCommon/IReAlgToolCalo.h" -#include "TrigInterfaces/FexAlgo.h" +/** Constructor */ +IReAlgToolCalo::IReAlgToolCalo(const std::string& type, const std::string& name, + const IInterface* parent) : + AthAlgTool(type, name, parent) +{} -// Initialize method for all tools -// Retrieval of all Tools to be used during run StatusCode IReAlgToolCalo::initialize() { - ATH_MSG_DEBUG("in initialize() by IReAlgToolCalo"); - - ATH_CHECK( detStore()->retrieve(m_larMgr) ); - if ( !m_dataSvc.empty() ) ATH_CHECK( m_dataSvc.retrieve() ); - ATH_CHECK( m_geometryTool.retrieve() ); + ATH_CHECK(detStore()->retrieve(m_larMgr)); + if (!m_dataSvc.empty()) ATH_CHECK(m_dataSvc.retrieve()); + ATH_CHECK(m_geometryTool.retrieve()); - // Initialize timing service in order to perform some measures - // of performance - if( !m_timersvc.empty() && m_timersvc.retrieve().isFailure() ) { - ATH_MSG_WARNING( name() << - ": Unable to locate TrigTimer Service" ); - // Does not need to fail the Algorithm if no timing service is found - } // End of if timing service - // Initialize four timers for RegionSelector, ByteStreamCnv, - // Algorithm time, Saving EMShowerMinimal - if (!m_timersvc.empty()) { - if ( name().find("Fex",0) == std::string::npos) - ATH_MSG_WARNING( " Name of Alg not found" ); - else { - std::string basename(name().substr(6,1)+name().substr(name().find("Fex",0)-5,5)); - //basename+=(name().substr(6,1)+name().substr(name().find("Fex",0)-5,5)); - ATH_MSG_INFO( "BaseName is : " << basename ); - HLT::FexAlgo *p = dynamic_cast<HLT::FexAlgo*>(const_cast<IInterface*>(parent())); - /* - m_timer[0] = m_timersvc->addItem(basename+"Total"); - m_timer[1] = m_timersvc->addItem(basename+"RegSel"); - m_timer[2] = m_timersvc->addItem(basename+"BSCnv"); - m_timer[3] = m_timersvc->addItem(basename+"Algor"); - m_timer[4] = m_timersvc->addItem(basename+"SaveEM"); - */ - std::string Total((basename+"Total")); - m_timer[0] = p->addTimer(Total); - std::string RegSel((basename+"RegSel")); - m_timer[1] = p->addTimer(RegSel); - std::string BSCnv((basename+"BSCnv")); - m_timer[2] = p->addTimer(BSCnv); - std::string Algor((basename+"Algor")); - m_timer[3] = p->addTimer(Algor); - std::string SaveEM((basename+"SaveEM")); - m_timer[4] = p->addTimer(SaveEM); - } // End of check for Fex - } // End of if timing service + // Calibration object initialization + if (m_limit.size() != 0) { + m_calib->initialize(m_limit, m_dimension, m_correction); + } - // Calibration object initialization - if ( m_limit.size() != 0 ){ - m_calib->initialize(m_limit,m_dimension,m_correction); - } - m_lardecoded=true; - m_tiledecoded=true; - - return StatusCode::SUCCESS; -} // End of initialize - -// Finalize method for all tools -// nothing realy important done here -StatusCode IReAlgToolCalo::finalize(){ - ATH_MSG_DEBUG( "in finalize() by IReAlgToolCalo" ); return StatusCode::SUCCESS; -} // End of finalize - -#ifndef NDEBUG -//#define EXTRADEBUG -// Method designed by Tomek Kott. This method -// Loops over cells and try to find out about their energy -// Then it prints out a cluster view for debugging purposes. -#ifdef EXTRADEBUG -# define ARG(x) x -#else -# define ARG(x) -#endif - -void IReAlgToolCalo::PrintCluster(const double ARG(energyFromAlg), - const int ARG(nCaloType), - const int ARG(nCaloSamp), - CaloSampling::CaloSample ARG(SAMP1), - CaloSampling::CaloSample ARG(SAMP2) ) const -#undef ARG -{ -#ifdef EXTRADEBUG - // empty for now - -#endif // End of if EXTRADEBUG -return; -} // End of PrintCluster - -#endif - -// very loose implementation. No worry about time performance -void IReAlgToolCalo::storeCells( void ) { - - // empty for now - return; } diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/ATLAS_CHECK_THREAD_SAFETY new file mode 100644 index 0000000000000000000000000000000000000000..7bbe5ba67bc422eef2e0d7017e450fa38fa2cd1b --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/ATLAS_CHECK_THREAD_SAFETY @@ -0,0 +1 @@ +Trigger/TrigAlgorithms/TrigT2CaloEgamma diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/CMakeLists.txt b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/CMakeLists.txt index f05cdf79bb13dc03b4cf3e64fe8f5b6704a3fc4d..bb3ad649f5bfbb78cc79e94172f2a6e0f68eb4eb 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/CMakeLists.txt +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/CMakeLists.txt @@ -26,17 +26,15 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigTools/TrigTimeAlgs ) # Component(s) in the package: -atlas_add_library( TrigT2CaloEgammaLib - src/*.cxx - PUBLIC_HEADERS TrigT2CaloEgamma - LINK_LIBRARIES CaloEvent CaloGeoHelpers xAODTrigCalo xAODTrigRinger GaudiKernel TrigSteeringEvent TrigT2CaloCommonLib CaloDetDescrLib TrigT2CaloCalibrationLib TrigTimeAlgsLib - PRIVATE_LINK_LIBRARIES CaloIdentifier AthLinks IRegionSelector TrigT1Interfaces ) - atlas_add_component( TrigT2CaloEgamma + src/*.cxx src/components/*.cxx - LINK_LIBRARIES CaloEvent CaloGeoHelpers xAODTrigCalo xAODTrigRinger GaudiKernel TrigT2CaloCommonLib TrigSteeringEvent CaloDetDescrLib CaloIdentifier AthLinks IRegionSelector TrigT1Interfaces TrigT2CaloCalibrationLib TrigTimeAlgsLib TrigT2CaloEgammaLib ) + LINK_LIBRARIES CaloEvent CaloGeoHelpers xAODTrigCalo xAODTrigRinger GaudiKernel TrigT2CaloCommonLib TrigSteeringEvent CaloDetDescrLib CaloIdentifier AthLinks IRegionSelector TrigT1Interfaces TrigT2CaloCalibrationLib TrigTimeAlgsLib ) # Install files from the package: atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) +# Python code checking: +atlas_add_test( flake8 + SCRIPT flake8 --select=F,E7,E9,W6 ${CMAKE_CURRENT_SOURCE_DIR}/python + POST_EXEC_SCRIPT nopost.sh ) diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReEmEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReEmEnFex.h deleted file mode 100755 index 97d846232d5ab27e0869cb9982533c82e9072349..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReEmEnFex.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -/******************************************************************** - - NAME: EgammaReEmEnFex.h - PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma - - AUTHOR: M.P. Casado - - PURPOSE: Based on Cluster position defined in the second - EM Calorimeter layer, calculates total EM cluster - energy. - *******************************************************************/ - -#ifndef TRIGT2CALOEGAMMA_EGAMMAEMENFEXRE_H -#define TRIGT2CALOEGAMMA_EGAMMAEMENFEXRE_H - -#include "TrigT2CaloCommon/IReAlgToolCalo.h" -#include "TrigT2CaloCommon/phiutils.h" -#include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "GaudiKernel/AlgTool.h" - -/** Feature extraction Tool for LVL2 Calo. EM Presampler and - third EM Calorimeter sample. */ -class EgammaReEmEnFex: public IReAlgToolCalo { - public: - // to avoid compiler warning about hidden virtuals - using IReAlgToolCalo::execute; - - /** Constructor */ - EgammaReEmEnFex(const std::string & type, const std::string & name, - const IInterface* parent); - /** Destructor */ - virtual ~EgammaReEmEnFex(); - /** @brief execute feature extraction for the EM Calorimeter - * second layer - * @param[out] rtrigEmCluster is the output cluster. - * @param[in] roi RoI definition. - */ - StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, - const IRoiDescriptor& roi, - const CaloDetDescrElement*& caloDDE = caloReDDENull, - const EventContext* context = nullptr ) const; - - /// OBSOLETE!! DO NOT USE - - /** @brief execute feature extraction for the EM Calorimeter - * second layer - * @param[out] rtrigEmCluster is the output cluster. - * @param[in] eta/phi-min/max = RoI definition. - */ - StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, - double etamin, double etamax, - double phimin, double phimax) { - TrigRoiDescriptor roi( 0.5*(etamin+etamax), etamin, etamax, - HLT::phimean(phimin,phimax), phimin, phimax); - return execute( rtrigEmCluster, roi, caloReDDENull, nullptr ); - } - - -}; - - -#endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReHadEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReHadEnFex.h deleted file mode 100755 index 19e3cf635ef24151ec854f394c4550c3086a5c12..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReHadEnFex.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -/******************************************************************** - - NAME: EgammaReHadEnFex.h - PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma - - AUTHOR: M.P. Casado - - PURPOSE: Based on Cluster position defined in the second - EM Calorimeter layer, calculates total Had cluster - energy. - *******************************************************************/ - -#ifndef TRIGT2CALOEGAMMA_EGAMMAHADENFEXRE_H -#define TRIGT2CALOEGAMMA_EGAMMAHADENFEXRE_H - -#include "TrigT2CaloCommon/IReAlgToolCalo.h" -#include "GaudiKernel/AlgTool.h" - -/** Feature extraction Tool for LVL2 Calo. Hadronic EndCaps - and Tile Calorimeter. All Samples */ -class EgammaReHadEnFex: public IReAlgToolCalo { - public: - // to avoid compiler warning about hidden virtuals - using IReAlgToolCalo::execute; - - /** Constructor */ - EgammaReHadEnFex(const std::string & type, const std::string & name, - const IInterface* parent); - /** Destructor */ - virtual ~EgammaReHadEnFex(); - /** @brief execute feature extraction for the EM Calorimeter - * second layer - * @param[out] rtrigEmCluster is the output cluster. - * @param[in] eta/phi-min/max = RoI definition. - */ - StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, - const IRoiDescriptor& roi, - const CaloDetDescrElement*& caloDDE = caloReDDENull, - const EventContext* context = nullptr ) const; - - // StatusCode execute(TrigEMCluster &rtrigEmCluster,double etamin, - // double etamax, double phimin, double phimax); - - - StatusCode initialize() { - // Very important to call base class initialize - if ( IReAlgToolCalo::initialize().isFailure() ) { - *(new MsgStream(AlgTool::msgSvc(), name())) - << MSG::FATAL - << "Could not init base class IReAlgTooCalo" << endmsg; - } - if (!m_timersvc.empty()) { - m_timer[0]->propName("T2CaEm_NCells"); - } - return StatusCode::SUCCESS; - } - -}; - - -#endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgammaFastAlgo.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgammaFastAlgo.h deleted file mode 100755 index b2b9e37c5d21cfc5006beca277f5d37d1e577d0e..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgammaFastAlgo.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -/** - - NAME: T2CaloEgammaFastAlgo.h - PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma - - AUTHOR: Denis Oliveira Damazio and Carlos Chavez Barajas - - PURPOSE: New Algorithm to play with Future Framework - **/ - -#ifndef TRIGT2CALOEGAMMA_T2CALOEGAMMAFASTALGO_H -#define TRIGT2CALOEGAMMA_T2CALOEGAMMAFASTALGO_H - -#include <string> -#include "AthenaBaseComps/AthAlgorithm.h" -#include "egammaInterfaces/Iegammaqweta2c.h" -#include "xAODTrigCalo/TrigEMCluster.h" -#include "GaudiKernel/ToolHandle.h" -#include "GaudiKernel/ServiceHandle.h" - -#include "StoreGate/ReadHandleKey.h" -#include "StoreGate/WriteHandleKey.h" -#include "xAODTrigCalo/TrigEMClusterContainer.h" -#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h" -#include "IRegionSelector/IRegSelSvc.h" - -class IAlgToolCalo; -class IEgammaCalibration; -class ITrigDataAccess; - -/** Main LVL2 Algorithm. Processes LVL1 information, call FEX - IAlgToolCalos and produces the TrigEMCluster output. */ -class T2CaloEgammaFastAlgo: public AthAlgorithm { - - - public: - T2CaloEgammaFastAlgo(const std::string & name, ISvcLocator* pSvcLocator); - virtual ~T2CaloEgammaFastAlgo(); - - virtual StatusCode execute() override; - virtual StatusCode initialize() override; - - private: - /** To support new monitoring. Values must be copied to - this monitored Cluster for each RoI. */ - const xAOD::TrigEMCluster* m_monitoredCluster; - /** To monitor rCore */ - float m_rCore; - /** To monitor eRatio */ - float m_eRatio; - /** To monitor r strips */ - float m_stripRatio; - /** Forced LVL1 eta */ - float m_l1eta; - /** Forced LVL1 phi */ - float m_l1phi; - /** counter for conversion error */ - unsigned int m_conversionError; - /** counter for algorithm error */ - unsigned int m_algorithmError; - /** Monitored Eta and Phi */ - float m_MonEta, m_MonPhi; - - //int m_index; - /** Calibration tools for the Barrel*/ - ToolHandleArray<IEgammaCalibration> m_calibsBarrel; - /** Calibration tools for the Endcap*/ - ToolHandleArray<IEgammaCalibration> m_calibsEndcap; - - // Properties: - std::string m_trigEmClusterKey; - /** Should or not storeCells into a cell container attached to output RoI */ - bool m_storeCells; - /** container pointer */ - //CaloCellContainer* m_Container; - /** Correction tool for the cluster width */ - //ToolHandle<Iegammaqweta2c> m_egammaqweta2c; - - /* Variables to calculate Z0 position */ - //std::vector<float> m_rhoFirstLayer, m_rhoMiddleLayer, m_zFirstLayer, m_zMiddleLayer; - std::vector<float> m_rhoEta, m_zEta;/* Variables to calculate Z0 position */ - - // variables that were in T2CaloBase - /** Eta width of Region of Interest. Should be 0.2 for EGamma. */ - double m_etaWidth; - /** Phi width of Region of Interest. Should be 0.2 for EGamma. */ - double m_phiWidth; - ToolHandleArray<IAlgToolCalo> m_emAlgTools; - ToolHandle<ITrigDataAccess> m_data; - SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey; - SG::WriteHandleKey<xAOD::TrigEMClusterContainer> m_clusterContainerKey; - SG::ReadHandle<TrigRoiDescriptorCollection> m_roiCollection; - SG::WriteHandle<xAOD::TrigEMClusterContainer> m_trigEmClusterCollection; - SG::WriteHandle<xAOD::TrigEMClusterAuxContainer> m_trigEmClusterAuxCollection; - ServiceHandle<IRegSelSvc> m_regionSelector; - - - - // SG::WriteHandleKey<TrigEMClusterContainer> m_clusterContainerKey; - -}; - -#endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/RingerConstants.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/RingerConstants.py index bd90f26b902d8a7b7d55275fb3ee1afacea55f21..688163bd033ed866995c15dfb7037070f48f28f8 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/RingerConstants.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/RingerConstants.py @@ -1,50 +1,50 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -class SectionClass: +class SectionClass(object): def __init__(self): - self.EM = 0; - self.HAD = 1; + self.EM = 0 + self.HAD = 1 -Section = SectionClass(); +Section = SectionClass() -class NormalisationClass: +class NormalisationClass(object): def __init__(self): - self.EVENT = 0; - self.SECTION = 1; - self.SET = 2; - self.SEQUENTIAL = 3; - self.NONE = 4; + self.EVENT = 0 + self.SECTION = 1 + self.SET = 2 + self.SEQUENTIAL = 3 + self.NONE = 4 -Normalisation = NormalisationClass(); +Normalisation = NormalisationClass() -class LayerClass: +class LayerClass(object): def __init__(self): - self.PreSamplerB = 0; - self.EMB1 = 1; - self.EMB2 = 2; - self.EMB3 = 3; - self.PreSamplerE = 4; - self.EME1 = 5; - self.EME2 = 6; - self.EME3 = 7; - self.HEC0 = 8; - self.HEC1 = 9; - self.HEC2 = 10; - self.HEC3 = 11; - self.TileBar0 = 12; - self.TileBar1 = 13; - self.TileBar2 = 14; - self.TileGap0 = 15; - self.TileGap1 = 16; - self.TileGap2 = 17; - self.TileExt0 = 18; - self.TileExt1 = 19; - self.TileExt2 = 20; - self.FCAL0 = 21; - self.FCAL1 = 22; - self.FCAL2 = 23; - self.Unknown = 24; + self.PreSamplerB = 0 + self.EMB1 = 1 + self.EMB2 = 2 + self.EMB3 = 3 + self.PreSamplerE = 4 + self.EME1 = 5 + self.EME2 = 6 + self.EME3 = 7 + self.HEC0 = 8 + self.HEC1 = 9 + self.HEC2 = 10 + self.HEC3 = 11 + self.TileBar0 = 12 + self.TileBar1 = 13 + self.TileBar2 = 14 + self.TileGap0 = 15 + self.TileGap1 = 16 + self.TileGap2 = 17 + self.TileExt0 = 18 + self.TileExt1 = 19 + self.TileExt2 = 20 + self.FCAL0 = 21 + self.FCAL1 = 22 + self.FCAL2 = 23 + self.Unknown = 24 Layer = LayerClass() diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaConfig.py index c43aeae39e83071a4af284b784b40c766b91e769..1dbe9923e67de2482f4904248a80541a0fa95817 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaConfig.py @@ -1,7 +1,5 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration - -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloSwCluster from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaSamp1Fex as _EgammaSamp1Fex from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaSamp2Fex as _EgammaSamp2Fex from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaEmEnFex as _EgammaEmEnFex @@ -13,20 +11,16 @@ from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReSamp2Fex from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReEmEnFex from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReHadEnFex from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgamma -from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgammaFastAlgo, T2CaloEgammaReFastAlgo +from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgammaReFastAlgo from TrigT2CaloCalibration.EgammaCalibrationConfig import EgammaHitsCalibrationBarrelConfig, EgammaHitsCalibrationEndcapConfig, EgammaGapCalibrationConfig from TrigT2CaloCalibration.EgammaCalibrationConfig import EgammaTransitionRegionsConfig from TrigT2CaloCalibration.EgammaCalibrationConfig import EgammaSshapeCalibrationBarrelConfig, EgammaSshapeCalibrationEndcapConfig -from TrigT2CaloEgamma.TrigT2CaloEgammaMonitoring import TrigT2CaloEgammaValMonitoring, TrigT2CaloEgammaCosmicMonitoring, TrigT2CaloEgammaOnMonitoring, TrigT2CaloEgammaSwValMonitoring, TrigT2CaloEgammaSwOnMonitoring, TrigT2CaloEgammaSwCosMonitoring, TrigT2CaloEgammaTimeMonitoring, TrigT2CaloEgammaAllTimeMonitoring, TrigT2CaloEgammaRingerTimeMonitoring +from TrigT2CaloEgamma.TrigT2CaloEgammaMonitoring import TrigT2CaloEgammaValMonitoring, TrigT2CaloEgammaCosmicMonitoring, TrigT2CaloEgammaOnMonitoring, TrigT2CaloEgammaTimeMonitoring, TrigT2CaloEgammaAllTimeMonitoring, TrigT2CaloEgammaRingerTimeMonitoring from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig -#from TrigTimeMonitor.TrigTimeTreeToolConfig import TrigTimeTreeToolConfig t2catime = TrigTimeHistToolConfig("Time") -#t2catime=TrigTimeTreeToolConfig("T2CaloEgammaTimer") - -from AthenaCommon.Constants import VERBOSE,DEBUG class EgammaAllFex (_EgammaAllFex): __slots__ = [] @@ -126,10 +120,7 @@ class T2CaloEgamma_eGamma (T2CaloEgamma): samp1 = EgammaSamp1Fex() sampe = EgammaEmEnFex() samph = EgammaHadEnFex() - self.IAlgToolList= [ samp2, - samp1, - sampe, - samph] + self.IAlgToolList= [ samp2, samp1, sampe, samph ] self.EtaWidth = 0.2 self.PhiWidth = 0.2 self.EtaWidthForID = 0.1 @@ -138,15 +129,15 @@ class T2CaloEgamma_eGamma (T2CaloEgamma): self.TrigEMClusterKey="TrigT2CaloEgamma" #self.Monitoring=False #self.OutputLevel = 1 - # detailed timing + # detailed timing #t2catime=TrigTimeTreeToolConfig("T2CaloEgammaTimer") #t2catime=TrigTimeHistToolConfig("T2CaloEgammaTimer") #t2catime.Key = ["ESamp2.ESamp2Total","ESamp2.ESamp2RegSel","ESamp2.ESamp2BSCnv","ESamp2.ESamp2Algor","ESamp2.ESamp2SaveEM","ESamp2.ESamp2Eta","ESamp2.ESamp2Total:ESamp2Eta"] #t2catime.TimerHistLimits = [0,20] self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring(name="TrigT2CaloEgammaOnMonitoring_doTimeHist",doTimeHist=True), - TrigT2CaloEgammaTimeMonitoring()] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring(name="TrigT2CaloEgammaOnMonitoring_doTimeHist",doTimeHist=True), + TrigT2CaloEgammaTimeMonitoring()] self.CalibListEndcap=[EgammaSshapeCalibrationEndcapConfig()] self.CalibListBarrel=[EgammaSshapeCalibrationBarrelConfig()] self.CalibListBarrel+=[EgammaHitsCalibrationBarrelConfig()] @@ -161,31 +152,31 @@ class T2CaloEgamma_eGamma (T2CaloEgamma): 1538.55, 1536.49, 1535.31, 1535.93, 1536.14, # Eta range: 0.50 ~ 0.55 ~ 0.60 ~ 0.65 ~ 0.70 ~ 0.75 1535.93, 1524.32, 1524.82, 1525.86, 1523.97, # Eta range: 0.75 ~ 0.80 ~ 0.85 ~ 0.90 ~ 0.95 ~ 1.00 1526.66, 1524.73, 1524.00, 1522.18, 1520.65, # Eta range: 1.00 ~ 1.05 ~ 1.10 ~ 1.15 ~ 1.20 ~ 1.25 - 1519.67, 1517.90]; # Eta range: 1.25 ~ 1.30 ~ 1.37 + 1519.67, 1517.90] # Eta range: 1.25 ~ 1.30 ~ 1.37 self.RhoMiddleLayer= [1756.75, 1757.91, 1757.06, 1758.25, 1757.40, # Eta range: 0.00 ~ 0.05 ~ 0.10 ~ 0.15 ~ 0.20 ~ 0.25 1758.75, 1757.90, 1756.01, 1754.76, 1748.07, # Eta range: 0.25 ~ 0.30 ~ 0.35 ~ 0.40 ~ 0.45 ~ 0.50 1740.84, 1735.52, 1732.03, 1721.71, 1716.65, # Eta range: 0.50 ~ 0.55 ~ 0.60 ~ 0.65 ~ 0.70 ~ 0.75 1710.82, 1739.15, 1728.36, 1722.92, 1716.45, # Eta range: 0.75 ~ 0.80 ~ 0.85 ~ 0.90 ~ 0.95 ~ 1.00 1707.56, 1697.96, 1689.75, 1684.23, 1671.07, # Eta range: 1.00 ~ 1.05 ~ 1.10 ~ 1.15 ~ 1.20 ~ 1.25 - 1663.98, 1662.04]; # Eta range: 1.25 ~ 1.30 ~ 1.37 + 1663.98, 1662.04] # Eta range: 1.25 ~ 1.30 ~ 1.37 self.RhoEta = [0, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, # eta point 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.05, 1.10, 1.15, # eta point - 1.20, 1.25, 1.30, 1.37]; + 1.20, 1.25, 1.30, 1.37] self.ZFirstLayer = [3790.00, 3790.00, 3790.00, 3790.00, 3790.00, # 1.52 - 1.55 ~ 1.60 - 1.65 ~ 1.70 - 1.75 3790.00, 3790.00, 3790.00, 3790.00, 3790.00, # 1.75 - 1.80 ~ 1.85 - 1.90 ~ 1.95 - 2.00 3790.00, 3790.00, 3790.00, 3790.00, 3790.00, # 2.00 - 2.05 ~ 2.10 - 2.15 ~ 2.20 - 2.25 - 3790.00, 3781.74, 3778.00, 3778.00, 3778.00, 3778.00]; # 2.25 - 2.30 ~ 2.35 - 2.40 ~ 2.45 - 2.50 ~ 2.55 + 3790.00, 3781.74, 3778.00, 3778.00, 3778.00, 3778.00] # 2.25 - 2.30 ~ 2.35 - 2.40 ~ 2.45 - 2.50 ~ 2.55 self.ZMiddleLayer= [4006.00, 4006.00, 4002.00, 4002.00, 4002.00, # 1.52 - 1.55 ~ 1.60 - 1.65 ~ 1.70 - 1.75 3990.00, 3990.00, 3990.00, 3990.00, 3990.00, # 1.75 - 1.80 ~ 1.85 - 1.90 ~ 1.95 - 2.00 3986.21, 3979.21, 3978.00, 3974.47, 3963.42, # 2.00 - 2.05 ~ 2.10 - 2.15 ~ 2.20 - 2.25 - 3962.00, 3952.39, 3940.42, 3934.71, 3934.00, 3934.00]; # 2.25 - 2.30 ~ 2.35 - 2.40 ~ 2.45 - 2.50 ~ 2.55 + 3962.00, 3952.39, 3940.42, 3934.71, 3934.00, 3934.00] # 2.25 - 2.30 ~ 2.35 - 2.40 ~ 2.45 - 2.50 ~ 2.55 self.ZEta = [1.50, 1.55, 1.60, 1.65, 1.70, 1.75, 1.80, 1.85, 1.90, 1.95, 2.00, - 2.05, 2.10, 2.15, 2.20, 2.25, 2.30, 2.35, 2.40, 2.45, 2.50, 2.55]; + 2.05, 2.10, 2.15, 2.20, 2.25, 2.30, 2.35, 2.40, 2.45, 2.50, 2.55] class EgammaAllFexHadConfig (EgammaAllFex): __slots__ = [] @@ -205,9 +196,9 @@ class T2CaloEgamma_All (T2CaloEgamma): self.PhiWidthForID = 0.1 self.TrigEMClusterKey="TrigT2CaloAll" self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring(), - TrigT2CaloEgammaAllTimeMonitoring()] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring(), + TrigT2CaloEgammaAllTimeMonitoring()] self.doTiming=True class T2CaloEgamma_AllEm (T2CaloEgamma): @@ -221,9 +212,9 @@ class T2CaloEgamma_AllEm (T2CaloEgamma): self.PhiWidthForID = 0.1 self.TrigEMClusterKey="TrigT2CaloAll" self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring(), - TrigT2CaloEgammaAllTimeMonitoring()] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring(), + TrigT2CaloEgammaAllTimeMonitoring()] self.doTiming=True class T2CaloEgamma_cells (T2CaloEgamma): @@ -251,9 +242,9 @@ class T2CaloEgamma_cells (T2CaloEgamma): #t2catime.TimerHistLimits = [0,20] #self.AthenaMonTools += [t2catime] self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring(), - TrigT2CaloEgammaTimeMonitoring()] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring(), + TrigT2CaloEgammaTimeMonitoring()] self.CalibListEndcap=[EgammaSshapeCalibrationEndcapConfig()] self.CalibListBarrel=[EgammaSshapeCalibrationBarrelConfig()] self.CalibListBarrel+=[EgammaHitsCalibrationBarrelConfig()] @@ -270,8 +261,8 @@ class T2CaloEgamma_eGamma_NoHad (T2CaloEgamma): super(T2CaloEgamma_eGamma_NoHad, self).__init__(name) # here put your customizations self.IAlgToolList= [EgammaSamp2Fex(), - EgammaSamp1Fex(), - EgammaEmEnFex()] + EgammaSamp1Fex(), + EgammaEmEnFex()] self.EtaWidth = 0.2 self.PhiWidth = 0.2 self.EtaWidthForID = 0.1 @@ -282,8 +273,8 @@ class T2CaloEgamma_eGamma_NoHad (T2CaloEgamma): #self.OutputLevel = DEBUG #self.AthenaMonTools += [t2catime] self.AthenaMonTools = [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring() ] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring() ] #self.CalibList=[] self.CalibListEndcap=[EgammaSshapeCalibrationEndcapConfig()] self.CalibListBarrel=[EgammaSshapeCalibrationBarrelConfig()] @@ -300,9 +291,9 @@ class T2CaloEgamma_MBTSA (T2CaloEgamma): super(T2CaloEgamma_MBTSA, self).__init__(name) # here put your customizations self.IAlgToolList= [EgammaSamp2FexConfig(), - EgammaSamp1Fex(), - EgammaEmEnFex() , - EgammaHadEnFex()] + EgammaSamp1Fex(), + EgammaEmEnFex() , + EgammaHadEnFex()] self.L1ForceEta =-1.6 self.L1ForcePhi =-1.5 self.EtaWidth = 0.2 @@ -313,8 +304,8 @@ class T2CaloEgamma_MBTSA (T2CaloEgamma): self.TrigEMClusterKey="TrigT2CaloEgamma" #self.AthenaMonTools += [t2catime] self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring()] + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring()] class T2CaloEgamma_MBTSC (T2CaloEgamma): __slots__ = [] @@ -322,9 +313,9 @@ class T2CaloEgamma_MBTSC (T2CaloEgamma): super(T2CaloEgamma_MBTSC, self).__init__(name) # here put your customizations self.IAlgToolList= [EgammaSamp2FexConfig(), - EgammaSamp1Fex(), - EgammaEmEnFex() , - EgammaHadEnFex()] + EgammaSamp1Fex(), + EgammaEmEnFex() , + EgammaHadEnFex()] self.L1ForceEta = 1.6 self.L1ForcePhi =-1.5 self.EtaWidth = 0.2 @@ -335,60 +326,9 @@ class T2CaloEgamma_MBTSC (T2CaloEgamma): self.TrigEMClusterKey="TrigT2CaloEgamma" #self.AthenaMonTools += [t2catime] self.AthenaMonTools += [ TrigT2CaloEgammaValMonitoring(), - TrigT2CaloEgammaCosmicMonitoring(), - TrigT2CaloEgammaOnMonitoring()] - - -#class T2CaloEgamma_SwSeed (T2CaloSwSeed): -# __slots__ = [] -# def __init__ (self, name="T2CaloEgamma_SwSeed"): -# super(T2CaloEgamma_SwSeed, self).__init__(name) -# self.NoCut = False -# self.EtaWidth = 0.2 -# self.PhiWidth = 0.2 -# self.EtaWidthForID = 0.1 -# self.PhiWidthForID = 0.1 -# self.NoiseThreshold = 0 -# self.WindowThreshold = 1500 -# self.OverlapDistance = 0.1 -# self.TrigEMClusterKey="T2CaloTrigEMSwCluster" -# #self.AthenaMonTools += [t2catime] -# self.AthenaMonTools += [ -# TrigT2CaloEgammaSwValMonitoring(), -# TrigT2CaloEgammaSwOnMonitoring(), -# TrigT2CaloEgammaSwCosMonitoring()] -# self.CalibList=[EgammaSshapeCalibrationEndcapConfig(), -# EgammaSshapeCalibrationBarrelConfig()] -# -#class T2CaloEgamma_SwSeed_NoCut (T2CaloEgamma_SwSeed): -# __slots__ = [] -# def __init__(self, name = "T2CaloEgamma_SwSeed_NoCut"): -# super( T2CaloEgamma_SwSeed_NoCut, self ).__init__( name ) -# self.NoCut = True -# - -#class T2CaloEgamma_SwCluster (T2CaloSwCluster): -# __slots__ = [] -# def __init__ (self, name="T2CaloEgamma_SwCluster"): -# super(T2CaloEgamma_SwCluster, self).__init__(name) -# self.IAlgToolList= [ -# EgammaSamp1Fex(), -# EgammaEmEnFex(), -# EgammaHadEnFex()] -# self.EtaWidth = 0.2 -# self.PhiWidth = 0.2 -# self.EtaWidthForID = 0.1 -# self.PhiWidthForID = 0.1 -# #self.TimerNtuple="T2CaloEgamma.T2CaSwCluster" -# self.TrigEMClusterKey="T2CaloTrigEMSwCluster" -# #self.AthenaMonTools += [t2catime] -# self.AthenaMonTools += [ -# TrigT2CaloEgammaValMonitoring(), -# TrigT2CaloEgammaCosmicMonitoring(), -# TrigT2CaloEgammaOnMonitoring()] -# self.CalibList = [EgammaHitsCalibrationBarrelConfig(), -# EgammaGapCalibrationConfig()] -# self.doTiming=True + TrigT2CaloEgammaCosmicMonitoring(), + TrigT2CaloEgammaOnMonitoring()] + class RingerFexConfig( RingerFex ): __slots__ = [] @@ -398,26 +338,25 @@ class RingerFexConfig( RingerFex ): self.HltFeature = "HLT_TrigT2CaloEgamma" self.Feature = "TrigT2CaloEgamma" self.EtaBins = [0.0000, 2.5000] # bin pairs: min < eta <= max, PS,barrel,crack,endcap - self.GlobalCenter = False; - self.EtaSearchWindowSize = 0.1; - self.PhiSearchWindowSize = 0.1; + self.GlobalCenter = False + self.EtaSearchWindowSize = 0.1 + self.PhiSearchWindowSize = 0.1 from TrigT2CaloEgamma.RingerConstants import Layer - self.DEtaRings = [0.025, 0.003125, 0.025, 0.05, 0.1, 0.1, 0.1]; - self.DPhiRings = [0.098174770424681, 0.098174770424681, 0.024543692606170, 0.024543692606170, 0.098174770424681, 0.098174770424681, 0.098174770424681]; - self.NRings = [8, 64, 8, 8, 4, 4, 4]; - self.LayersRings = [ - Layer.PreSamplerB,Layer.PreSamplerE, + self.DEtaRings = [0.025, 0.003125, 0.025, 0.05, 0.1, 0.1, 0.1] + self.DPhiRings = [0.098174770424681, 0.098174770424681, 0.024543692606170, 0.024543692606170, 0.098174770424681, 0.098174770424681, 0.098174770424681] + self.NRings = [8, 64, 8, 8, 4, 4, 4] + self.LayersRings = [Layer.PreSamplerB,Layer.PreSamplerE, Layer.EMB1, Layer.EME1, Layer.EMB2, Layer.EME2, Layer.EMB3, Layer.EME3, Layer.HEC0, Layer.TileBar0, Layer.TileGap2, Layer.TileExt0, Layer.HEC1, Layer.HEC2, Layer.TileBar1, Layer.TileGap0, Layer.TileExt1, - Layer.HEC3, Layer.TileBar2, Layer.TileGap1, Layer.TileExt2 - ]; - self.NLayersRings = [2, 2, 2, 2, 4, 5, 4]; - self.NMaxCells = [320, 512, 272, 128, 128, 128, 128]; + Layer.HEC3, Layer.TileBar2, Layer.TileGap1, Layer.TileExt2] + + self.NLayersRings = [2, 2, 2, 2, 4, 5, 4] + self.NMaxCells = [320, 512, 272, 128, 128, 128, 128] class RingerFexEndCapConfig( RingerFex ): @@ -428,19 +367,19 @@ class RingerFexEndCapConfig( RingerFex ): self.HltFeature = "HLT_TrigT2CaloEgamma" self.Feature = "TrigT2CaloEgamma" self.EtaBins = [1.54, 2.5] # bin pairs: min < eta <= max - self.GlobalCenter = False; - self.EtaSearchWindowSize = 0.1; - self.PhiSearchWindowSize = 0.1; - self.HistLabel = 'EndCap'; + self.GlobalCenter = False + self.EtaSearchWindowSize = 0.1 + self.PhiSearchWindowSize = 0.1 + self.HistLabel = 'EndCap' from TrigT2CaloEgamma.RingerConstants import Layer # FIXME The EM1 from 1.8->2.5 granularity is 0.025/4=0.006250. However, from 1.57 to # 1.8 it should be 0.025/6 # FIXME The HAD3 has segmentation of 0.1 x 0.1 from 1.8->2.5, whereas this is also not true from 1.57 to 1.8, being from 0.2 x 0.1 - self.DEtaRings = [0.0, 0.006250, 0.025, 0.05, 0.1, 0.1, 0.1]; - self.DPhiRings = [0.0, 0.098174770424681, 0.024543692606170, 0.024543692606170, 0.098174770424681, 0.098174770424681, 0.098174770424681]; - self.NRings = [0, 32, 8, 8, 4, 4, 4]; + self.DEtaRings = [0.0, 0.006250, 0.025, 0.05, 0.1, 0.1, 0.1] + self.DPhiRings = [0.0, 0.098174770424681, 0.024543692606170, 0.024543692606170, 0.098174770424681, 0.098174770424681, 0.098174770424681] + self.NRings = [0, 32, 8, 8, 4, 4, 4] self.LayersRings = [ #Layer.PreSamplerB,Layer.PreSamplerE, Layer.EMB1, Layer.EME1, @@ -449,9 +388,9 @@ class RingerFexEndCapConfig( RingerFex ): Layer.HEC0, Layer.TileBar0, Layer.TileGap2, Layer.TileExt0, Layer.HEC1, Layer.HEC2, Layer.TileBar1, Layer.TileGap0, Layer.TileExt1, Layer.HEC3, Layer.TileBar2, Layer.TileGap1, Layer.TileExt2 - ]; - self.NLayersRings = [0, 2, 2, 2, 4, 5, 4]; - self.NMaxCells = [0, 272, 128, 128, 128, 128]; + ] + self.NLayersRings = [0, 2, 2, 2, 4, 5, 4] + self.NMaxCells = [0, 272, 128, 128, 128, 128] class T2CaloEgamma_Ringer (T2CaloEgamma_eGamma): @@ -464,46 +403,6 @@ class T2CaloEgamma_Ringer (T2CaloEgamma_eGamma): self.AthenaMonTools += [TrigT2CaloEgammaRingerTimeMonitoring()] -class T2CaloEgamma_FastAlgo (T2CaloEgammaFastAlgo): - __slots__ = [] - def __init__ (self, name="T2CaloEgamma_FastAlgo"): - super(T2CaloEgamma_FastAlgo, self).__init__(name) - # here put your customizations - from AthenaCommon.AppMgr import ToolSvc - - samp2 = EgammaSamp2FexNoTimerConfig(name="FaAlgoSamp2FexConfig") - ToolSvc+=samp2 - samp1 = EgammaSamp1FexNoTimerConfig("FaAlgoSamp1FexConfig") - ToolSvc+=samp1 - sampe = EgammaEmEnFexNoTimerConfig("FaAlgoEmEnFexConfig") - ToolSvc+=sampe - samph = EgammaHadEnFexNoTimerConfig("FaAlgoHadEnFexConfig") - ToolSvc+=samph - ring = RingerFexConfig("RingsMaker") - ToolSvc+=ring - - ring.OutputLevel=DEBUG - ring.RingsKey="CaloRings" - self.IAlgToolList = [ samp2 ] - self.IAlgToolList+= [ samp1 ] - self.IAlgToolList+= [ sampe ] - self.IAlgToolList+= [ samph ] - self.IAlgToolList+= [ ring ] - - self.EtaWidth = 0.2 - self.PhiWidth = 0.2 - #self.EtaWidthForID = 0.1 - #self.PhiWidthForID = 0.1 - #self.TrigEMClusterKey="TrigT2CaloEgamma" - #t2catime.TimerHistLimits = [0,20] - self.CalibListEndcap=[EgammaSshapeCalibrationEndcapConfig()] - self.CalibListBarrel=[EgammaSshapeCalibrationBarrelConfig()] - self.CalibListBarrel+=[EgammaHitsCalibrationBarrelConfig()] - self.CalibListBarrel+=[EgammaGapCalibrationConfig()] - self.CalibListBarrel+=[EgammaTransitionRegionsConfig()] - self.CalibListEndcap+=[EgammaHitsCalibrationEndcapConfig()] - self.CalibListEndcap+=[EgammaGapCalibrationConfig()] - class T2CaloEgamma_ReFastAlgo (T2CaloEgammaReFastAlgo): __slots__ = [] def __init__ (self, name="T2CaloEgamma_ReFastAlgo"): diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py index 6dd600a89afc2082dbed6f4ddd4cdfd5855f9f15..703df1b9a688ebde80fed4746c7d06b379924b0e 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py @@ -22,7 +22,6 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs"): # configure tools (this can be simplified further, from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReEmEnFex, EgammaReHadEnFex, EgammaReSamp1Fex, EgammaReSamp2Fex - from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import RingerFexConfig # use existing setup samp2 = EgammaReSamp2Fex(name='FaAlgoSamp2FexConfig', MaxDetaHotCell=0.15, MaxDphiHotCell=0.15) acc.addPublicTool( samp2 ) @@ -38,6 +37,7 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs"): samph.ExtraInputs=[('TileEMScale','ConditionStore+TileEMScale'),('TileBadChannels','ConditionStore+TileBadChannels')] acc.addPublicTool( samph ) + #from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import RingerFexConfig #ring = RingerFexConfig('RingsMaker') #ring.OutputLevel=DEBUG #ring.RingsKey='CaloRings' @@ -50,8 +50,7 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs"): t.OutputLevel = DEBUG - from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgammaReFastAlgo - alg = T2CaloEgammaReFastAlgo("FastEMCaloAlgo") + alg = T2CaloEgammaReFastAlgo("FastEMCaloAlgo") from TrigEDMConfig.TriggerEDMRun3 import recordable alg.IReAlgToolList = __fex_tools diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/FFL2CaloEgamma.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/FFL2CaloEgamma.py deleted file mode 100644 index 2cb7f7d508f070920cbcf2e5c86f9efdf6fa762a..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/FFL2CaloEgamma.py +++ /dev/null @@ -1,279 +0,0 @@ -# -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -# - - -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AlgScheduler import AlgScheduler -AlgScheduler.CheckDependencies( True ) -#AlgScheduler.OutputLevel( VERBOSE ) -#AlgScheduler.ShowDataDependencies( True ) -AlgScheduler.setDataLoaderAlg( 'SGInputLoader' ) - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from SGComps.SGCompsConf import SGInputLoader -topSequence += SGInputLoader() - - -#print topSequence -#print kaboom - - - -from AthenaCommon.GlobalFlags import globalflags; -globalflags.DataSource.set_Value_and_Lock("data"); -DetDescrVersion="ATLAS-R2-2015-03-01-00"; -ConditionsTag="CONDBR2-BLKPA-2015-16"; -globalflags.DetDescrVersion.set_Value_and_Lock(DetDescrVersion); -globalflags.InputFormat.set_Value_and_Lock("bytestream"); -globalflags.ConditionsTag.set_Value_and_Lock(ConditionsTag) -globalflags.DatabaseInstance.set_Value_and_Lock('CONDBR2') -from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; -athenaCommonFlags.BSRDOInput = [ "/afs/cern.ch/atlas/project/trigger/pesa-sw/validation/atn-test/data15_13TeV.00266904.physics_EnhancedBias.merge.RAW._lb0452._SFO-1._0001.1" ] -#FilesInput - -#include ("RecExRecoTest/RecExRecoTest_RTT_common.py") - -#jp.AthenaCommonFlags.PoolESDOutput="id_ESD.pool.root" -rec.doTrigger=False -rec.doWriteESD=False # uncomment if do not write ESD -rec.doAOD=False -rec.doWriteAOD=False # uncomment if do not write AOD -rec.doWriteTAG=False # uncomment if do not write TAG -rec.doESD=False -rec.doWritexAOD=False - -from RecExConfig.RecFlags import rec -rec.doForwardDet=False -rec.doInDet=False -rec.doMuon=False -rec.doCalo=True -rec.doEgamma=False -rec.doMuonCombined=False -rec.doJetMissingETTag=False -rec.doTau=False -rec.doCaloRinger=False -rec.doPerfMon=False -#rec.readRDO=False - -from PerfMonComps.PerfMonFlags import jobproperties -jobproperties.PerfMonFlags.doDsoMonitoring.set_Value_and_Lock(False) -jobproperties.PerfMonFlags.doMonitoring.set_Value_and_Lock(False) -jobproperties.PerfMonFlags.doPersistencyMonitoring.set_Value_and_Lock(False) - -from LArROD.LArRODFlags import larRODFlags -larRODFlags.doLArFebErrorSummary.set_Value_and_Lock(False) -#from AthenaCommon.DetFlags import DetFlags -#DetFlags.makeRIO.Calo_setOff() -#DetFlags.detdescr.Calo_setOn() -#DetFlags.Print() - -# main jobOption - - -#include ("RecExRecoTest/RecExRecoTest_RTT_common_postOptions.py") - -## get a handle on the ServiceManager - -topSequence.SGInputLoader.Load = [ ('ROIB::RoIBResult','StoreGateSvc+RoIBResult'), ('AthenaAttributeList','StoreGateSvc+Input') ] -topSequence.SGInputLoader.FailIfNoProxy=False -#topSequence.CondInputLoader.Load = [('AthenaAttributeList','ConditionStore+Input')] - -#from IOVSvc.IOVSvcConf import CondInputLoader -#topSequence += CondInputLoader( "CondInputLoader", OutputLevel=DEBUG ) - -include ("RecExCommon/RecExCommon_topOptions.py") - -#remove RecExCommon -# topSequence = AlgSequence() -# for i in topSequence: -# log.info('removing '+ i.getName()) -# if i.getName() not in [ "SGInputLoader", "CondInputLoader" ]: # list of what we want to keep -# topSequence.remove(i) - - - -## @file L1Topo_ReadBS_test.py -## @brief Example job options file to read BS file to test a converter -## $Id: decodeBS.parallel.py 717359 2016-01-12 14:40:21Z bwynne $ -############################################################### -# -# This Job option: -# ---------------- -# 1. Read ByteStream test data file and decode the L1Topo part -# -#============================================================== - -## basic job configuration -import AthenaCommon.AtlasUnixStandardJob -#import AthenaCommon.AtlasThreadedJob - -include( "ByteStreamCnvSvc/BSEventStorageEventSelector_jobOptions.py" ) - -## get a handle on the ServiceManager -from AthenaCommon.AppMgr import ServiceMgr as svcMgr - -#Determine whether we're running in threaded mode (threads= >=1) -from AthenaCommon.ConcurrencyFlags import jobproperties as jp -nThreads = jp.ConcurrencyFlags.NumThreads() -print ' nThreads : ',nThreads - -if nThreads >= 1: - ## get a handle on the Scheduler - from AthenaCommon.AlgScheduler import AlgScheduler - AlgScheduler.CheckDependencies( True ) - -# Use McEventSelector so we can run with AthenaMP -#import AthenaCommon.AtlasUnixGeneratorJob - -## get a handle on the default top-level algorithm sequence -#svcMgr.ByteStreamInputSvc.FullFileName = - -svcMgr.ByteStreamInputSvc.ValidateEvent = True -svcMgr.EventSelector.ProcessBadEvent = True - - - -if not hasattr( svcMgr, "ByteStreamAddressProviderSvc" ): - from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ByteStreamAddressProviderSvc - svcMgr += ByteStreamAddressProviderSvc() - - -from TrigConfigSvc.TrigConfigSvcConf import TrigConf__LVL1ConfigSvc -from TrigConfigSvc.TrigConfigSvcConfig import findFileInXMLPATH -from TriggerJobOpts.TriggerFlags import TriggerFlags - -l1svc = TrigConf__LVL1ConfigSvc("LVL1ConfigSvc") -l1svc.XMLMenuFile = findFileInXMLPATH(TriggerFlags.inputLVL1configFile()) -svcMgr += l1svc - - -from TriggerJobOpts.TriggerFlags import TriggerFlags -TriggerFlags.enableMonitoring = ['Validation', 'Time'] - -if not hasattr(svcMgr, 'THistSvc'): - from GaudiSvc.GaudiSvcConf import THistSvc - svcMgr += THistSvc() -svcMgr.THistSvc.Output = ["EXPERT DATAFILE='expert-monitoring.root', OPT='RECREATE'"] - -# This is the list of proxies to set up so that retrieval attempt will trigger the BS conversion -svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ "ROIB::RoIBResult/RoIBResult" ] - -#-------------------------------------------------------------- -# Private Application Configuration options -#-------------------------------------------------------------- -# Load "user algorithm" top algorithms to be run, and the libraries that house them - - - - -#from AthenaCommon.CFElements import parOR, seqAND -#TopHLTSeq = seqAND("TopHLTSeq") -#topSequence += TopHLTSeq - - -from L1Decoder.L1DecoderMonitoring import CTPUnpackingMonitoring, RoIsUnpackingMonitoring -from L1Decoder.L1DecoderConf import CTPUnpackingTool, EMRoIsUnpackingTool, L1Decoder, MURoIsUnpackingTool -from L1Decoder.L1DecoderConf import CTPUnpackingEmulationTool, RoIsUnpackingEmulationTool -l1Decoder = L1Decoder( OutputLevel=DEBUG ) -ctpUnpacker = CTPUnpackingTool( OutputLevel = DEBUG, ForceEnableAllChains=True ) - -allChains = [ "HLT_e5_perf", "HLT_e5_lhloose", "HLT_e5_tight", "HLT_e7_perf" ] - -l1Decoder.ctpUnpacker = ctpUnpacker -l1Decoder.ctpUnpacker.MonTool = CTPUnpackingMonitoring(512, 200) -#l1Decoder.ctpUnpacker.CTPToChainMapping = ["0:HLT_e3", "0:HLT_g5", "1:HLT_e7", "2:HLT_2e3", "15:HLT_mu6", "33:HLT_2mu6", "15:HLT_mu6idperf", "42:HLT_e15mu4"] # this are real IDs of L1_* items in pp_v5 menu - -l1Decoder.ctpUnpacker.CTPToChainMapping = [ "0:"+c for c in allChains ] # CAVEAT this needs real mapping from chain to CTP ID -emUnpacker = EMRoIsUnpackingTool( OutputLevel=DEBUG, OutputTrigRoIs="StoreGateSvc+EMRoIs" ) -emUnpacker.ThresholdToChainMapping = ["EM3 : "+c for c in allChains ] # CAVEAT this needs real mapping to from the chain to L1 threshold - -emUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="EM", maxCount=30 ) - -l1Decoder.roiUnpackers = [emUnpacker] -l1Decoder.Chains="HLTChainsResult" - -topSequence += l1Decoder - - - -#Dumper -#from ViewAlgs.ViewAlgsConf import DumpDecisions -#dumper = DumpDecisions("L1CaloDecisions") -#dumper.OutputLevel=VERBOSE -#topSequence += dumper - -from RegionSelector.RegSelSvcDefault import RegSelSvcDefault -svcMgr+=RegSelSvcDefault() -svcMgr.RegSelSvc.enableCalo=True - -from TrigT2CaloCommon.TrigT2CaloCommonConfig import TrigDataAccess -svcMgr.ToolSvc+=TrigDataAccess() -svcMgr.ToolSvc.TrigDataAccess.ApplyOffsetCorrection=False - -from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_FastAlgo -algo=T2CaloEgamma_FastAlgo("testFastAlgo") -algo.RoIs="StoreGateSvc+EMRoIs" -algo.OutputLevel=VERBOSE -#TopHLTSeq += algo -topSequence += algo - - - -from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2CaloHypoAlg -from TrigEgammaHypo.TrigL2CaloHypoTool import TrigL2CaloHypoToolFromName -hypoAlg = TrigL2CaloHypoAlg() -hypoAlg.RoIs="StoreGateSvc+EMRoIs" -hypoAlg.OutputLevel=VERBOSE -topSequence += hypoAlg -# this should come from the menu, but let's see if it falls apart wiht a full single electron menu -hypoTools = [ TrigL2CaloHypoToolFromName(chain) for chain in allChains ] - -hypoAlg.HypoTools = hypoTools -hypoAlg += hypoTools - - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL) -#-------------------------------------------------------------- -svcMgr.MessageSvc.OutputLevel = INFO -svcMgr.MessageSvc.Format = "% F%42W%S%7W%R%T %0W%M" -svcMgr.MessageSvc.verboseLimit = 0 -svcMgr.StoreGateSvc.OutputLevel = INFO -svcMgr.StoreGateSvc.Dump=False #This is required to avoid a bug in bytestream decoding in AthenaMT mode -svcMgr.ByteStreamAddressProviderSvc.OutputLevel = INFO -svcMgr.ByteStreamCnvSvc.OutputLevel = INFO -svcMgr.ByteStreamInputSvc.OutputLevel = INFO -svcMgr.AthDictLoaderSvc.OutputLevel = INFO -svcMgr.EventPersistencySvc.OutputLevel = INFO -svcMgr.ROBDataProviderSvc.OutputLevel = INFO - -from LArROD.LArRODConf import LArRawChannelBuilderDriver -topSequence.remove(LArRawChannelBuilderDriver('LArRawChannelBuilder')) -from LArROD.LArDigits import DefaultLArDigitThinner -topSequence.remove(DefaultLArDigitThinner('LArDigitThinner')) -from TileRecUtils.TileRecUtilsConf import TileRawChannelMaker -topSequence.remove(TileRawChannelMaker('TileRChMaker')) -from TileRecAlgs.TileRecAlgsConf import TileDigitsFilter -topSequence.remove(TileDigitsFilter('TileDigitsFilter')) -from CaloRec.CaloRecConf import CaloCellMaker -topSequence.remove(CaloCellMaker('CaloCellMaker')) -from xAODCaloEventCnv.xAODCaloEventCnvConf import ClusterCreator -topSequence.remove(ClusterCreator('CaloCluster2xAOD')) -#topSequence.remove(CondInputLoader("CondInputLoader")) - - -theApp.EvtMax = 100 - -#print topSequence -#print fail - - -# -# End of job options file -# -############################################################### - - diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma.py deleted file mode 100755 index 5f50c5174f7b60b7758777e0514809394605349d..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma.py +++ /dev/null @@ -1,25 +0,0 @@ -#---------------------------------------------------- -# T2CaloEgamma options -#---------------------------------------------------- -theApp.Dlls += [ "TrigT2CaloEgamma" ] - -include( "TrigT2CaloCommon/jobOfragment_TrigT2CaloCommon.py" ) -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaSamp2Fex -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaSamp1Fex -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaEmEnFex -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaHadEnFex -#from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgamma_g4_L2 - -#T2CaloEgamma_g4_L2 = Algorithm( "T2CaloEgamma_g4_L2" ) -#T2CaloEgamma_g4_L2.EtaWidth = 0.2 -#T2CaloEgamma_g4_L2.PhiWidth = 0.2 -#T2CaloEgamma_g4_L2.IAlgToolList=[EgammaSamp2Fex("1"), -# EgammaSamp1Fex("2"), -# EgammaEmEnFex("3") , -# EgammaHadEnFex("4")] -#T2CaloEgamma_g4_L2.TimerNtuple="T2CaloEgamma.T2CaEgtTot" -#T2CaloEgamma_g4_L2.TrigEMClusterKey="T2CaloTrigEMCluster" -#T2CaloEgamma_g4_L2.Monitoring=False -#T2CaloEgamma_g4_L2.OutputLevel = INFO - -#include( "TrigT2CaloEgamma/jobOfragment_TrigT2CaloEgamma_Calib.py") diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_4Algo.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_4Algo.py deleted file mode 100755 index 1af292a7c2ca4b262125cfb51e13379eb3393f53..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_4Algo.py +++ /dev/null @@ -1,30 +0,0 @@ -#---------------------------------------------------- -# T2CaloEgamma options to run in four steps -#---------------------------------------------------- -theApp.Dlls += [ "TrigT2CaloEgamma" ] - -include( "TrigT2CaloCommon/jobOfragment_TrigT2CaloCommon_4Algo.py" ) - -T2CaloEgamma_g4_L2 = Algorithm( "T2CaloEgamma_g4_L2" ) -T2CaloEgamma_g4_L2.EtaWidth = 0.2 -T2CaloEgamma_g4_L2.PhiWidth = 0.2 -T2CaloEgamma_g4_L2.T2CaloTools=["CaloSamp2FexEgamma","T2CaloL1Sim"] -T2CaloEgamma_g4_L2.TimerNtuple="T2Calo.T2CaEgSmp2" -#T2CaloEgamma_g4_L2.T2CaloTools=["T2CaloL1Sim"] -T2CaloSamp1En_1Egamma_L2 = Algorithm( "T2CaloSamp1En_1Egamma_L2" ) -T2CaloSamp1En_1Egamma_L2.T2CaloTools=["CaloSamp1FexEgamma"] -T2CaloSamp1En_1Egamma_L2.TimerNtuple="T2Calo.T2CaEgSmp1" -T2CaloSamp1En_1Egamma_L2.TriggerOn="Egamma" -T2CaloSamp1En_2Egamma_L2 = Algorithm( "T2CaloSamp1En_2Egamma_L2" ) -T2CaloSamp1En_2Egamma_L2.T2CaloTools=["CaloEmEnFexEgamma"] -T2CaloSamp1En_2Egamma_L2.TimerNtuple="T2Calo.T2CaEgEmEn" -T2CaloSamp1En_2Egamma_L2.TriggerOn="Egamma" -T2CaloSamp1En_3Egamma_L2 = Algorithm( "T2CaloSamp1En_3Egamma_L2" ) -T2CaloSamp1En_3Egamma_L2.T2CaloTools=["CaloHadEnFexEgamma"] -T2CaloSamp1En_3Egamma_L2.TimerNtuple="T2Calo.T2CaEgHdEn" -T2CaloSamp1En_3Egamma_L2.TriggerOn="Egamma" -T2CaloEgamma_g4_L2.EMShowerMinsKey="T2CaloEMShowerMins" -T2CaloEgamma_g4_L2.CaloClustersKey="T2CaloEgammaCaloClusters" -T2CaloEgamma_g4_L2.OutputLevel = INFO - - diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_Calib.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_Calib.py deleted file mode 100755 index 9ad2198c172d8eae1d17c2127d0014ba6bc0c29f..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/share/jobOfragment_TrigT2CaloEgamma_Calib.py +++ /dev/null @@ -1,108 +0,0 @@ -#------------------------------------------------ -# T2CaloEgamma Calibration Options -#------------------------------------------------ -# Calibration constants for cluster lateral loses -T2CaloEgamma_g4_L2.EgammaEmEnFex.QlCorrectionLimit=[0.0,2.5] -T2CaloEgamma_g4_L2.EgammaEmEnFex.QlCorrectionDimension=[2,100] -T2CaloEgamma_g4_L2.EgammaEmEnFex.QlCorrection=[ -0.012500, 1.050621, -0.037500, 1.033092, -0.062500, 1.029960, -0.087500, 1.028764, -0.112500, 1.025790, -0.137500, 1.025021, -0.162500, 1.026142, -0.187500, 1.024745, -0.212500, 1.024634, -0.237500, 1.024389, -0.262500, 1.023316, -0.287500, 1.023289, -0.312500, 1.023398, -0.337500, 1.022994, -0.362500, 1.021465, -0.387500, 1.022593, -0.412500, 1.022636, -0.437500, 1.023150, -0.462500, 1.021140, -0.487500, 1.022658, -0.512500, 1.023595, -0.537500, 1.024602, -0.562500, 1.025860, -0.587500, 1.024387, -0.612500, 1.026307, -0.637500, 1.029686, -0.662500, 1.035484, -0.687500, 1.039001, -0.712500, 1.039284, -0.737500, 1.040777, -0.762500, 1.040902, -0.787500, 1.063765, -0.812500, 1.070050, -0.837500, 1.056046, -0.862500, 1.059867, -0.887500, 1.060138, -0.912500, 1.063053, -0.937500, 1.062487, -0.962500, 1.062367, -0.987500, 1.063508, -1.012500, 1.062834, -1.037500, 1.063573, -1.062500, 1.064223, -1.087500, 1.066497, -1.112500, 1.065750, -1.137500, 1.064151, -1.162500, 1.069473, -1.187500, 1.066715, -1.212500, 1.069402, -1.237500, 1.072276, -1.262500, 1.074131, -1.287500, 1.076661, -1.312500, 1.059972, -1.337500, 1.056507, -1.362500, 1.048957, -1.387500, 1.153410, -1.412500, 1.100139, -1.437500, 1.110341, -1.462500, 1.120638, -1.487500, 1.156143, -1.512500, 1.119004, -1.537500, 1.182724, -1.562500, 1.124959, -1.587500, 1.147676, -1.612500, 1.080720, -1.637500, 1.086858, -1.662500, 1.088204, -1.687500, 1.103229, -1.712500, 1.064293, -1.737500, 1.061543, -1.762500, 1.071896, -1.787500, 1.073395, -1.812500, 1.097101, -1.837500, 1.106184, -1.862500, 1.099924, -1.887500, 1.091189, -1.912500, 1.085963, -1.937500, 1.081466, -1.962500, 1.078320, -1.987500, 1.076612, -2.012500, 1.074725, -2.037500, 1.082622, -2.062500, 1.078303, -2.087500, 1.081170, -2.112500, 1.085947, -2.137500, 1.086852, -2.162500, 1.086800, -2.187500, 1.089546, -2.212500, 1.088566, -2.237500, 1.087811, -2.262500, 1.089465, -2.287500, 1.092274, -2.312500, 1.097847, -2.337500, 1.097035, -2.362500, 1.096554, -2.387500, 1.094445, -2.412500, 1.094718, -2.437500, 1.098914, -2.462500, 1.098906, -2.487500, 1.163979] - diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.cxx old mode 100755 new mode 100644 index 5c5b79578b4e13f8bc0423a23c019542cc2182cd..ddc0c273b75168f8a4bd3829259cd9d1b4c5aafb --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -18,7 +18,7 @@ #include "xAODTrigCalo/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaAllFex.h" +#include "EgammaAllFex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaAllFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.h similarity index 97% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaAllFex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.h index 49eafd5720f146a4abe4a7247e86f879b57b7f3e..1d414839e236abe2ce8aa34487e8618577d103e8 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaAllFex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaAllFex.h @@ -25,6 +25,9 @@ #include "TrigT2CaloCommon/Calo_Def.h" #include "TrigT2CaloCommon/phiutils.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + class IRoiDescriptor; /** Feature extraction Tool for LVL2 Calo. Second EM Calorimeter sample. */ diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.cxx old mode 100755 new mode 100644 index 529cd5a455994bd293f0368e62cf563d7d03f673..6f3b73f76cf2ebab0b6cc0947972ec5d2a61f4f0 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.cxx @@ -15,9 +15,9 @@ #include "xAODTrigCalo/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaEmEnFex.h" +#include "EgammaEmEnFex.h" #include "TrigT2CaloCommon/Calo_Def.h" -#include "TrigT2CaloEgamma/T2CalibrationEgamma.h" +#include "T2CalibrationEgamma.h" EgammaEmEnFex::EgammaEmEnFex(const std::string & type, const std::string & name, diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaEmEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.h similarity index 95% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaEmEnFex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.h index 50388f3414dd87f721555685985997427fa48c90..7dcf3d17c01274703cebda9e076fe07875cca754 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaEmEnFex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaEmEnFex.h @@ -22,6 +22,9 @@ #include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "GaudiKernel/AlgTool.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + /** Feature extraction Tool for LVL2 Calo. EM Presampler and third EM Calorimeter sample. */ class EgammaEmEnFex: public IAlgToolCalo { diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.cxx old mode 100755 new mode 100644 index 10d4497bb53a53aaa08881fe1356dee2bab6b402..f8dfd772b97ad3b484d7b83c1a0782f53ff9a40b --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.cxx @@ -16,7 +16,7 @@ //#include "TrigCaloEvent/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaHadEnFex.h" +#include "EgammaHadEnFex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include <math.h> diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaHadEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.h similarity index 92% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaHadEnFex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.h index bb0f94eab2e8a3a16a02ab3ca296fa10de8d84e5..6a4ee60b58818cfd0efa6a6d7859a221f5a07a75 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaHadEnFex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaHadEnFex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -20,6 +20,9 @@ #include "TrigT2CaloCommon/IAlgToolCalo.h" #include "GaudiKernel/AlgTool.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + /** Feature extraction Tool for LVL2 Calo. Hadronic EndCaps and Tile Calorimeter. All Samples */ class EgammaHadEnFex: public IAlgToolCalo { diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.cxx old mode 100755 new mode 100644 index d4d1f127467b412bc54f7e9ac5a6257abf603444..4b2dae4a168ccad1a536025b185207c0ccdcabd8 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -15,9 +15,9 @@ #include "xAODTrigCalo/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaReEmEnFex.h" +#include "EgammaReEmEnFex.h" #include "TrigT2CaloCommon/Calo_Def.h" -#include "TrigT2CaloEgamma/T2CalibrationEgamma.h" +#include "T2CalibrationEgamma.h" EgammaReEmEnFex::EgammaReEmEnFex(const std::string & type, const std::string & name, @@ -40,19 +40,16 @@ EgammaReEmEnFex::~EgammaReEmEnFex(){ StatusCode EgammaReEmEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, const CaloDetDescrElement*& caloDDE, - const EventContext* context ) const{ + const EventContext& context ) const{ // Time total AlgTool time if (!m_timersvc.empty()) m_timer[0]->start(); - // reset error - m_error=0x0; bool cluster_in_barrel = true; if ( caloDDE ) cluster_in_barrel = caloDDE->is_lar_em_barrel(); // MsgStream log(msgSvc(), name()); ATH_MSG_DEBUG( "in execute(TrigEMCluster &)" ); - ATH_CHECK( context != nullptr ); // Time to access RegionSelector if (!m_timersvc.empty()) m_timer[1]->start(); @@ -62,7 +59,7 @@ StatusCode EgammaReEmEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, LArTT_Selector<LArCellCont> sel; LArTT_Selector<LArCellCont>::const_iterator iBegin, iEnd, it; - m_dataSvc->loadCollections( *context, roi, TTEM, sampling, sel ); + m_dataSvc->loadCollections( context, roi, TTEM, sampling, sel ); iBegin = sel.begin(); iEnd = sel.end(); // Finished to access Collection @@ -141,7 +138,7 @@ StatusCode EgammaReEmEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, sampling = 3; LArTT_Selector<LArCellCont> sel3; - m_dataSvc->loadCollections( *context, roi, TTEM, sampling, sel3 ); + m_dataSvc->loadCollections( context, roi, TTEM, sampling, sel3 ); iBegin = sel3.begin(); iEnd = sel3.end(); /* diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.h new file mode 100755 index 0000000000000000000000000000000000000000..5fa4d7c9309fef1219cc980e66b951dd2f063f6c --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReEmEnFex.h @@ -0,0 +1,42 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +/******************************************************************** + + NAME: EgammaReEmEnFex.h + PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma + + AUTHOR: M.P. Casado + + PURPOSE: Based on Cluster position defined in the second + EM Calorimeter layer, calculates total EM cluster + energy. + *******************************************************************/ + +#ifndef TRIGT2CALOEGAMMA_EGAMMAEMENFEXRE_H +#define TRIGT2CALOEGAMMA_EGAMMAEMENFEXRE_H + +#include "TrigT2CaloCommon/IReAlgToolCalo.h" + +/** Feature extraction Tool for LVL2 Calo. EM Presampler and + third EM Calorimeter sample. */ +class EgammaReEmEnFex: public IReAlgToolCalo { + public: + EgammaReEmEnFex(const std::string & type, const std::string & name, + const IInterface* parent); + + virtual ~EgammaReEmEnFex(); + + /** @brief execute feature extraction for the EM Calorimeter + * second layer + * @param[out] rtrigEmCluster is the output cluster. + * @param[in] roi RoI definition. + */ + virtual StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, + const IRoiDescriptor& roi, + const CaloDetDescrElement*& caloDDE, + const EventContext& context) const override; +}; + +#endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.cxx old mode 100755 new mode 100644 index 3d96e975670d5732de8ffe756963a9789a7aac3e..ae0527d13d32fa827777fcadf6ad10a61d786a61 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -16,7 +16,7 @@ //#include "TrigCaloEvent/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaReHadEnFex.h" +#include "EgammaReHadEnFex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include <math.h> @@ -42,22 +42,12 @@ EgammaReHadEnFex::EgammaReHadEnFex(const std::string & type, const std::string & { } -EgammaReHadEnFex::~EgammaReHadEnFex(){ -} - StatusCode EgammaReHadEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, const CaloDetDescrElement*& /*caloDDE*/, - const EventContext* context ) const { + const EventContext& context ) const { // Time total AlgTool time if (!m_timersvc.empty()) m_timer[0]->start(); - m_error=0x0; - -#ifndef NDEBUG - if ( msg().level() <= MSG::DEBUG ) - msg() << MSG::INFO << "in execute(TrigEMCluster &)" << endmsg; -#endif - ATH_CHECK( context != nullptr ); double deta = 0.; // eta difference current cell - seed double dphi = 0.; // phi difference current cell - seed @@ -94,7 +84,7 @@ StatusCode EgammaReHadEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, LArTT_Selector<LArCellCont> sel; LArTT_Selector<LArCellCont>::const_iterator iBegin, iEnd, it; - m_dataSvc->loadCollections( *context, roi, TTHEC, sampling, sel ); + m_dataSvc->loadCollections( context, roi, TTHEC, sampling, sel ); iBegin = sel.begin(); iEnd = sel.end(); // Finished to access Collection @@ -158,7 +148,7 @@ StatusCode EgammaReHadEnFex::execute(xAOD::TrigEMCluster &rtrigEmCluster, TileCellCollection seltile; TileCellCollection::const_iterator itBegin, itEnd, itt; - m_dataSvc->loadCollections( *context, roi, seltile ); + m_dataSvc->loadCollections( context, roi, seltile ); itBegin = seltile.begin(); itt = itBegin; itEnd = seltile.end(); diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.h new file mode 100755 index 0000000000000000000000000000000000000000..0cc6b1fb83493bb2b94f496cfac326ea9e55ed7c --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReHadEnFex.h @@ -0,0 +1,41 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +/******************************************************************** + + NAME: EgammaReHadEnFex.h + PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma + + AUTHOR: M.P. Casado + + PURPOSE: Based on Cluster position defined in the second + EM Calorimeter layer, calculates total Had cluster + energy. + *******************************************************************/ + +#ifndef TRIGT2CALOEGAMMA_EGAMMAHADENFEXRE_H +#define TRIGT2CALOEGAMMA_EGAMMAHADENFEXRE_H + +#include "TrigT2CaloCommon/IReAlgToolCalo.h" + +/** Feature extraction Tool for LVL2 Calo. Hadronic EndCaps + and Tile Calorimeter. All Samples */ +class EgammaReHadEnFex: public IReAlgToolCalo { +public: + EgammaReHadEnFex(const std::string & type, const std::string & name, + const IInterface* parent); + + /** @brief execute feature extraction for the EM Calorimeter + * second layer + * @param[out] rtrigEmCluster is the output cluster. + * @param[in] eta/phi-min/max = RoI definition. + */ + virtual StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, + const IRoiDescriptor& roi, + const CaloDetDescrElement*& caloDDE, + const EventContext& context) const override; +}; + + +#endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.cxx old mode 100755 new mode 100644 index 7bef656bc698371a10fbbab7f5e6929d133cde71..f9780cc2835b5d59bf007783c74775d81c02b2d2 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -17,7 +17,7 @@ //#include "TrigCaloEvent/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaReSamp1Fex.h" +#include "EgammaReSamp1Fex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include "IRegionSelector/IRoiDescriptor.h" @@ -35,25 +35,19 @@ EgammaReSamp1Fex::EgammaReSamp1Fex(const std::string & type, const std::string & #endif } -EgammaReSamp1Fex::~EgammaReSamp1Fex(){ -} - StatusCode EgammaReSamp1Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, const CaloDetDescrElement*& caloDDE, - const EventContext* context ) const { + const EventContext& context ) const { // Time total AlgTool time if (!m_timersvc.empty()) m_timer[0]->start(); - // reset error - m_error=0x0; bool cluster_in_barrel = true; if ( caloDDE ) cluster_in_barrel = caloDDE->is_lar_em_barrel(); ATH_MSG_DEBUG( "in execute(TrigEMCluster &)" ); - ATH_CHECK( context != nullptr ); // Time to access RegionSelector if (!m_timersvc.empty()) m_timer[1]->start(); @@ -63,7 +57,7 @@ StatusCode EgammaReSamp1Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, LArTT_Selector<LArCellCont> sel; LArTT_Selector<LArCellCont>::const_iterator iBegin, iEnd, it; - m_dataSvc->loadCollections( *context, roi, TTEM, sampling, sel ); + m_dataSvc->loadCollections( context, roi, TTEM, sampling, sel ); iBegin = sel.begin(); iEnd = sel.end(); // Finished to access Collection diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp1Fex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.h similarity index 67% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp1Fex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.h index 21174cffe7844b04091204c231616c73307d6abb..4b60e6f421a070c6206aff901f256cbadad1f92c 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp1Fex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp1Fex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -21,31 +21,24 @@ #define TRIGT2CALOEGAMMA_CALOSAMP1FEXEGAMMARE_H #include "TrigT2CaloCommon/IReAlgToolCalo.h" -#include "GaudiKernel/AlgTool.h" class IRoiDescriptor; /** Feature extraction Tool for LVL2 Calo. First EM Calorimeter sample. */ class EgammaReSamp1Fex: public IReAlgToolCalo { public: - // to avoid compiler warning about hidden virtuals - using IReAlgToolCalo::execute; - - /** Constructor */ - EgammaReSamp1Fex(const std::string & type, const std::string & name, - const IInterface* parent); - /** Destructor */ - virtual ~EgammaReSamp1Fex(); + EgammaReSamp1Fex(const std::string & type, const std::string & name, + const IInterface* parent); + /** @brief execute feature extraction for the EM Calorimeter * second layer * @param[out] rtrigEmCluster is the output cluster. * @param[in] eta/phi-min/max = RoI definition. */ - StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, - const IRoiDescriptor& roi, - const CaloDetDescrElement*& caloDDE = caloReDDENull, - const EventContext* context = nullptr ) const; + virtual StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, + const IRoiDescriptor& roi, + const CaloDetDescrElement*& caloDDE, + const EventContext& context ) const override; }; - #endif diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.cxx old mode 100755 new mode 100644 index 874bfb4e802eb0b1b4173b98f188cd582a5187d0..9d89baedbafd704d6452020182b479d41a7eeac3 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -18,7 +18,7 @@ #include "xAODTrigCalo/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaReSamp2Fex.h" +#include "EgammaReSamp2Fex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include "IRegionSelector/IRoiDescriptor.h" @@ -36,23 +36,16 @@ EgammaReSamp2Fex::EgammaReSamp2Fex(const std::string & type, const std::string & declareProperty("MaxDphiHotCell",m_maxHotCellDphi=1.0); } -EgammaReSamp2Fex::~EgammaReSamp2Fex(){ -} - StatusCode EgammaReSamp2Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, const CaloDetDescrElement*& caloDDE, - const EventContext* context ) const { + const EventContext& context ) const { // Time total AlgTool time if (!m_timersvc.empty()) m_timer[0]->start(); - // reset error - m_error=0x0; ATH_MSG_DEBUG( "in execute(TrigEMCluster&)" ); - ATH_CHECK( context != nullptr ); - // Time to access RegionSelector if (!m_timersvc.empty()) m_timer[1]->start(); @@ -61,7 +54,7 @@ StatusCode EgammaReSamp2Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, LArTT_Selector<LArCellCont> sel; LArTT_Selector<LArCellCont>::const_iterator iBegin, iEnd, it; - m_dataSvc->loadCollections( *context, roi, TTEM, sampling, sel ); + m_dataSvc->loadCollections( context, roi, TTEM, sampling, sel ); iBegin = sel.begin(); iEnd = sel.end(); // Finished to access Collection @@ -126,8 +119,7 @@ StatusCode EgammaReSamp2Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, hotEta = hotCell->eta(); hotPhi = hotCell->phi(); } else { - m_error|=0x80000000; - if (!m_timersvc.empty()) m_timer[3]->stop(); + if (!m_timersvc.empty()) m_timer[3]->stop(); return StatusCode::SUCCESS; } @@ -204,7 +196,6 @@ StatusCode EgammaReSamp2Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, // For the S-shape correction, we store the caloDDE of the hottest cell caloDDE = (seedCell->caloDDE()); } else { - m_error|=0x80000000; if (!m_timersvc.empty()) m_timer[3]->stop(); return StatusCode::SUCCESS; } @@ -397,7 +388,6 @@ StatusCode EgammaReSamp2Fex::execute(xAOD::TrigEMCluster &rtrigEmCluster, } else { energyEta = 99. ; energyPhi = 0. ; - m_error|=0x40000000; } for(it = iBegin;it != iEnd; ++it) { diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp2Fex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.h similarity index 59% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp2Fex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.h index 8ae3a8ffce251578f4a8b4229d0b930f06deaa66..450221dd833cf2c83baeee7ff6ebb95ed7b240ba 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaReSamp2Fex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaReSamp2Fex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -28,44 +28,17 @@ class IRoiDesciptor; /** Feature extraction Tool for LVL2 Calo. Second EM Calorimeter sample. */ class EgammaReSamp2Fex: public IReAlgToolCalo { public: - // to avoid compiler warning about hidden virtuals - using IReAlgToolCalo::execute; - - /** Constructor */ - EgammaReSamp2Fex(const std::string & type, const std::string & name, - const IInterface* parent); - /** Destructor */ - virtual ~EgammaReSamp2Fex(); + EgammaReSamp2Fex(const std::string & type, const std::string & name, + const IInterface* parent); + /** @brief execute feature extraction for the EM Calorimeter * second layer * @param[out] rtrigEmCluster is the output cluster. * @param[in] eta/phi-min/max = RoI definition. */ - StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, - const CaloDetDescrElement*& caloDDE = caloReDDENull, - const EventContext* context = nullptr ) const; - - /** Special initialize for Samp2 to include eta as a - trigger timer item monitored parameter. Important - to compare time performance as a function of cluster - position. - */ - StatusCode initialize() { - // Very important to call base class initialize - if ( IReAlgToolCalo::initialize().isFailure() ) { - *(new MsgStream(AlgTool::msgSvc(), name())) - << MSG::FATAL - << "Could not init base class IReAlgTooCalo" << endmsg; - return StatusCode::FAILURE; - } - std::string basename(name().substr(25,5)+"."); - //std::string basename(name().substr(6,1)+name().substr(name().find("Fex",0)-5,5)); - //basename+=(name().substr(6,1)+name().substr(name().find("Fex",0)-5,5)); - if (!m_timersvc.empty()) { - m_timer[0]->propName(basename+"Eta"); - } - return StatusCode::SUCCESS; - } + virtual StatusCode execute(xAOD::TrigEMCluster &rtrigEmCluster, const IRoiDescriptor& roi, + const CaloDetDescrElement*& caloDDE, + const EventContext& context) const override; private: inline double etaSizeLArEMSamp2(const double eta, const int calo) const; diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.cxx old mode 100755 new mode 100644 index 89055547641bc5da2f767013fdc743fe329bbe53..9886a2a03fdc7abf709416612358a5352ae0eeb3 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.cxx @@ -17,7 +17,7 @@ //#include "TrigCaloEvent/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaSamp1Fex.h" +#include "EgammaSamp1Fex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include "IRegionSelector/IRoiDescriptor.h" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp1Fex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.h similarity index 90% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp1Fex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.h index f224cdfbcb6c802092ff3a0b5ac1b6fdbc269679..93d60eb1d08816f9a0af32e0dccf2e6f089a34b7 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp1Fex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp1Fex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -23,6 +23,9 @@ #include "TrigT2CaloCommon/IAlgToolCalo.h" #include "GaudiKernel/AlgTool.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + class IRoiDescriptor; /** Feature extraction Tool for LVL2 Calo. First EM Calorimeter sample. */ diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.cxx old mode 100755 new mode 100644 index a8f69cfcfeb9628cd82c59e60e296aec6f3e9d99..bc9be455f6718539d920e18a9d9da2183821cd6c --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.cxx @@ -18,7 +18,7 @@ #include "xAODTrigCalo/TrigEMCluster.h" #include "CaloGeoHelpers/CaloSampling.h" -#include "TrigT2CaloEgamma/EgammaSamp2Fex.h" +#include "EgammaSamp2Fex.h" #include "TrigT2CaloCommon/Calo_Def.h" #include "IRegionSelector/IRoiDescriptor.h" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp2Fex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.h similarity index 95% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp2Fex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.h index 4ef1a22cab475595d1fbcb746a27afc18b1af0ec..283e1a7ab607adc45b401afdf23f17c6c58e9764 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/EgammaSamp2Fex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/EgammaSamp2Fex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -23,6 +23,9 @@ #include "CaloGeoHelpers/CaloSampling.h" #include "TrigT2CaloCommon/Calo_Def.h" +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + class IRoiDesciptor; /** Feature extraction Tool for LVL2 Calo. Second EM Calorimeter sample. */ diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.cxx old mode 100755 new mode 100644 index 7c1df053203bd04272ab613673549a69572b644b..6d747b63c78ae62b47ab521614f5e01744d34a04 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /******************************************************* @@ -14,7 +14,7 @@ #include <map> #include <cmath> #include <numeric> -#include "TrigT2CaloEgamma/RingerFex.h" +#include "RingerFex.h" #include "TrigTimeAlgs/TrigTimer.h" #include "xAODTrigCalo/TrigEMCluster.h" #include "xAODTrigRinger/TrigRingerRings.h" @@ -26,6 +26,9 @@ #include "TrigT2CaloCommon/IAlgToolCalo.h" #include "GaudiKernel/ThreadLocalContext.h" #include "CaloDetDescr/CaloDetDescrElement.h" + +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code + //!================================================================================= const double RingerFex::ENERGY_THRESHOLD = 0.001; const double RingerFex::PI_THRESHOLD = 1.0; diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/RingerFex.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.h similarity index 97% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/RingerFex.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.h index 89150a958a540f114f7e57dc0e5f6e40d437d891..e8c7f4e24436bc065e59865674c113e123ea752e 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/RingerFex.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/RingerFex.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /** @@ -18,7 +18,10 @@ #include "CaloGeoHelpers/CaloSampling.h" #include "CaloEvent/CaloCell.h" #include "TrigT2CaloCommon/IAlgToolCalo.h" -#include "TrigT2CaloEgamma/T2CaloEgamma.h" +#include "T2CaloEgamma.h" + +#include "CxxUtils/checker_macros.h" +ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // legacy trigger code class MsgStream; class TrigEMCluster; // I dont know if put the xAOD prefix here! diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CalibrationEgamma.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CalibrationEgamma.h similarity index 100% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CalibrationEgamma.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CalibrationEgamma.h diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.cxx old mode 100755 new mode 100644 index 68bca35436c62136e418d4b99f720dfea945bb79..41cf461d6c9ae52d3156f922c2a68168d90629f3 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.cxx @@ -28,7 +28,7 @@ #include "xAODTrigRinger/TrigRingerRings.h" #include "xAODTrigRinger/TrigRingerRingsContainer.h" -#include "TrigT2CaloEgamma/T2CaloEgamma.h" +#include "T2CaloEgamma.h" #include "TrigT2CaloCommon/IAlgToolCalo.h" #include "TrigT2CaloCalibration/IEgammaCalibration.h" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgamma.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.h similarity index 100% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgamma.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgamma.h diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx deleted file mode 100755 index 669da637a3e2ef85ce4294eeee5f11675f0903b3..0000000000000000000000000000000000000000 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx +++ /dev/null @@ -1,236 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -/* - NAME: T2CaloEgammaFastAlgo.cxx - PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloEgamma - - AUTHOR: Denis Oliveira Damazio - Carlos Chavez Barajas -*/ - -#include "GaudiKernel/MsgStream.h" -#include "GaudiKernel/IToolSvc.h" -#include "GaudiKernel/StatusCode.h" -#include "AthLinks/ElementLink.h" - -#include "xAODTrigCalo/TrigEMClusterContainer.h" -#include "xAODTrigCalo/TrigEMClusterAuxContainer.h" - -#include "TrigT2CaloEgamma/T2CaloEgammaFastAlgo.h" -#include "TrigT2CaloCommon/IAlgToolCalo.h" -#include "TrigT2CaloCalibration/IEgammaCalibration.h" -#include "TrigT2CaloCommon/ITrigDataAccess.h" - -#include "TrigT2CaloCommon/phiutils.h" - -class ISvcLocator; - -T2CaloEgammaFastAlgo::T2CaloEgammaFastAlgo(const std::string & name, ISvcLocator* pSvcLocator) - : AthAlgorithm(name, pSvcLocator), - m_calibsBarrel(this), - m_calibsEndcap(this), - m_storeCells(false), - m_roiCollection("OutputRoIs"), - m_trigEmClusterCollection("CaloClusters"), - m_regionSelector("RegSelSvc", name) -{ - declareProperty("L1ForceEta",m_l1eta = -10.0); - declareProperty("L1ForcePhi",m_l1phi = -10.0); - declareProperty("EtaWidth", m_etaWidth = 0.1,"Eta Width of the Region of Interest"); - declareProperty("PhiWidth", m_phiWidth = 0.1,"Phi Width of the Region of Interest"); - declareProperty("CalibListBarrel",m_calibsBarrel,"list of calib tools for the Barrel clusters"); - declareProperty("CalibListEndcap",m_calibsEndcap,"list of calib tools for the EndCap clusters"); - declareProperty("StoreCells",m_storeCells,"store cells in container attached to RoI"); - declareProperty("RhoEta",m_rhoEta); - declareProperty("ZEta",m_zEta); - declareProperty("IAlgToolList", m_emAlgTools,"list of AlgToolCalo. These tools perform FEX."); - declareProperty("RoIs", m_roiCollectionKey = std::string("OutputRoIs"), "RoIs to read in"); - declareProperty("ClustersName", m_clusterContainerKey = std::string("CaloClusters"), "Calo cluster container"); -} - -T2CaloEgammaFastAlgo::~T2CaloEgammaFastAlgo() -{ -} - - -StatusCode T2CaloEgammaFastAlgo::initialize() -{ - m_emAlgTools.retrieve().ignore(); - ATH_CHECK( m_regionSelector.retrieve()); - ATH_CHECK( m_clusterContainerKey.initialize() ); - ATH_CHECK( m_roiCollectionKey.initialize() ); - CHECK( m_calibsBarrel.retrieve() ); - CHECK( m_calibsEndcap.retrieve() ); - return StatusCode::SUCCESS; -} - - -StatusCode T2CaloEgammaFastAlgo::execute() -{ - m_conversionError=0; - m_algorithmError=0; - m_monitoredCluster=0; - - m_trigEmClusterCollection = SG::WriteHandle<xAOD::TrigEMClusterContainer>( m_clusterContainerKey, getContext() ); - ATH_CHECK( m_trigEmClusterCollection.record( CxxUtils::make_unique<xAOD::TrigEMClusterContainer>(), - CxxUtils::make_unique<xAOD::TrigEMClusterAuxContainer>() ) ); - - auto roisHandle = SG::makeHandle( m_roiCollectionKey ); - CHECK( roisHandle.isValid() ); - - const TrigRoiDescriptorCollection* roiCollection = roisHandle.cptr(); - const TrigRoiDescriptor* roiDescriptor = 0; - - // datahandle - TrigRoiDescriptorCollection::const_iterator roiCollectionIt = roiCollection->begin(); - for(; roiCollectionIt != roiCollection->end(); ++roiCollectionIt){ - roiDescriptor = *roiCollectionIt; - - float etaL1, phiL1; - // End LVL1 part - double etamin, etamax, phimin, phimax; - if ( (m_l1eta<-9.9)&&(m_l1phi<-9.9)){ - etamin = std::max( -2.5, roiDescriptor->eta() - m_etaWidth ); - etamax = std::min( 2.5, roiDescriptor->eta() + m_etaWidth ); - - phimin = HLT::wrap_phi( roiDescriptor->phi() - m_phiWidth ); - phimax = HLT::wrap_phi( roiDescriptor->phi() + m_phiWidth ); - - etaL1 = roiDescriptor->eta(); - phiL1 = roiDescriptor->phi(); - } - else { - etamin = std::max( -2.5, m_l1eta-m_etaWidth ); - etamax = std::min( 2.5, m_l1eta+m_etaWidth ); - - phimin = HLT::wrap_phi( m_l1phi-m_phiWidth ); - phimax = HLT::wrap_phi( m_l1phi+m_phiWidth ); - - etaL1 = m_l1eta; - phiL1 = m_l1phi; - } - - /// if we do ... - TrigRoiDescriptor newroi( roiDescriptor->eta(), etamin, etamax, - roiDescriptor->phi(), phimin, phimax); - - ATH_MSG_DEBUG(" etamin = "<< etamin << " etamax = "<< etamax << - " phimin = "<< phimin << " phimax = "<< phimax); - - ATH_MSG_DEBUG(" Making TrigEMCluster"); - - xAOD::TrigEMCluster* ptrigEmCluster = new xAOD::TrigEMCluster(); - m_trigEmClusterCollection->push_back( ptrigEmCluster ); - ptrigEmCluster->setEnergy(0.0); - ptrigEmCluster->setEt(0.0); - ptrigEmCluster->setRawEnergy(0.0); - ptrigEmCluster->setRawEt(0.0); - ptrigEmCluster->setE277(0); - ptrigEmCluster->setEmaxs1(0); - ptrigEmCluster->setE2tsts1(0); - ptrigEmCluster->setEhad1(-999); - ptrigEmCluster->setWeta2(-999); - ptrigEmCluster->setFracs1(-999); - ptrigEmCluster->setE233(-999); - ptrigEmCluster->setE237(-999); - ptrigEmCluster->setWstot(-999); - ptrigEmCluster->setEta1(-999); - ptrigEmCluster->setNCells(0); - ptrigEmCluster->setRawEta(-999); - ptrigEmCluster->setRawPhi(-999); - m_monitoredCluster = ptrigEmCluster; - // It is a good idea to clear the energies - for(int i=0;i<CaloSampling::CaloSample::MINIFCAL0;i++){ - ptrigEmCluster->setEnergy((CaloSampling::CaloSample )i,0.); - ptrigEmCluster->setRawEnergy((CaloSampling::CaloSample )i,0.); - } - // Initial cluster position is the LVL1 position - ptrigEmCluster->setEta(etaL1); - ptrigEmCluster->setPhi(phiL1); - - // Add RoI word to TrigEMCluster - // Dangerous !!!! we need to define a *new* roiDescriptor if we want to - // change the size, so we should be careful about *which* roi descriptor - // we save, and *which* "roiWord" (if any) we store if we need to use it - // again - (*ptrigEmCluster).setRoIword(roiDescriptor->roiWord()); - const CaloDetDescrElement * caloDDE = 0; - - ToolHandleArray<IAlgToolCalo>::iterator it = m_emAlgTools.begin(); - uint32_t error = 0; - for (; it < m_emAlgTools.end(); it++) { - if ((*it)->execute(*ptrigEmCluster, newroi, caloDDE ).isFailure() ) { - ATH_MSG_WARNING("T2Calo AlgToolEgamma returned Failure"); - return StatusCode::FAILURE; - } - // uint32_t in_error = (*it)->report_error(); - // if ( 0x0FFFFFFF & in_error ) m_conversionError++; - // if ( 0xF0000000 & in_error ) m_algorithmError++; - // error|=in_error; - } - // support to new monitoring - m_rCore=0; - m_eRatio=0; - m_stripRatio=0; - m_MonEta=ptrigEmCluster->eta(); - m_MonPhi=ptrigEmCluster->phi(); - if ( ptrigEmCluster->e277()!=0 ) - m_rCore = ptrigEmCluster->e237()/ptrigEmCluster->e277(); - if ( ptrigEmCluster->emaxs1()+ptrigEmCluster->e2tsts1() !=0){ - m_eRatio = ptrigEmCluster->emaxs1()-ptrigEmCluster->e2tsts1(); - m_eRatio /= ptrigEmCluster->emaxs1()+ptrigEmCluster->e2tsts1(); - } - - // Cluster quality is a collection of possible errors - // No error quality=0 - ptrigEmCluster->setClusterQuality(error); - - if ( ( error & 0xC0000000 ) || ptrigEmCluster->phi() < -M_PI || ptrigEmCluster->phi() > +M_PI - || fabsf ( ptrigEmCluster->eta() ) > 10.0 ) { - // Clustering failed. Transmit ahead L1 - ptrigEmCluster->setEta(etaL1); - ptrigEmCluster->setPhi(phiL1); - ptrigEmCluster->setEnergy(0.0); - ptrigEmCluster->setEt(0.0); - } - - if ( caloDDE != 0 ){ - if ( caloDDE->is_lar_em_barrel() ){ - for( ToolHandleArray<IEgammaCalibration>::iterator - ical=m_calibsBarrel.begin(); - ical != m_calibsBarrel.end(); ++ical ) - (*ical)->makeCorrection(ptrigEmCluster,caloDDE); - }else{ - for( ToolHandleArray<IEgammaCalibration>::iterator - ical=m_calibsEndcap.begin(); - ical != m_calibsEndcap.end(); ++ical ) - (*ical)->makeCorrection(ptrigEmCluster,caloDDE); - } - } - float calZ0 = 0; - - // Print out Cluster produced - if ( msgLvl(MSG::DEBUG) ) { - ATH_MSG_DEBUG(" Values of Cluster produced: "); - ATH_MSG_DEBUG(" REGTEST: emEnergy = "<< (*ptrigEmCluster).energy()); - ATH_MSG_DEBUG(" REGTEST: hadEnergy = "<< (*ptrigEmCluster).ehad1()); - ATH_MSG_DEBUG(" REGTEST: e237= " << (*ptrigEmCluster).e237()); - ATH_MSG_DEBUG(" REGTEST: e277= " << (*ptrigEmCluster).e277()); - ATH_MSG_DEBUG(" REGTEST: clusterWidth = " << (*ptrigEmCluster).weta2()); - ATH_MSG_DEBUG(" REGTEST: frac73 = " << (*ptrigEmCluster).fracs1()); - ATH_MSG_DEBUG(" REGTEST: e233 = " << (*ptrigEmCluster).e233()); - ATH_MSG_DEBUG(" REGTEST: wstot = " << (*ptrigEmCluster).wstot()); - ATH_MSG_DEBUG(" REGTEST: eta = "<< (*ptrigEmCluster).eta()); - ATH_MSG_DEBUG(" REGTEST: phi = "<< (*ptrigEmCluster).phi()); - ATH_MSG_DEBUG(" REGTEST: Eta1 = "<< (*ptrigEmCluster).eta1()); - ATH_MSG_DEBUG(" REGTEST: calZ0 = "<< calZ0); - ATH_MSG_DEBUG(" REGTEST: quality = "<< (*ptrigEmCluster).clusterQuality()); - ATH_MSG_DEBUG(std::hex << " REGTEST: roiWord = 0x" << (*ptrigEmCluster).RoIword()); - } - - } // end of roiCollection iterator - - return StatusCode::SUCCESS; -} diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.cxx old mode 100755 new mode 100644 index aea2d56625cc20207836422e2e8d5c46337da861..a911e8a34bdb42ff92144cb3912b5563260351d9 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /* @@ -20,7 +20,7 @@ #include "xAODTrigCalo/TrigEMClusterContainer.h" #include "xAODTrigCalo/TrigEMClusterAuxContainer.h" -#include "TrigT2CaloEgamma/T2CaloEgammaReFastAlgo.h" +#include "T2CaloEgammaReFastAlgo.h" #include "TrigT2CaloCommon/IReAlgToolCalo.h" #include "TrigT2CaloCalibration/IEgammaCalibration.h" #include "TrigT2CaloCommon/ITrigDataAccess.h" @@ -201,7 +201,7 @@ StatusCode T2CaloEgammaReFastAlgo::execute(const EventContext& context) const //// if ( m_timersvc ) m_timer[1]->start(); uint32_t error = 0; for (; it < m_emAlgTools.end(); it++) { - if ((*it)->execute(*ptrigEmCluster, newroi, caloDDE, &context ).isFailure() ) { + if ((*it)->execute(*ptrigEmCluster, newroi, caloDDE, context ).isFailure() ) { (*m_log) << MSG::WARNING << "T2Calo AlgToolEgamma returned Failure" << endmsg; return StatusCode::FAILURE; } diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgammaReFastAlgo.h b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.h similarity index 100% rename from Trigger/TrigAlgorithms/TrigT2CaloEgamma/TrigT2CaloEgamma/T2CaloEgammaReFastAlgo.h rename to Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaReFastAlgo.h diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/components/TrigT2CaloEgamma_entries.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/components/TrigT2CaloEgamma_entries.cxx index 7a5575add32d854f8e7a66d453cc9165392c574e..674603a49eccd22cbb9daaafc243a13df200e2d2 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/components/TrigT2CaloEgamma_entries.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/components/TrigT2CaloEgamma_entries.cxx @@ -1,19 +1,17 @@ -#include "TrigT2CaloEgamma/T2CaloEgamma.h" -#include "TrigT2CaloEgamma/T2CaloEgammaFastAlgo.h" -#include "TrigT2CaloEgamma/T2CaloEgammaReFastAlgo.h" -#include "TrigT2CaloEgamma/EgammaSamp2Fex.h" -#include "TrigT2CaloEgamma/EgammaSamp1Fex.h" -#include "TrigT2CaloEgamma/EgammaEmEnFex.h" -#include "TrigT2CaloEgamma/EgammaHadEnFex.h" -#include "TrigT2CaloEgamma/EgammaReSamp2Fex.h" -#include "TrigT2CaloEgamma/EgammaReSamp1Fex.h" -#include "TrigT2CaloEgamma/EgammaReEmEnFex.h" -#include "TrigT2CaloEgamma/EgammaReHadEnFex.h" -#include "TrigT2CaloEgamma/RingerFex.h" -#include "TrigT2CaloEgamma/EgammaAllFex.h" +#include "../T2CaloEgamma.h" +#include "../T2CaloEgammaReFastAlgo.h" +#include "../EgammaSamp2Fex.h" +#include "../EgammaSamp1Fex.h" +#include "../EgammaEmEnFex.h" +#include "../EgammaHadEnFex.h" +#include "../EgammaReSamp2Fex.h" +#include "../EgammaReSamp1Fex.h" +#include "../EgammaReEmEnFex.h" +#include "../EgammaReHadEnFex.h" +#include "../RingerFex.h" +#include "../EgammaAllFex.h" DECLARE_COMPONENT( T2CaloEgamma ) -DECLARE_COMPONENT( T2CaloEgammaFastAlgo ) DECLARE_COMPONENT( T2CaloEgammaReFastAlgo ) DECLARE_COMPONENT( EgammaSamp2Fex ) DECLARE_COMPONENT( EgammaSamp1Fex )