#include <PhysicsTools/UtilAlgos/interface/ObjectPairCollectionSelector.h>
Public Types | |
typedef InputCollection | collection |
Public Member Functions | |
const_iterator | begin () const |
const_iterator | end () const |
ObjectPairCollectionSelector (const edm::ParameterSet &cfg) | |
void | select (const edm::Handle< InputCollection > &c, const edm::Event &, const edm::EventSetup &) |
Private Types | |
typedef container::const_iterator | const_iterator |
typedef StoreContainer | container |
typedef const InputCollection::value_type * | reference |
Private Attributes | |
RefAdder | addRef_ |
Selector | select_ |
StoreContainer | selected_ |
Definition at line 26 of file ObjectPairCollectionSelector.h.
typedef InputCollection ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::collection |
Definition at line 28 of file ObjectPairCollectionSelector.h.
typedef container::const_iterator ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::const_iterator [private] |
Definition at line 33 of file ObjectPairCollectionSelector.h.
typedef StoreContainer ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::container [private] |
Definition at line 32 of file ObjectPairCollectionSelector.h.
typedef const InputCollection::value_type* ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::reference [private] |
Definition at line 31 of file ObjectPairCollectionSelector.h.
ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::ObjectPairCollectionSelector | ( | const edm::ParameterSet & | cfg | ) | [inline] |
Definition at line 36 of file ObjectPairCollectionSelector.h.
00036 : 00037 select_(reco::modules::make<Selector>(cfg)) { }
const_iterator ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::begin | ( | void | ) | const [inline] |
Definition at line 38 of file ObjectPairCollectionSelector.h.
References ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::selected_.
00038 { return selected_.begin(); }
const_iterator ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::end | ( | void | ) | const [inline] |
Definition at line 39 of file ObjectPairCollectionSelector.h.
References ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::selected_.
00039 { return selected_.end(); }
void ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select | ( | const edm::Handle< InputCollection > & | c, | |
const edm::Event & | , | |||
const edm::EventSetup & | ||||
) | [inline] |
Definition at line 40 of file ObjectPairCollectionSelector.h.
References ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::addRef_, i, j, s, ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select_, ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::selected_, and v.
00040 { 00041 unsigned int s = c->size(); 00042 std::vector<bool> v(s, false); 00043 for(unsigned int i = 0; i < s; ++i) 00044 for(unsigned int j = i + 1; j < s; ++j) { 00045 if(select_((*c)[i], (*c)[j])) 00046 v[i] = v[j] = true; 00047 } 00048 selected_.clear(); 00049 for(unsigned int i = 0; i < s; ++i) 00050 if (v[i]) 00051 addRef_(selected_, c, i); 00052 }
RefAdder ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::addRef_ [private] |
Definition at line 57 of file ObjectPairCollectionSelector.h.
Referenced by ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select().
Selector ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select_ [private] |
Definition at line 55 of file ObjectPairCollectionSelector.h.
Referenced by ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select().
StoreContainer ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::selected_ [private] |
Definition at line 56 of file ObjectPairCollectionSelector.h.
Referenced by ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::begin(), ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::end(), and ObjectPairCollectionSelector< InputCollection, Selector, StoreContainer, RefAdder >::select().