ATLAS Offline Software
Loading...
Searching...
No Matches
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
27namespace LVL1
28{
29 //using namespace xAOD;
30
31class CMMEtSums;
32class JEMEtSums;
33class JetElement;
34class ModuleEnergy;
35class CrateEnergy;
36class SystemEnergy;
37
51
52class 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;
98 MultiSliceCrateEnergy& crateVec, int& peak) const;
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
An STL vector of pointers that by default owns its pointed-to elements.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Derived DataVector<T>.
Definition DataVector.h:795
CMMEtSums object stores Et sums from the Energy CMMs.
CrateEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energy...
Definition CrateEnergy.h:29
Jet elements are the inputs to the Jet, ETmiss and ETsum triggers.
std::vector< int > ErrorVector
virtual StatusCode initialize()
standard Athena-Algorithm method
std::vector< SystemEnergy * > MultiSliceSystemEnergy
L1JEPEtSumsTools(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
void etSumsToCrateEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceCrateEnergy &crateVec, int &peak) const
Convert CMMEtSums container to internal CrateEnergy containers.
std::vector< unsigned int > EnergyVector
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
virtual void formCMMEtSumsCrate(const DataVector< CMMEtSums > *cmmEtSumsMod, DataVector< CMMEtSums > *cmmEtSumsCrate) const
form partial CMMEtSums (crate) from module CMMEtSums
void etSumsToModuleEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceModuleEnergy &modulesVec, int &peak) const
Convert CMMEtSums container to internal ModuleEnergy containers.
virtual void formCMMEtSumsSystem(const DataVector< CMMEtSums > *cmmEtSumsCrate, DataVector< CMMEtSums > *cmmEtSumsSys) const
form partial CMMEtSums (system) from crate CMMEtSums
virtual void formCMMEtSums(const DataVector< JEMEtSums > *jemEtSumsVec, DataVector< CMMEtSums > *cmmEtSumsVec) const
form complete CMMEtSums from JEMEtSums
virtual void formJEMEtSums(const DataVector< xAOD::JetElement > *jetElementVec, DataVector< JEMEtSums > *jemEtSumsVec) const
form JEMEtSums from JetElements
void etMapsToEtSums(const MultiSliceSystemEnergy &systemVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert maps from internal SystemEnergy objects to CMMEtSums objects.
void etSumsToSystemEnergy(const DataVector< CMMEtSums > *etSums, MultiSliceSystemEnergy &systemVec, int &peak) const
Convert CMMEtSums container to internal SystemEnergy objects.
std::vector< DataVector< CrateEnergy > * > MultiSliceCrateEnergy
void crateEnergyToEtSums(const MultiSliceCrateEnergy &cratesVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert internal CrateEnergy containers to CMMEtSums container.
virtual ~L1JEPEtSumsTools()
default destructor
ToolHandle< LVL1::IL1JetElementTools > m_jeTool
Tool for JetElement map.
std::vector< DataVector< ModuleEnergy > * > MultiSliceModuleEnergy
virtual void formCMMEtSumsModule(const DataVector< JEMEtSums > *jemEtSumsVec, DataVector< CMMEtSums > *cmmEtSumsMod) const
form partial CMMEtSums (module) from JEMEtSums
virtual void formCMMEtSumsEtMaps(const DataVector< CMMEtSums > *cmmEtSumsSys, DataVector< CMMEtSums > *cmmEtSumsMap) const
form partial CMMEtSums (sumEt/missingEt maps) from system CMMEtSums
void systemEnergyToEtSums(const MultiSliceSystemEnergy &systemVec, DataVector< CMMEtSums > *cmmEtSumsVec, int peak) const
Convert internal SystemEnergy objects to CMMEtSums object.
void moduleEnergyToEtSums(const MultiSliceModuleEnergy &modulesVec, DataVector< JEMEtSums > *jemEtSumsVec, int peak) const
Convert internal ModuleEnergy containers to JEMEtSums container.
ToolHandle< LVL1::IL1EtTools > m_etTool
Tool for energy sums.
This is an internal class, used in the Energy trigger.
SystemEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energ...
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...