ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma1eRatioAlgTool.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
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 "eRatioKey",
62 "eRatio"};
63
66 this,
67 "eRatioSimpleKey",
68 "eRatioSimple"};
69
70 std::vector<double> combine_phi(const IOBitwise::eEmNbhoodTOB*) const;
71 ap_int<16> secondPeakSearch(const std::vector<ap_int<16>>& input, const ap_int<16> peak,
72 const int startCell, const int endCell,
73 const ap_int<16> noiseMargin) const;
74
75 // a neighborhood has 3 vectors of strip energies (phi_low, phi_center.
76 // phi_high). Provide the length thes vectors must have for the eRatio to be
77 // evaluated
78 static inline constexpr int s_required_phi_len = 17;
79
80 // the three strip energy vectors are combined to form a single vector.
81 // the length of this vector have the following length.
82 static inline constexpr int s_combination_len = 51;
83 };
84}
85#endif
SG::ReadHandleKey< IOBitwise::eEmNbhoodTOBContainer > m_nbhdTOBContainerReadKey
virtual StatusCode run(const EventContext &ctx) const override
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< std::vector< float > > m_eRatioSimpleKey
virtual ~Egamma1eRatioAlgTool()=default
SG::WriteHandleKey< std::vector< float > > m_eRatioKey
std::vector< double > combine_phi(const IOBitwise::eEmNbhoodTOB *) const
Egamma1eRatioAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
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...