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