ATLAS Offline Software
L1JEPEtSumsTools.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
5 // L1JEPEtSumsTools.h,
7 
8  /***************************************************************************
9  * *
10  * *
11  ***************************************************************************/
12 
13 #ifndef LVL1L1JEPETSUMSTOOLS_H
14 #define LVL1L1JEPETSUMSTOOLS_H
15 
16 #include <string>
17 #include <vector>
18 
20 #include "GaudiKernel/ToolHandle.h"
25 
26 
27 namespace LVL1
28 {
29  //using namespace xAOD;
30 
31 class CMMEtSums;
32 class JEMEtSums;
33 class JetElement;
34 class ModuleEnergy;
35 class CrateEnergy;
36 class SystemEnergy;
37 
52 class L1JEPEtSumsTools : virtual public IL1JEPEtSumsTools, public AthAlgTool
53 {
54  public:
55 
56  L1JEPEtSumsTools(const std::string& type, const std::string& name,
57  const IInterface* parent);
58 
60  virtual ~L1JEPEtSumsTools ();
61 
63  virtual StatusCode initialize();
64 
66  virtual void formJEMEtSums(const DataVector<xAOD::JetElement>* jetElementVec,
67  DataVector<JEMEtSums>* jemEtSumsVec) const;
69  virtual void formCMMEtSums(const DataVector<JEMEtSums>* jemEtSumsVec,
70  DataVector<CMMEtSums>* cmmEtSumsVec) const;
72  virtual void formCMMEtSumsModule(const DataVector<JEMEtSums>* jemEtSumsVec,
73  DataVector<CMMEtSums>* cmmEtSumsMod) const;
75  virtual void formCMMEtSumsCrate(const DataVector<CMMEtSums>* cmmEtSumsMod,
76  DataVector<CMMEtSums>* cmmEtSumsCrate) const;
78  virtual void formCMMEtSumsSystem(
79  const DataVector<CMMEtSums>* cmmEtSumsCrate,
80  DataVector<CMMEtSums>* cmmEtSumsSys) const;
82  virtual void formCMMEtSumsEtMaps(const DataVector<CMMEtSums>* cmmEtSumsSys,
83  DataVector<CMMEtSums>* cmmEtSumsMap) const;
84 
85  private:
86 
87  typedef std::vector<unsigned int> EnergyVector;
88  typedef std::vector<int> ErrorVector;
89  typedef std::vector<DataVector<ModuleEnergy>*> MultiSliceModuleEnergy;
90  typedef std::vector<DataVector<CrateEnergy>*> MultiSliceCrateEnergy;
91  typedef std::vector<SystemEnergy*> MultiSliceSystemEnergy;
92 
95  MultiSliceModuleEnergy& modulesVec, int& peak) const;
97  void etSumsToCrateEnergy(const DataVector<CMMEtSums>* etSums,
98  MultiSliceCrateEnergy& crateVec, int& peak) const;
100  void etSumsToSystemEnergy(const DataVector<CMMEtSums>* etSums,
101  MultiSliceSystemEnergy& systemVec, int& peak) const;
103  void moduleEnergyToEtSums(const MultiSliceModuleEnergy& modulesVec,
104  DataVector<JEMEtSums>* jemEtSumsVec, int peak) const;
106  void crateEnergyToEtSums(const MultiSliceCrateEnergy& cratesVec,
107  DataVector<CMMEtSums>* cmmEtSumsVec, int peak) const;
109  void systemEnergyToEtSums(const MultiSliceSystemEnergy& systemVec,
110  DataVector<CMMEtSums>* cmmEtSumsVec, int peak) const;
112  void etMapsToEtSums(const MultiSliceSystemEnergy& systemVec,
113  DataVector<CMMEtSums>* cmmEtSumsVec, int peak) const;
114 
116  ToolHandle<LVL1::IL1JetElementTools> m_jeTool;
118  ToolHandle<LVL1::IL1EtTools> m_etTool;
119  SG::ReadHandleKey<TrigConf::L1Menu> m_L1MenuKey{ this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu" };
120 
121 };
122 
123 } // end of namespace
124 
125 #endif
LVL1::L1JEPEtSumsTools::moduleEnergyToEtSums
void moduleEnergyToEtSums(const MultiSliceModuleEnergy &modulesVec, DataVector< JEMEtSums > *jemEtSumsVec, int peak) const
Convert internal ModuleEnergy containers to JEMEtSums container.
Definition: L1JEPEtSumsTools.cxx:341
IL1JetElementTools.h
IL1JEPEtSumsTools.h
xAOD::JEMEtSums
JEMEtSums_v2 JEMEtSums
Define the latest version of the JEMEtSums class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JEMEtSums.h:16
LVL1::L1JEPEtSumsTools::m_jeTool
ToolHandle< LVL1::IL1JetElementTools > m_jeTool
Tool for JetElement map.
Definition: L1JEPEtSumsTools.h:119
LVL1::L1JEPEtSumsTools::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition: L1JEPEtSumsTools.h:122
LVL1::L1JEPEtSumsTools::crateEnergyToEtSums
void crateEnergyToEtSums(const MultiSliceCrateEnergy &cratesVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert internal CrateEnergy containers to CMMEtSums container.
Definition: L1JEPEtSumsTools.cxx:383
LVL1::L1JEPEtSumsTools::systemEnergyToEtSums
void systemEnergyToEtSums(const MultiSliceSystemEnergy &systemVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert internal SystemEnergy objects to CMMEtSums object.
Definition: L1JEPEtSumsTools.cxx:454
LVL1::L1JEPEtSumsTools::ErrorVector
std::vector< int > ErrorVector
Definition: L1JEPEtSumsTools.h:91
LVL1::L1JEPEtSumsTools::etMapsToEtSums
void etMapsToEtSums(const MultiSliceSystemEnergy &systemVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert maps from internal SystemEnergy objects to CMMEtSums objects.
Definition: L1JEPEtSumsTools.cxx:509
LVL1::L1JEPEtSumsTools::initialize
virtual StatusCode initialize()
standard Athena-Algorithm method
Definition: L1JEPEtSumsTools.cxx:46
SG::ReadHandleKey< TrigConf::L1Menu >
IL1EtTools.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::L1JEPEtSumsTools::etSumsToModuleEnergy
void etSumsToModuleEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceModuleEnergy &modulesVec, int &peak) const
Convert CMMEtSums container to internal ModuleEnergy containers.
Definition: L1JEPEtSumsTools.cxx:226
xAOD::JetElement
JetElement_v2 JetElement
Define the latest version of the JetElement class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JetElement.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::L1JEPEtSumsTools::formJEMEtSums
virtual void formJEMEtSums(const DataVector< xAOD::JetElement > *jetElementVec, DataVector< JEMEtSums > *jemEtSumsVec) const
form JEMEtSums from JetElements
Definition: L1JEPEtSumsTools.cxx:63
AthAlgTool.h
LVL1::L1JEPEtSumsTools::formCMMEtSumsEtMaps
virtual void formCMMEtSumsEtMaps(const DataVector< CMMEtSums > *cmmEtSumsSys, DataVector< CMMEtSums > *cmmEtSumsMap) const
form partial CMMEtSums (sumEt/missingEt maps) from system CMMEtSums
Definition: L1JEPEtSumsTools.cxx:209
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::L1JEPEtSumsTools::etSumsToCrateEnergy
void etSumsToCrateEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceCrateEnergy &crateVec, int &peak) const
Convert CMMEtSums container to internal CrateEnergy containers.
Definition: L1JEPEtSumsTools.cxx:260
LVL1::L1JEPEtSumsTools::L1JEPEtSumsTools
L1JEPEtSumsTools(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: L1JEPEtSumsTools.cxx:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
LVL1::L1JEPEtSumsTools::MultiSliceSystemEnergy
std::vector< SystemEnergy * > MultiSliceSystemEnergy
Definition: L1JEPEtSumsTools.h:94
TrigConf::name
Definition: HLTChainList.h:35
LVL1::L1JEPEtSumsTools::formCMMEtSumsCrate
virtual void formCMMEtSumsCrate(const DataVector< CMMEtSums > *cmmEtSumsMod, DataVector< CMMEtSums > *cmmEtSumsCrate) const
form partial CMMEtSums (crate) from module CMMEtSums
Definition: L1JEPEtSumsTools.cxx:154
LVL1::L1JEPEtSumsTools::EnergyVector
std::vector< unsigned int > EnergyVector
Definition: L1JEPEtSumsTools.h:90
LVL1::L1JEPEtSumsTools::formCMMEtSumsSystem
virtual void formCMMEtSumsSystem(const DataVector< CMMEtSums > *cmmEtSumsCrate, DataVector< CMMEtSums > *cmmEtSumsSys) const
form partial CMMEtSums (system) from crate CMMEtSums
Definition: L1JEPEtSumsTools.cxx:182
xAOD::CMMEtSums
CMMEtSums_v1 CMMEtSums
Define the latest version of the CMMEtSums class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CMMEtSums.h:14
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1::L1JEPEtSumsTools::formCMMEtSumsModule
virtual void formCMMEtSumsModule(const DataVector< JEMEtSums > *jemEtSumsVec, DataVector< CMMEtSums > *cmmEtSumsMod) const
form partial CMMEtSums (module) from JEMEtSums
Definition: L1JEPEtSumsTools.cxx:137
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::L1JEPEtSumsTools::MultiSliceCrateEnergy
std::vector< DataVector< CrateEnergy > * > MultiSliceCrateEnergy
Definition: L1JEPEtSumsTools.h:93
LVL1::L1JEPEtSumsTools::m_etTool
ToolHandle< LVL1::IL1EtTools > m_etTool
Tool for energy sums.
Definition: L1JEPEtSumsTools.h:121
LVL1::L1JEPEtSumsTools::formCMMEtSums
virtual void formCMMEtSums(const DataVector< JEMEtSums > *jemEtSumsVec, DataVector< CMMEtSums > *cmmEtSumsVec) const
form complete CMMEtSums from JEMEtSums
Definition: L1JEPEtSumsTools.cxx:102
LVL1::L1JEPEtSumsTools::MultiSliceModuleEnergy
std::vector< DataVector< ModuleEnergy > * > MultiSliceModuleEnergy
Definition: L1JEPEtSumsTools.h:92
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::L1JEPEtSumsTools::~L1JEPEtSumsTools
virtual ~L1JEPEtSumsTools()
default destructor
Definition: L1JEPEtSumsTools.cxx:39
LVL1::L1JEPEtSumsTools::etSumsToSystemEnergy
void etSumsToSystemEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceSystemEnergy &systemVec, int &peak) const
Convert CMMEtSums container to internal SystemEnergy objects.
Definition: L1JEPEtSumsTools.cxx:304