ATLAS Offline Software
Loading...
Searching...
No Matches
jTauNoSort.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4// jTauNoSort.cxx
5// TopoCore
6// Algorithm to generate ALL lists of jTau TOBs
7
12#include <algorithm>
13
14REGISTER_ALG_TCS(jTauNoSort)
15
16// constructor
18 defineParameter("InputWidth", 120); // for fw
19 defineParameter("OutputWidth", 120);
20 defineParameter("Isolation", 1024);
21 defineParameter("passIsolation", false);
22}
23
24
25// destructor
27
30 m_numberOfjTaus = parameter("OutputWidth").value();
31 m_iso = parameter("Isolation").value();
32 m_passIsolation = parameter("passIsolation").value();
33
35}
36
39
40 const jTauTOBArray & clusters = dynamic_cast<const jTauTOBArray&>(input);
41
42 // fill output array with GenericTOB built from clusters
43 for(jTauTOBArray::const_iterator jtau = clusters.begin(); jtau!= clusters.end(); ++jtau ) {
44
45 // Isolation cut
46 if(!checkIsolation(*jtau)) continue;
47
48 const GenericTOB gtob(**jtau);
49 output.push_back( gtob );
50 }
51
52
53 // keep only max number of clusters
54 int par = m_numberOfjTaus ;
55 unsigned int maxNumberOfjTaus = std::clamp(par, 0, std::abs(par));
56 if(maxNumberOfjTaus>0) {
57 while( output.size()> maxNumberOfjTaus ) {
58 output.pop_back();
59 }
60 }
62}
63
64
65bool
67 if(m_passIsolation) return true;
68 return jtau->EtIso()*1024 < jtau->Et()*m_iso;
69}
70
#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
virtual TCS::StatusCode sort(const InputTOBArray &input, TOBArray &output) override final
parType_t m_passIsolation
Definition jTauNoSort.h:33
bool checkIsolation(const TCS::jTauTOB *jtau) const
parType_t m_numberOfjTaus
Definition jTauNoSort.h:31
virtual TCS::StatusCode initialize() override
parType_t m_iso
Definition jTauNoSort.h:32
jTauNoSort(const std::string &name)
virtual ~jTauNoSort()
unsigned int EtIso() const
Definition jTauTOB.h:40
unsigned int Et() const
Definition jTauTOB.h:32
STL namespace.