#include <TopoTowerMaker.h>
Definition at line 23 of file TopoTowerMaker.h.
◆ TopoTowerMaker()
| Gep::TopoTowerMaker::TopoTowerMaker |
( |
| ) |
|
|
default |
◆ ~TopoTowerMaker()
| Gep::TopoTowerMaker::~TopoTowerMaker |
( |
| ) |
|
|
default |
◆ getName()
| std::string Gep::TopoTowerMaker::getName |
( |
| ) |
const |
|
overridevirtual |
◆ makeTowers()
Implements Gep::ITowerMaker.
Definition at line 7 of file TopoTowerMaker.cxx.
7 {
8
9 std::vector<Gep::Cluster> customTowers;
10
11
12 static constexpr int nEta{98};
13 static constexpr int nPhi{64};
14
15 auto tow =
new Gep::Cluster[
nEta][
nPhi]();
16
17
18
19 for (const auto* iClust : clusters) {
20 CaloClusterCellLink::const_iterator cellBegin = iClust->cell_begin();
21 CaloClusterCellLink::const_iterator cellEnd = iClust->cell_end();
22
23 for (; cellBegin != cellEnd; ++cellBegin) {
24 unsigned int cellIndex = cellBegin.
index();
25 if (cellIndex >=
cells.size())
continue;
27 if (!cell) continue;
28
29
30 int eta_index =
static_cast<int>(std::floor(
cell->eta() * 10)) + 49;
31 int phi_index =
static_cast<int>(std::floor(
cell->phi() * 10)) + 32;
32
33
34 if (eta_index < 0 || eta_index >= nEta || phi_index < 0 || phi_index >= nPhi) continue;
35
36
37 TLorentzVector cellVector;
38 cellVector.SetPtEtaPhiE(
cell->energy() * 1.0 / TMath::CosH(
cell->eta()),
41 }
42 }
43
44
45 for (
int i = 0;
i <
nEta; ++
i) {
46 for (
int j = 0; j <
nPhi; ++j) {
47 if (tow[i][j].
vec.Et() > 0) {
48 customTowers.push_back(tow[i][j]);
49 }
50 }
51 }
52 delete[] tow;
53 return customTowers;
54}
std::vector< size_t > vec
unsigned index() const
Accessor for the index of the cell in the CaloCellContainer.
constexpr int nEta
Default bin number of eta for vertex map.
constexpr int nPhi
Default bin number of phi for vertex map.
The documentation for this class was generated from the following files: