ATLAS Offline Software
Loading...
Searching...
No Matches
gLJetSelect.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4// gLJetSelect.cxx
5// TopoCore
6// algorithm to create abbreviated gLJet lists
7//
12#include <algorithm>
13
14REGISTER_ALG_TCS(gLJetSelect)
15
16
17// constructor
20{
21 defineParameter( "InputWidth", 64 ); // for FW
22 defineParameter( "InputWidth1stStage", 16 ); // for FW
23 defineParameter( "OutputWidth", 10 );
24 defineParameter( "MinET", 0 );
25 defineParameter( "MinEta", 0 );
26 defineParameter( "MaxEta", 196 );
27}
28
29
32
35 m_numberOfgLJets = parameter("OutputWidth").value();
36 m_et = parameter("MinET").value();
37 m_minEta = parameter("MinEta").value();
38 m_maxEta = parameter("MaxEta").value();
40}
41
42
43
44
47
48 const gLJetTOBArray & jets = dynamic_cast<const gLJetTOBArray&>(input);
49
50 // fill output array with GenericTOBs builds from jets
51 for(gLJetTOBArray::const_iterator jet = jets.begin(); jet!= jets.end(); ++jet ) {
52 unsigned int Et = parType_t((*jet)->Et());
53 if( Et <= m_et ) continue; // ET cut
54 if ( parType_t(std::abs((*jet)-> eta())) < m_minEta) continue;
55 if ( parType_t(std::abs((*jet)-> eta())) > m_maxEta) continue;
56
57 output.push_back( GenericTOB(**jet) );
58 }
59
60 // keep only max number of jets
61 int par = m_numberOfgLJets ;
62 unsigned int maxNumberOfJets = std::clamp(par, 0, std::abs(par));
63 if(maxNumberOfJets>0) {
64
65 if (output.size()> maxNumberOfJets) {setOverflow(true);}
66
67 while( output.size()> maxNumberOfJets ) {
68 output.pop_back();
69 }
70 }
72}
73
#define REGISTER_ALG_TCS(CLASS)
Definition AlgFactory.h:62
Scalar eta() const
pseudorapidity method
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 & setOverflow(const bool v)
setter, to propagate bit from input event
Definition SortingAlg.h:37
SortingAlg(const std::string &name)
Definition SortingAlg.h:21
virtual TCS::StatusCode sort(const InputTOBArray &input, TOBArray &output) override final
virtual ~gLJetSelect()
parType_t m_minEta
Definition gLJetSelect.h:32
parType_t m_numberOfgLJets
Definition gLJetSelect.h:31
gLJetSelect(const std::string &name)
virtual TCS::StatusCode initialize() override
parType_t m_maxEta
Definition gLJetSelect.h:33
uint32_t parType_t
Definition Parameter.h:22
STL namespace.