ATLAS Offline Software
L1CPMTools.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
5 // L1CPMTools.h,
7 
8  /***************************************************************************
9  * *
10  * *
11  ***************************************************************************/
12 
13 #ifndef LVL1L1CPMTOOLS_H
14 #define LVL1L1CPMTOOLS_H
15 
21 
22 #include "TrigConfData/L1Menu.h"
23 
24 class AtlasDetectorID;
25 class Identifier;
26 
27 namespace LVL1
28 {
29 
44  class L1CPMTools : virtual public extends<AthAlgTool, IL1CPMTools>
45  {
46  public:
48  typedef std::map<int, xAOD::CPMTower*>* CPMTContainer;
49 
50  L1CPMTools(const std::string&,const std::string&,const IInterface*);
51 
53  virtual StatusCode initialize() override;
55  virtual StatusCode finalize () override;
56 
60  virtual void mapTowers(const DataVector<xAOD::CPMTower>* cpmts, xAOD::CPMTowerMap_t* towers) const override;
61 
63  virtual void findRoIs(const TrigConf::L1Menu* l1menu, const xAOD::CPMTowerMap_t* towers, DataVector<CPMTobAlgorithm>* tobs, int slice = -1) const override;
64 
66  virtual void findRoIs(const TrigConf::L1Menu* l1menu, const DataVector<xAOD::CPMTower>* cpmts, DataVector<CPMTobAlgorithm>* tobs, int slice = -1) const override;
67 
70  virtual void findCPMTobRoIs(const TrigConf::L1Menu* l1menu, const xAOD::CPMTowerMap_t* towers, xAOD::CPMTobRoIContainer* rois, int slice = -1) const override;
71 
74  virtual void findCPMTobRoIs(const TrigConf::L1Menu* l1menu, const DataVector<xAOD::CPMTower>* cpmts, xAOD::CPMTobRoIContainer* rois, int slice = -1) const override;
75 
78  virtual void findCPMResults(const TrigConf::L1Menu* l1menu, const xAOD::CPMTowerMap_t* towers, int crate, int module,
79  DataVector<CPMTobRoI>* rois, std::vector<unsigned int>& emCMXData,
80  std::vector<unsigned int>& tauCMXData, int slice = -1) const override;
81 
83  virtual CPMTobAlgorithm findRoI(const TrigConf::L1Menu* l1menu, double RoIeta, double RoIphi, const xAOD::CPMTowerMap_t* towers, int slice = -1) const override;
84 
86  virtual CPMTobAlgorithm formSums(const TrigConf::L1Menu* l1menu, double RoIeta, double RoIphi, const xAOD::CPMTowerMap_t* towers, int slice = -1) const override;
87  virtual CPMTobAlgorithm formSums(const TrigConf::L1Menu* l1menu, uint32_t roiWord, const xAOD::CPMTowerMap_t* towers, int slice = -1) const override;
88 
89  private:
90 
93  };
94 } // end of namespace
95 
96 #endif
LVL1::L1CPMTools::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: L1CPMTools.cxx:24
LVL1::L1CPMTools::CPMTContainer
std::map< int, xAOD::CPMTower * > * CPMTContainer
Definition: L1CPMTools.h:48
LVL1::L1CPMTools::finalize
virtual StatusCode finalize() override
standard Athena-Algorithm method
Definition: L1CPMTools.cxx:31
LVL1::L1CPMTools::CPMTCollection
DataVector< xAOD::CPMTower > CPMTCollection
Definition: L1CPMTools.h:47
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CPRoIDecoder.h
LVL1::CPMTobAlgorithm
This is an internal class, used in the EM/Tau trigger.
Definition: CPMTobAlgorithm.h:43
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::L1CPMTools::findCPMResults
virtual void findCPMResults(const TrigConf::L1Menu *l1menu, const xAOD::CPMTowerMap_t *towers, int crate, int module, DataVector< CPMTobRoI > *rois, std::vector< unsigned int > &emCMXData, std::vector< unsigned int > &tauCMXData, int slice=-1) const override
Form CPM results for specified crate/module using user-supplied map of input towers This version adds...
Definition: L1CPMTools.cxx:39
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
python.PyAthena.module
module
Definition: PyAthena.py:134
LVL1::L1CPMTools::L1CPMTools
L1CPMTools(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: L1CPMTools.cxx:19
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
LVL1::L1CPMTools::formSums
virtual CPMTobAlgorithm formSums(const TrigConf::L1Menu *l1menu, double RoIeta, double RoIphi, const xAOD::CPMTowerMap_t *towers, int slice=-1) const override
Form cluster/isolation sums for a given RoI location.
Definition: L1CPMTools.cxx:355
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
xAOD::CPMTowerMap_t
std::map< int, const CPMTower * > CPMTowerMap_t
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CPMTower.h:18
CPMTobRoI.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
LVL1::L1CPMTools
Definition: L1CPMTools.h:45
LVL1::L1CPMTools::mapTowers
virtual void mapTowers(const DataVector< xAOD::CPMTower > *cpmts, xAOD::CPMTowerMap_t *towers) const override
Tool-based EM/tau algorithm implementation.
Definition: L1CPMTools.cxx:312
CPMTobAlgorithm.h
LVL1::CPRoIDecoder
A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.
Definition: CPRoIDecoder.h:37
RunTileMonitoring.towers
towers
Definition: RunTileMonitoring.py:133
IL1CPMTools.h
TriggerTest.rois
rois
Definition: TriggerTest.py:23
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
LVL1::L1CPMTools::findRoIs
virtual void findRoIs(const TrigConf::L1Menu *l1menu, const xAOD::CPMTowerMap_t *towers, DataVector< CPMTobAlgorithm > *tobs, int slice=-1) const override
Find RoIs in user-supplied map of input towers.
Definition: L1CPMTools.cxx:276
LVL1::L1CPMTools::findCPMTobRoIs
virtual void findCPMTobRoIs(const TrigConf::L1Menu *l1menu, const xAOD::CPMTowerMap_t *towers, xAOD::CPMTobRoIContainer *rois, int slice=-1) const override
Form CPM results for specified crate/module using user-supplied map of input towers This version fill...
Definition: L1CPMTools.cxx:211
LVL1::L1CPMTools::m_conv
CPRoIDecoder m_conv
Utility for decoding RoI words.
Definition: L1CPMTools.h:92
LVL1::L1CPMTools::findRoI
virtual CPMTobAlgorithm findRoI(const TrigConf::L1Menu *l1menu, double RoIeta, double RoIphi, const xAOD::CPMTowerMap_t *towers, int slice=-1) const override
Return RoI object for a specified location.
Definition: L1CPMTools.cxx:348
L1Menu.h
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57