ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma1eRatioAlgTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GLOBALSIM_EGAMMA1ERATIOALGTOOL_H
6#define GLOBALSIM_EGAMMA1ERATIOALGTOOL_H
7
11
16
17#include "ap_int.h"
18#include "ap_fixed.h"
19#include "Digitizer.h"
20
22
23#include <string>
24#include <vector>
25
26namespace GlobalSim {
27 class Egamma1eRatioAlgTool: public extends<AthAlgTool, IGlobalSimAlgTool> {
28
29 public:
30 Egamma1eRatioAlgTool(const std::string& type,
31 const std::string& name,
32 const IInterface* parent);
33
34 virtual ~Egamma1eRatioAlgTool() = default;
35
36 StatusCode initialize() override;
37
38 virtual StatusCode run(const EventContext& ctx) const override;
39
40 virtual std::string toString() const override;
41
42 private:
43
44 Gaudi::Property<bool>
46 "enableDump",
47 {false},
48 "flag to enable dumps"};
49
50 // input to the eRatio Algorithm
53 this,
54 "LArNeighborhoodTOBContainerReadKey",
55 "stripNeighborhoodTOBContainer",
56 "key to read inLArNeighborhoodTOBsReadKeys"};
57
60 this,
61 "eRatioResultKey",
62 "eRatioResult"};
63
66 this,
67 "eRatioKey",
68 "eRatio"};
69
72 this,
73 "eRatioSimpleKey",
74 "eRatioSimple"};
75
76 std::vector<double> combine_phi(const IOBitwise::eEmNbhoodTOB*) const;
77 ap_int<16> secondPeakSearch(const std::vector<ap_int<16>>& input, const ap_int<16> peak,
78 const int startCell, const int endCell,
79 const ap_int<16> noiseMargin) const;
80
81 // a neighborhood has 3 vectors of strip energies (phi_low, phi_center.
82 // phi_high). Provide the length thes vectors must have for the eRatio to be
83 // evaluated
84 static inline constexpr int s_required_phi_len = 17;
85
86 // the three strip energy vectors are combined to form a single vector.
87 // the length of this vector have the following length.
88 static inline constexpr int s_combination_len = 51;
89 };
90}
91#endif
SG::ReadHandleKey< IOBitwise::eEmNbhoodTOBContainer > m_nbhdTOBContainerReadKey
SG::WriteHandleKey< std::vector< int > > m_eRatioKey
virtual std::string toString() const override
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
Gaudi::Property< bool > m_enableDump
SG::WriteHandleKey< IOBitwise::eEmEg1eRatioTOBContainer > m_eRatioResultKey
SG::WriteHandleKey< std::vector< float > > m_eRatioSimpleKey
virtual ~Egamma1eRatioAlgTool()=default
std::vector< double > combine_phi(const IOBitwise::eEmNbhoodTOB *) const
Egamma1eRatioAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Class to hold an eFexRoI and LAr strip neighbourhood.
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 that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...
Definition run.py:1