ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1Topo
L1TopoAlgorithms
Root
eTauSelect.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
// eTauSelect.cxx
5
// TopoCore
6
// Algorithm to select the abbreviated list of eTaus , no order is applied
7
//
8
#include "
L1TopoAlgorithms/eTauSelect.h
"
9
#include "
L1TopoEvent/TOBArray.h
"
10
#include "
L1TopoEvent/eTauTOBArray.h
"
11
#include "
L1TopoEvent/GenericTOB.h
"
12
#include <algorithm>
13
14
REGISTER_ALG_TCS
(eTauSelect)
15
16
// constructor
17
TCS
::
eTauSelect
::
eTauSelect
(
const
std
::
string
&
name
) :
SortingAlg
(
name
) {
18
defineParameter
(
"InputWidth"
, 120 );
// for fw
19
defineParameter
(
"InputWidth1stStage"
, 30 );
// for fw
20
defineParameter
(
"OutputWidth"
, 6 );
21
defineParameter
(
"MinET"
, 0 );
22
defineParameter
(
"RCoreMin"
, 0 );
23
defineParameter
(
"RHadMin"
, 0 );
24
defineParameter
(
"MinEta"
, 0 );
25
defineParameter
(
"MaxEta"
, 196 );
26
}
27
28
29
// destructor
30
TCS::eTauSelect::~eTauSelect
() {}
31
32
TCS::StatusCode
33
TCS::eTauSelect::initialize
() {
34
m_numberOfeTaus
=
parameter
(
"OutputWidth"
).value();
35
m_et
=
parameter
(
"MinET"
).value();
36
m_minRCore
=
parameter
(
"RCoreMin"
).value();
37
m_minRHad
=
parameter
(
"RHadMin"
).value();
38
return
TCS::StatusCode::SUCCESS
;
39
}
40
41
TCS::StatusCode
42
TCS::eTauSelect::sort
(
const
InputTOBArray
& input,
TOBArray
& output) {
43
44
const
eTauTOBArray
& clusters =
dynamic_cast<
const
eTauTOBArray
&
>
(input);
45
46
// fill output array with GenericTOB buildt from clusters
47
for
(
eTauTOBArray::const_iterator
etau = clusters.begin(); etau!= clusters.end(); ++etau ) {
48
49
if
(
parType_t
((*etau)->Et()) <=
m_et
)
continue
;
// ET cut
50
51
// Isolation cut
52
if
( !
isocut
(
m_minRCore
, (*etau)-> rCore()) ) {
continue
;}
53
if
( !
isocut
(
m_minRHad
, (*etau)-> rHad()) ) {
continue
;}
54
55
const
GenericTOB
gtob(**etau);
56
output.push_back( gtob );
57
}
58
59
60
// keep only max number of clusters
61
int
par =
m_numberOfeTaus
;
62
unsigned
int
maxNumberOfeTaus = std::clamp(par, 0, std::abs(par));
63
if
(maxNumberOfeTaus>0) {
64
65
if
(output.size()> maxNumberOfeTaus) {
setOverflow
(
true
);}
66
67
while
( output.size()> maxNumberOfeTaus ) {
68
output.pop_back();
69
}
70
}
71
return
TCS::StatusCode::SUCCESS
;
72
}
73
REGISTER_ALG_TCS
#define REGISTER_ALG_TCS(CLASS)
Definition
AlgFactory.h:62
GenericTOB.h
TOBArray.h
TCS::ConfigurableAlg::name
const std::string & name() const
Definition
ConfigurableAlg.h:49
TCS::ConfigurableAlg::parameter
const Parameter & parameter(std::string_view parameterName) const
Definition
ConfigurableAlg.cxx:245
TCS::ConfigurableAlg::isocut
bool isocut(const std::string &threshold, const unsigned int bit) const
Definition
ConfigurableAlg.cxx:487
TCS::ConfigurableAlg::defineParameter
void defineParameter(std::string_view name, TCS::parType_t value)
Definition
ConfigurableAlg.cxx:203
TCS::DataArrayImpl< eTauTOB >::const_iterator
data_t::const_iterator const_iterator
Definition
DataArrayImpl.h:18
TCS::GenericTOB
Definition
GenericTOB.h:35
TCS::InputTOBArray
Definition
InputTOBArray.h:15
TCS::SortingAlg::setOverflow
SortingAlg & setOverflow(const bool v)
setter, to propagate bit from input event
Definition
SortingAlg.h:37
TCS::SortingAlg::SortingAlg
SortingAlg(const std::string &name)
Definition
SortingAlg.h:21
TCS::StatusCode
Definition
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15
TCS::StatusCode::SUCCESS
@ SUCCESS
Definition
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:17
TCS::TOBArray
Definition
TOBArray.h:24
TCS::eTauSelect::sort
virtual TCS::StatusCode sort(const InputTOBArray &input, TOBArray &output) override final
Definition
eTauSelect.cxx:42
TCS::eTauSelect::m_minRCore
parType_t m_minRCore
Definition
eTauSelect.h:33
TCS::eTauSelect::eTauSelect
eTauSelect(const std::string &name)
Definition
eTauSelect.cxx:17
TCS::eTauSelect::m_minRHad
parType_t m_minRHad
Definition
eTauSelect.h:34
TCS::eTauSelect::m_numberOfeTaus
parType_t m_numberOfeTaus
Definition
eTauSelect.h:31
TCS::eTauSelect::m_et
parType_t m_et
Definition
eTauSelect.h:32
TCS::eTauSelect::initialize
virtual TCS::StatusCode initialize() override
Definition
eTauSelect.cxx:33
TCS::eTauSelect::~eTauSelect
virtual ~eTauSelect()
Definition
eTauSelect.cxx:30
TCS::eTauTOBArray
Definition
eTauTOBArray.h:14
eTauSelect.h
eTauTOBArray.h
const
TCS
Definition
AnomalyDetectionBDT.h:18
TCS::parType_t
uint32_t parType_t
Definition
Parameter.h:23
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0