ATLAS Offline Software
Loading...
Searching...
No Matches
EratioMaker.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2025 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
33 // Main method to get Eratio for each seed
34 const EratioObj makeEratio(const ROOT::Math::PtEtaPhiEVector obj) const;
35
36private:
37 // Auxiliary methods - intermediate steps
38 std::vector<std::vector<GepCaloCell>> makeWindow(const ROOT::Math::PtEtaPhiEVector &obj) const;
39 std::pair<double, double> findLocalMaxima(const std::vector<std::vector<GepCaloCell>>& window) const;
40 double computeEratio(double E1, double E2) const;
41
42 // Attributes
44};
45
46} // namespace Gep
47
48#endif // TRIGGEPPERF_ERATIO_H
std::pair< double, double > findLocalMaxima(const std::vector< std::vector< GepCaloCell > > &window) const
double computeEratio(double E1, double E2) const
EratioMaker(const GepCellMap &caloCellsMap)
const EratioObj makeEratio(const ROOT::Math::PtEtaPhiEVector obj) const
std::vector< std::vector< GepCaloCell > > makeWindow(const ROOT::Math::PtEtaPhiEVector &obj) const
const GepCellMap & m_caloCellsMap
Definition EratioMaker.h:43