ATLAS Offline Software
Loading...
Searching...
No Matches
eRatioAlgTool_UCL.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 GLOBALSIM_EGAMMA1ERATIOALGTOOL_H
6#define GLOBALSIM_EGAMMA1ERATIOALGTOOL_H
7
11
14#include "../IO/eEmNbhoodTOB.h"
16
18
19#include "ap_int.h"
20#include "ap_fixed.h"
22
24
25#include <string>
26#include <vector>
27
28namespace GlobalSim {
29 class eRatioAlgTool_UCL: public extends<AthAlgTool, IGlobalSimAlgTool> {
30
31 public:
32 eRatioAlgTool_UCL(const std::string& type,
33 const std::string& name,
34 const IInterface* parent);
35
36 virtual ~eRatioAlgTool_UCL() = default;
37
38 StatusCode initialize() override;
39
40 virtual StatusCode run(const std::unique_ptr<IDataCollector>&,
41 const EventContext& ctx) const override;
42
43 virtual std::string toString() const override;
44
45 private:
46
47 Gaudi::Property<bool>
49 "enableDump",
50 {false},
51 "flag to enable dumps"};
52
53 // input to the eRatio Algorithm
56 this,
57 "LArNeighborhoodTOBContainerReadKey",
58 "stripNeighborhoodTOBContainer",
59 "key to read inLArNeighborhoodTOBsReadKeys"};
60
63 this,
64 "eRatioKey",
65 "eRatio"};
66
69 this,
70 "eRatioSimpleKey",
71 "eRatioSimple"};
72
73 std::vector<double> combine_phi(const IOBitwise::eEmNbhoodTOB*) const;
74 ap_int<16> secondPeakSearch(const std::vector<ap_int<16>>& input, const ap_int<16> peak,
75 const int startCell, const int endCell,
76 const ap_int<16> noiseMargin) const;
77
78 // a neighborhood has 3 vectors of strip energies (phi_low, phi_center.
79 // phi_high). Provide the length thes vectors must have for the eRatio to be
80 // evaluated
81 static inline constexpr int s_required_phi_len = 17;
82
83 // the three strip energy vectors are combined to form a single vector.
84 // the length of this vector have the following length.
85 static inline constexpr int s_combination_len = 51;
86 };
87}
88#endif
ap_int< 16 > secondPeakSearch(const std::vector< ap_int< 16 > > &input, const ap_int< 16 > peak, const int startCell, const int endCell, const ap_int< 16 > noiseMargin) const
std::vector< double > combine_phi(const IOBitwise::eEmNbhoodTOB *) const
eRatioAlgTool_UCL(const std::string &type, const std::string &name, const IInterface *parent)
virtual std::string toString() const override
virtual StatusCode run(const std::unique_ptr< IDataCollector > &, const EventContext &ctx) const override
SG::ReadHandleKey< IOBitwise::eEmNbhoodTOBContainer > m_nbhdTOBContainerReadKey
virtual ~eRatioAlgTool_UCL()=default
Gaudi::Property< bool > m_enableDump
static constexpr int s_combination_len
StatusCode initialize() override
SG::WriteHandleKey< std::vector< float > > m_eRatioKey
SG::WriteHandleKey< std::vector< float > > m_eRatioSimpleKey
static constexpr int s_required_phi_len
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
AlgTool to read in LArStripNeighborhoods, and run the BDT Algorithm.