ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
MaxMultFilter Class Reference

#include <MaxMultFilter.h>

Inheritance diagram for MaxMultFilter:
Collaboration diagram for MaxMultFilter:

Public Member Functions

 MaxMultFilter ()
 
 MaxMultFilter (std::size_t end, double etaMin, double etaMax)
 
virtual HypoJetVector filter (const HypoJetVector &jv, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
 
virtual std::string toString () const override
 

Private Attributes

const std::size_t m_end {0}
 
const double m_etaMin {0.}
 
const double m_etaMax {0.}
 
const long unsigned int m_nToSort {0u}
 

Detailed Description

Definition at line 12 of file MaxMultFilter.h.

Constructor & Destructor Documentation

◆ MaxMultFilter() [1/2]

MaxMultFilter::MaxMultFilter ( )
inline

Definition at line 15 of file MaxMultFilter.h.

15 {};

◆ MaxMultFilter() [2/2]

MaxMultFilter::MaxMultFilter ( std::size_t  end,
double  etaMin,
double  etaMax 
)

Definition at line 11 of file MaxMultFilter.cxx.

Member Function Documentation

◆ filter()

HypoJetVector MaxMultFilter::filter ( const HypoJetVector jv,
const std::unique_ptr< ITrigJetHypoInfoCollector > &   
) const
overridevirtual

Implements IHypoJetVectorFilter.

Definition at line 15 of file MaxMultFilter.cxx.

16  {
17 
18  auto filtered = HypoJetVector();
19  std::copy_if(jv.begin(), jv.end(), std::back_inserter(filtered),
20  [this](const pHypoJet& jp){
21  return (std::abs(jp->eta())<this->m_etaMax && std::abs(jp->eta())>this->m_etaMin);} );
22 
23  auto nToSort = std::min(m_nToSort, filtered.size());
24 
25  std::partial_sort(filtered.begin(),
26  filtered.begin() + nToSort,
27  filtered.end(),
29 
30  filtered.resize(nToSort);
31 
32  return filtered;
33 }

◆ toString()

std::string MaxMultFilter::toString ( ) const
overridevirtual

Implements IHypoJetVectorFilter.

Definition at line 35 of file MaxMultFilter.cxx.

35  {
36  std::stringstream ss;
37  const void* address = static_cast<const void*>(this);
38  ss << "MaxMultFilter: (" << address << ") "
39  << " eta range [" << m_etaMin << ", " << m_etaMax << "]:"
40  << " end " << m_end << '\n';
41  return ss.str();
42 }

Member Data Documentation

◆ m_end

const std::size_t MaxMultFilter::m_end {0}
private

Definition at line 26 of file MaxMultFilter.h.

◆ m_etaMax

const double MaxMultFilter::m_etaMax {0.}
private

Definition at line 28 of file MaxMultFilter.h.

◆ m_etaMin

const double MaxMultFilter::m_etaMin {0.}
private

Definition at line 27 of file MaxMultFilter.h.

◆ m_nToSort

const long unsigned int MaxMultFilter::m_nToSort {0u}
private

Definition at line 29 of file MaxMultFilter.h.


The documentation for this class was generated from the following files:
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
HypoJetPtGreater
Definition: HypoJetPreds.h:19
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
MaxMultFilter::m_etaMax
const double m_etaMax
Definition: MaxMultFilter.h:28
pHypoJet
std::shared_ptr< const HypoJet::IJet > pHypoJet
Definition: HypoJetDefs.h:25
AnalysisUtils::copy_if
Out copy_if(In first, const In &last, Out res, const Pred &p)
Definition: IFilterUtils.h:30
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
min
#define min(a, b)
Definition: cfImp.cxx:40
MaxMultFilter::m_etaMin
const double m_etaMin
Definition: MaxMultFilter.h:27
MaxMultFilter::m_nToSort
const long unsigned int m_nToSort
Definition: MaxMultFilter.h:29
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
MaxMultFilter::m_end
const std::size_t m_end
Definition: MaxMultFilter.h:26
std::partial_sort
void partial_sort(std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, std::reverse_iterator< DataModel_detail::iterator< DVL > > mid, std::reverse_iterator< DataModel_detail::iterator< DVL > > end, Compare comp)
Specialization of partial_sort for DataVector/List.
Definition: DVL_algorithms.h:811
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84