5#ifndef ANALYSISUTILS_ANALYSISPERMUTATION_H
6#define ANALYSISUTILS_ANALYSISPERMUTATION_H
34 for (
unsigned int i=0; i<coll->size(); ++i)
82 std::vector<unsigned int *>::const_iterator it =
m_index.begin();
83 std::vector<unsigned int *>::const_iterator itE =
m_index.end();
85 perm.push_back((*
m_coll)[**it]);
94 template <
class CALLER,
class OUT,
class CRITERIA>
100 if (criteria(caller,perm))
return true;
103 return goodOnes(caller, perm, criteria);
std::vector< unsigned int * > m_index
bool goodOnes(CALLER *caller, OUT &perm, CRITERIA criteria)
get a permutation which passes a selection criteria
std::vector< unsigned int * > m_index_for_comb
indices of elements
Permutation(const Permutation &)=delete
Combination< std::vector< unsigned int * > > * m_comb
combination
Permutation & operator=(const Permutation &)=delete
bool m_first
flag to check if first
bool get(OUT &perm)
get a permutation.
Permutation(COLL *coll, const unsigned int nElement)
constructor
utility class to select combination of elements in a collection
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.