ATLAS Offline Software
EFexEMEnergyWeightedClusterTool.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
10 #ifndef LVL1__EFEXEMENERGYWEIGHTEDCLUSTERTOOL
11 #define LVL1__EFEXEMENERGYWEIGHTEDCLUSTERTOOL
12 
16 
17 #include <string>
18 #include <vector>
19 
20 
21 namespace LVL1
22 {
24  {
25  public:
26  EFexEMEnergyWeightedClusterTool(const std::string& type, const std::string& name, const IInterface* parent);
27 
28  // find the cells at EMB2 and EMEC2 above a given threshold in an event to be used as seeds to build electron/tau candidates
29  void findCellsAbove_EMB2_EMEC2(const CaloConstCellContainer*, const float& thr, std::vector<const CaloCell*>& out) const;
30 
31  // finds cells around a seed cell. These cells will be part of the cluster
32  void findCellsAround(const CaloConstCellContainer*, const CaloCell* cell, std::vector<const CaloCell*>& out,
33  const float deta, const float dphi) const;
34 
35  void findCellsAround(const CaloConstCellContainer*, const float eta, const float phi, std::vector<const CaloCell*>& out,
36  const float deta, const float dphi) const ;
37 
38 
40  void findTTsAround(const xAOD::TriggerTowerContainer*, const float eta, const float phi, std::vector<const xAOD::TriggerTower*>& out) const ;
41 
43  bool isCellEmMaximum(const std::vector<const CaloCell*>& scells, const CaloCell* cell) const ;
45  float sumEmCells(const std::vector<const CaloCell*>& scells) const ;
47  float sumEmCells2nd(const std::vector<const CaloCell*>& scells) const ;
49  float sumHadCells(const std::vector<const CaloCell*>& scells) const ;
51  float sumHadTTs(const std::vector<const xAOD::TriggerTower*>& scells) const ;
52 
54  void findCluster(const std::vector<const CaloCell*>& scells, float &etaCluster, float &phiCluster) const;
55 
56 
57 
58  private:
59 
60  // find the cells above a given threshold in an event to be used as seeds to build electron candidates
61  void findCellsAbove(const CaloConstCellContainer*, const float& thr, std::vector<const CaloCell*>& out) const;
62 
63 
67  const float m_detaTT{0.125};
68  const float m_dphiTT{0.15};
69  };
70 }
71 
72 #endif
LVL1::EFexEMEnergyWeightedClusterTool::sumEmCells2nd
float sumEmCells2nd(const std::vector< const CaloCell * > &scells) const
sum all cells from the vector that are in the EM calorimeter part (only 2nd layer)
Definition: EFexEMEnergyWeightedClusterTool.cxx:122
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1::EFexEMEnergyWeightedClusterTool::m_dphiTT
const float m_dphiTT
dphi for the cluster to TT definition
Definition: EFexEMEnergyWeightedClusterTool.h:68
LVL1::EFexEMEnergyWeightedClusterTool::sumHadTTs
float sumHadTTs(const std::vector< const xAOD::TriggerTower * > &scells) const
sum all TTs from the vector that are in the HAD calorimeter part, but only for |eta|<1....
Definition: EFexEMEnergyWeightedClusterTool.cxx:148
LVL1::EFexEMEnergyWeightedClusterTool::findCellsAbove_EMB2_EMEC2
void findCellsAbove_EMB2_EMEC2(const CaloConstCellContainer *, const float &thr, std::vector< const CaloCell * > &out) const
Definition: EFexEMEnergyWeightedClusterTool.cxx:29
TriggerTowerContainer.h
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::EFexEMEnergyWeightedClusterTool::EFexEMEnergyWeightedClusterTool
EFexEMEnergyWeightedClusterTool(const std::string &type, const std::string &name, const IInterface *parent)
Name : EFexEMEnergyWeightedClusterTool.cxx PACKAGE : Trigger/TrigT1/TrigT1CaloFexPerf AUTHOR : Denis ...
Definition: EFexEMEnergyWeightedClusterTool.cxx:12
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::EFexEMEnergyWeightedClusterTool
Definition: EFexEMEnergyWeightedClusterTool.h:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigConf::name
Definition: HLTChainList.h:35
LVL1::EFexEMEnergyWeightedClusterTool::m_detaTT
const float m_detaTT
member variables
Definition: EFexEMEnergyWeightedClusterTool.h:67
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloConstCellContainer
CaloCellContainer that can accept const cell pointers.
Definition: CaloConstCellContainer.h:45
LVL1::EFexEMEnergyWeightedClusterTool::findCluster
void findCluster(const std::vector< const CaloCell * > &scells, float &etaCluster, float &phiCluster) const
detect central cluster position
Definition: EFexEMEnergyWeightedClusterTool.cxx:161
LVL1::EFexEMEnergyWeightedClusterTool::findCellsAbove
void findCellsAbove(const CaloConstCellContainer *, const float &thr, std::vector< const CaloCell * > &out) const
Definition: EFexEMEnergyWeightedClusterTool.cxx:18
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::EFexEMEnergyWeightedClusterTool::sumHadCells
float sumHadCells(const std::vector< const CaloCell * > &scells) const
sum all cells from the vector that are in the HAD calorimeter part
Definition: EFexEMEnergyWeightedClusterTool.cxx:135
LVL1::EFexEMEnergyWeightedClusterTool::isCellEmMaximum
bool isCellEmMaximum(const std::vector< const CaloCell * > &scells, const CaloCell *cell) const
checks if a give (seed) cell is the highest in a vector of cells.
Definition: EFexEMEnergyWeightedClusterTool.cxx:93
AthAlgTool
Definition: AthAlgTool.h:26
CaloConstCellContainer.h
CaloCellContainer that can accept const cell pointers.
LVL1::EFexEMEnergyWeightedClusterTool::findTTsAround
void findTTsAround(const xAOD::TriggerTowerContainer *, const float eta, const float phi, std::vector< const xAOD::TriggerTower * > &out) const
finds TTs around a seed cell.
Definition: EFexEMEnergyWeightedClusterTool.cxx:77
LVL1::EFexEMEnergyWeightedClusterTool::findCellsAround
void findCellsAround(const CaloConstCellContainer *, const CaloCell *cell, std::vector< const CaloCell * > &out, const float deta, const float dphi) const
Definition: EFexEMEnergyWeightedClusterTool.cxx:42
LVL1::EFexEMEnergyWeightedClusterTool::sumEmCells
float sumEmCells(const std::vector< const CaloCell * > &scells) const
sum all cells from the vector that are in the EM calorimeter part
Definition: EFexEMEnergyWeightedClusterTool.cxx:110