ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma1BDTAlgTool.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_EGAMMA1BDTALGTOOL_H
6#define GLOBALSIM_EGAMMA1BDTALGTOOL_H
7
11
14#include "../IO/eEmNbhoodTOB.h"
15#include "../IO/eEmEg1BDTTOB.h"
16
17
18#include "ap_int.h"
19#include "ap_fixed.h"
21
22#include "./Egamma1BDT/BDT.h"
23
25
26#include <string>
27#include <vector>
28
29namespace GlobalSim {
30
31 class Egamma1BDTAlgTool: public extends<AthAlgTool, IGlobalSimAlgTool> {
32
35
36 public:
37 Egamma1BDTAlgTool(const std::string& type,
38 const std::string& name,
39 const IInterface* parent);
40
41 virtual ~Egamma1BDTAlgTool() = default;
42
43 StatusCode initialize() override;
44
45 virtual StatusCode run(const EventContext& ctx) const override;
46
47 virtual std::string toString() const override;
48
49 static constexpr std::size_t BDT_ouput_width = 10;
50
51 private:
52
53
54 Gaudi::Property<bool>
56 "enableDump",
57 {false},
58 "flag to enable dumps"};
59
62 this,
63 "BDTScoreKey",
64 "eGamma1BDT"};
65
66 // input to the BDT Algorithm
69 this,
70 "LArNeighborhoodTOBContainerReadKey",
71 "stripNeighborhoodTOBContainer",
72 "key to read inLArNeighborhoodTOBsReadKeys"};
73
76 this,
77 "eEmEg1BDTTOBContainerKey",
78 "eEmEg1BDTTOBContainer"};
79
80 int bitSetToInt(std::bitset<BDT_ouput_width> bitSet) const;
81 std::vector<double> combine_phi(const IOBitwise::eEmNbhoodTOB*) const;
82
83 // a neighborhood has 3 vectors of strip energies (phi_low, phi_center.
84 // phi_high). Provide the length thes vectors must have for the BDT to be
85 // evaluated
86 static inline constexpr int s_required_phi_len = 17;
87
88 // the three strip energy vectors are combined to form a single vector.
89 // the length of this vector have the following length.
90 static inline constexpr int s_combination_len = 18;
91 };
92}
93#endif
virtual ~Egamma1BDTAlgTool()=default
static constexpr int s_combination_len
Egamma1BDTAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
GlobalSim::IOBitwise::eEmNbhoodTOBContainer eEmNbhoodTOBContainer
Gaudi::Property< bool > m_enableDump
std::vector< double > combine_phi(const IOBitwise::eEmNbhoodTOB *) const
GlobalSim::IOBitwise::eEmEg1BDTTOBContainer eEmEg1BDTTOBContainer
SG::WriteHandleKey< std::vector< float > > m_BDTScoreKey
StatusCode initialize() override
static constexpr std::size_t BDT_ouput_width
int bitSetToInt(std::bitset< BDT_ouput_width > bitSet) const
virtual StatusCode run(const EventContext &ctx) const override
SG::ReadHandleKey< eEmNbhoodTOBContainer > m_nbhdTOBContainerReadKey
static constexpr int s_required_phi_len
virtual std::string toString() const override
SG::WriteHandleKey< eEmEg1BDTTOBContainer > m_eEmEg1BDTTOBContainerKey
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.
DataVector< GlobalSim::IOBitwise::eEmEg1BDTTOB > eEmEg1BDTTOBContainer
DataVector< GlobalSim::IOBitwise::eEmNbhoodTOB > eEmNbhoodTOBContainer
AlgTool to read in LArStripNeighborhoods, and run the eRatio Algorithm.