ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
Global
GlobalSimulation
src
Hypothesis
eEmEg1BDTMultAlgTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
./eEmEg1BDTMultAlgTool.h
"
6
#include "
./CommonSelector.h
"
7
#include "
./eEmSelector.h
"
8
#include "
./eEmEg1BDTSelector.h
"
9
10
#include <fstream>
11
12
namespace
GlobalSim
{
13
14
eEmEg1BDTMultAlgTool::eEmEg1BDTMultAlgTool
(
const
std::string&
type
,
15
const
std::string& name,
16
const
IInterface* parent) :
17
base_class(
type
, name, parent) {
18
}
19
20
21
// Initialize function running before first event
22
StatusCode
eEmEg1BDTMultAlgTool::initialize
() {
23
ATH_CHECK
(
TIPWriterAlgTool::initialize
());
24
25
CHECK
(
m_eEmEg1BDTTOBContainerKey
.initialize());
26
27
// create the necessary selector objects
28
m_c_selector
= std::make_unique<CommonSelector>(
m_et_low_str
,
29
m_et_high_str
,
30
m_eta_low_str
,
31
m_eta_high_str
,
32
m_phi_low_str
,
33
m_phi_high_str
34
);
35
36
try
{
37
m_bdt_selector
= std::make_unique<eEmEg1BDTSelector>(std::stoul(
m_Eg1BDT_str
),
38
m_Eg1BDT_op
39
);
40
}
catch
(
const
std::exception& e) {
41
42
ATH_MSG_ERROR
(
"Error initialising eEmEg1BDTSelector "
<< e.what());
43
return
StatusCode::FAILURE;
44
}
45
46
return
StatusCode::SUCCESS;
47
}
48
49
50
StatusCode
51
eEmEg1BDTMultAlgTool::countPassingTOBs
(
const
EventContext& ctx,
52
const
std::unique_ptr<IDataCollector>& dc,
53
unsigned
int
& N_pass_tobs)
const
{
54
auto
tobs =
55
SG::ReadHandle<GlobalSim::IOBitwise::eEmEg1BDTTOBContainer>
(
m_eEmEg1BDTTOBContainerKey
,
56
ctx);
57
58
CHECK
(tobs.isValid());
59
60
if
(dc){
61
std::stringstream
ss
;
62
ss
<<
"nummber of tobs "
<< tobs->size() <<
'\n'
;
63
dc->collect(*
this
,
ss
.str());
64
65
for
(
const
GlobalSim::IOBitwise::eEmEg1BDTTOB
* t : *tobs){
66
dc->collect(*
this
, t->to_string());
67
}
68
}
69
70
// check if any of the incoming tobs is selected.
71
72
std::vector<bool> tob_pass(tobs->size(),
false
);
73
for
(
int
tob_it = 0;
const
GlobalSim::IOBitwise::eEmEg1BDTTOB
* t : *tobs){
74
if
(
m_c_selector
->select(*t) and
m_bdt_selector
->select(*t)) {
75
tob_pass[tob_it] =
true
;
76
if
(++N_pass_tobs == m_maxtob){
77
break
;
78
}
79
}
80
tob_it++;
81
}
82
83
ATH_MSG_DEBUG
(
"no of passing TOBS"
<< N_pass_tobs);
84
85
if
(
m_enableDump
) {
86
std::stringstream
ss
;
87
ss
<<
"\nRun "
<< ctx <<
'\n'
;
88
std::size_t ind{0};
89
for
(
const
GlobalSim::IOBitwise::eEmEg1BDTTOB
* tob : *tobs) {
90
ss
<< tob->to_string() <<
' '
<< std::boolalpha <<
" pass "
<< tob_pass[ind++] <<
'\n'
;
91
}
92
ss
<<
"tob count "
<< N_pass_tobs <<
'\n'
;
93
94
std::ofstream out(name() +
".log"
, std::ios_base::app);
95
out <<
ss
.str();
96
out.close();
97
}
98
99
return
StatusCode::SUCCESS;
100
}
101
102
std::string
eEmEg1BDTMultAlgTool::toString
()
const
{
103
std::stringstream
ss
;
104
ss
<<name () <<
": "
<<
m_menu_name
<<
' '
105
<<
"eEmEg1BDTMultAlgTool read, select, count and report number of related eEmEg1BDTTOBS\n"
106
<<
m_c_selector
->to_string() <<
'\n'
107
<<
m_bdt_selector
->to_string() <<
'\n'
108
<< m_TIP_position <<
' '
<< m_TIP_width;
109
110
return
ss
.str();
111
}
112
113
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
CommonSelector.h
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
GlobalSim::IOBitwise::eEmEg1BDTTOB
Definition
eEmEg1BDTTOB.h:25
GlobalSim::TIPWriterAlgTool::initialize
virtual StatusCode initialize() override
Initialize function running before first event.
Definition
TIPWriterAlgTool.cxx:20
GlobalSim::eEmEg1BDTMultAlgTool::m_phi_low_str
Gaudi::Property< std::string > m_phi_low_str
Definition
eEmEg1BDTMultAlgTool.h:83
GlobalSim::eEmEg1BDTMultAlgTool::m_eta_high_str
Gaudi::Property< std::string > m_eta_high_str
Definition
eEmEg1BDTMultAlgTool.h:77
GlobalSim::eEmEg1BDTMultAlgTool::m_et_low_str
Gaudi::Property< std::string > m_et_low_str
Definition
eEmEg1BDTMultAlgTool.h:59
GlobalSim::eEmEg1BDTMultAlgTool::m_enableDump
Gaudi::Property< bool > m_enableDump
Definition
eEmEg1BDTMultAlgTool.h:115
GlobalSim::eEmEg1BDTMultAlgTool::m_c_selector
std::unique_ptr< ICommonSelector > m_c_selector
Definition
eEmEg1BDTMultAlgTool.h:49
GlobalSim::eEmEg1BDTMultAlgTool::m_Eg1BDT_str
Gaudi::Property< std::string > m_Eg1BDT_str
Definition
eEmEg1BDTMultAlgTool.h:96
GlobalSim::eEmEg1BDTMultAlgTool::m_Eg1BDT_op
Gaudi::Property< std::string > m_Eg1BDT_op
Definition
eEmEg1BDTMultAlgTool.h:102
GlobalSim::eEmEg1BDTMultAlgTool::m_phi_high_str
Gaudi::Property< std::string > m_phi_high_str
Definition
eEmEg1BDTMultAlgTool.h:89
GlobalSim::eEmEg1BDTMultAlgTool::m_menu_name
Gaudi::Property< std::string > m_menu_name
Definition
eEmEg1BDTMultAlgTool.h:108
GlobalSim::eEmEg1BDTMultAlgTool::toString
virtual std::string toString() const override
Definition
eEmEg1BDTMultAlgTool.cxx:102
GlobalSim::eEmEg1BDTMultAlgTool::countPassingTOBs
virtual StatusCode countPassingTOBs(const EventContext &, const std::unique_ptr< IDataCollector > &dc, unsigned int &N_pass_tobs) const override
Definition
eEmEg1BDTMultAlgTool.cxx:51
GlobalSim::eEmEg1BDTMultAlgTool::m_eta_low_str
Gaudi::Property< std::string > m_eta_low_str
Definition
eEmEg1BDTMultAlgTool.h:71
GlobalSim::eEmEg1BDTMultAlgTool::m_eEmEg1BDTTOBContainerKey
SG::ReadHandleKey< IOBitwise::eEmEg1BDTTOBContainer > m_eEmEg1BDTTOBContainerKey
Definition
eEmEg1BDTMultAlgTool.h:53
GlobalSim::eEmEg1BDTMultAlgTool::m_et_high_str
Gaudi::Property< std::string > m_et_high_str
Definition
eEmEg1BDTMultAlgTool.h:65
GlobalSim::eEmEg1BDTMultAlgTool::eEmEg1BDTMultAlgTool
eEmEg1BDTMultAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
eEmEg1BDTMultAlgTool.cxx:14
GlobalSim::eEmEg1BDTMultAlgTool::m_bdt_selector
std::unique_ptr< IeEmEg1BDTSelector > m_bdt_selector
Definition
eEmEg1BDTMultAlgTool.h:50
GlobalSim::eEmEg1BDTMultAlgTool::initialize
virtual StatusCode initialize() override
Initialize function running before first event.
Definition
eEmEg1BDTMultAlgTool.cxx:22
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
eEmEg1BDTMultAlgTool.h
eEmEg1BDTSelector.h
eEmSelector.h
GlobalSim
AlgTool to read in LArStripNeighborhoods, and run the BDT Algorithm.
Definition
Trigger/TrigT1/Global/GlobalSimulation/src/Egamma1BDT/Egamma1BDT/BDT.h:11
type
Generated on
for ATLAS Offline Software by
1.17.0