ATLAS Offline Software
Loading...
Searching...
No Matches
EratioMaker.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2026 CERN
3 * for the benefit of the ATLAS collaboration
4 */
5
6#ifndef TRIGGEPPERF_ERATIO_H
7#define TRIGGEPPERF_ERATIO_H
8
9#include <vector>
10#include <utility>
11#include <cmath>
14#include "Math/Vector4D.h"
15
16namespace Gep {
17
18// Auxiliary structure for Eratio result, and init values to 0.
19struct EratioObj {
20 double seedEta{0.};
21 double seedPhi{0.};
22 double E1{0.};
23 double E2{0.};
24 double Eratio{0.};
25};
26
28public:
29
30 // Constructor
31 EratioMaker(const GepCellMap& caloCellsMap,
32 unsigned int etaWindowHalfSize = 8, // leads to 17 cells in eta
33 unsigned int phiWindowHalfSize = 1); // leads to 3 cells in phi
34
35 // Main method to get Eratio for each seed
36 const EratioObj makeEratio(const ROOT::Math::PtEtaPhiEVector obj) const;
37
38private:
39 // Auxiliary methods - intermediate steps
40 std::vector<std::vector<GepCaloCell>> makeWindow(const ROOT::Math::PtEtaPhiEVector &obj) const;
41 std::pair<double, double> findLocalMaxima(const std::vector<std::vector<GepCaloCell>>& window) const;
42 double computeEratio(double E1, double E2) const;
43
44 // Attributes
46 const unsigned int m_etaWindowHalfSize;
47 const unsigned int m_phiWindowHalfSize;
48};
49
50} // namespace Gep
51
52#endif // TRIGGEPPERF_ERATIO_H
const unsigned int m_phiWindowHalfSize
Definition EratioMaker.h:47
std::pair< double, double > findLocalMaxima(const std::vector< std::vector< GepCaloCell > > &window) const
double computeEratio(double E1, double E2) const
const EratioObj makeEratio(const ROOT::Math::PtEtaPhiEVector obj) const
EratioMaker(const GepCellMap &caloCellsMap, unsigned int etaWindowHalfSize=8, unsigned int phiWindowHalfSize=1)
const unsigned int m_etaWindowHalfSize
Definition EratioMaker.h:46
std::vector< std::vector< GepCaloCell > > makeWindow(const ROOT::Math::PtEtaPhiEVector &obj) const
const GepCellMap & m_caloCellsMap
Definition EratioMaker.h:45