ATLAS Offline Software
Loading...
Searching...
No Matches
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
24class AtlasDetectorID;
25class Identifier;
26
27namespace LVL1
28{
29
43
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
58
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
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Derived DataVector<T>.
Definition DataVector.h:795
This is an internal class, used in the EM/Tau trigger.
A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.
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.
virtual void mapTowers(const DataVector< xAOD::CPMTower > *cpmts, xAOD::CPMTowerMap_t *towers) const override
Tool-based EM/tau algorithm implementation.
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...
virtual StatusCode initialize() override
standard Athena-Algorithm method
CPRoIDecoder m_conv
Utility for decoding RoI words.
Definition L1CPMTools.h:92
L1CPMTools(const std::string &, const std::string &, const IInterface *)
Constructor.
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.
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...
DataVector< xAOD::CPMTower > CPMTCollection
Definition L1CPMTools.h:47
std::map< int, xAOD::CPMTower * > * CPMTContainer
Definition L1CPMTools.h:48
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.
virtual StatusCode finalize() override
standard Athena-Algorithm method
L1 menu configuration.
Definition L1Menu.h:28
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
std::map< int, const CPMTower * > CPMTowerMap_t
CPMTobRoIContainer_v1 CPMTobRoIContainer
Define the latest version of the CPMTobRoI class.