ATLAS Offline Software
Loading...
Searching...
No Matches
jJetNoSort.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4// jJetNoSort.cxx
5// TopoCore
6// Algorithm to generate ALL lists of jJet TOBs
7
12#include <algorithm>
13
14REGISTER_ALG_TCS(jJetNoSort)
15
16
17// constructor
20{
21 defineParameter( "InputWidth", 64 ); // for FW
22 defineParameter( "OutputWidth", 64 );
23 defineParameter( "NumRegisters", 2); // for FW
24}
25
26
29
32 m_numberOfjJets = parameter("OutputWidth").value();
34}
35
36
37
38
41 const jJetTOBArray & jets = dynamic_cast<const jJetTOBArray&>(input);
42
43 // fill output array with GenericTOBs builds from jets
44 for(jJetTOBArray::const_iterator jet = jets.begin(); jet!= jets.end(); ++jet ) {
45 output.push_back( GenericTOB(**jet) );
46 }
47
48
49 // keep only max number of jets
50 int par = m_numberOfjJets ;
51 unsigned int maxNumberOfjJets = std::clamp(par, 0, std::abs(par));
52 if(maxNumberOfjJets>0) {
53 while( output.size()> maxNumberOfjJets ) {
54 output.pop_back();
55 }
56 }
58}
59
#define REGISTER_ALG_TCS(CLASS)
Definition AlgFactory.h:62
const Parameter & parameter(const std::string &parameterName) const
const std::string & name() const
void defineParameter(const std::string &name, TCS::parType_t value)
data_t::const_iterator const_iterator
SortingAlg(const std::string &name)
Definition SortingAlg.h:21
jJetNoSort(const std::string &name)
virtual TCS::StatusCode sort(const InputTOBArray &input, TOBArray &output) override final
virtual TCS::StatusCode initialize() override
parType_t m_numberOfjJets
Definition jJetNoSort.h:32
virtual ~jJetNoSort()
STL namespace.