CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes | Friends
AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder > Class Template Reference

#include <AssociatedVariableCollectionSelector.h>

Public Types

typedef InputCollection collection
 
typedef container::const_iterator const_iterator
 
typedef StoreContainer container
 
typedef Selector selector
 

Public Member Functions

 AssociatedVariableCollectionSelector (const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
 
const_iterator begin () const
 
const_iterator end () const
 
void select (const edm::Handle< InputCollection > &c, const edm::Event &evt, const edm::EventSetup &)
 

Private Attributes

RefAdder addRef_
 
selector select_
 
container selected_
 
edm::EDGetTokenT< VarCollection > varToken_
 

Friends

struct reco::modules::AssociatedVariableCollectionSelectorEventSetupInit< AssociatedVariableCollectionSelector >
 

Detailed Description

template<typename InputCollection, typename VarCollection, typename Selector, typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
class AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >

Definition at line 34 of file AssociatedVariableCollectionSelector.h.

Member Typedef Documentation

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
typedef InputCollection AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::collection

Definition at line 36 of file AssociatedVariableCollectionSelector.h.

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
typedef container::const_iterator AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::const_iterator

Definition at line 39 of file AssociatedVariableCollectionSelector.h.

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
typedef StoreContainer AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::container

Definition at line 37 of file AssociatedVariableCollectionSelector.h.

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
typedef Selector AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::selector

Definition at line 38 of file AssociatedVariableCollectionSelector.h.

Constructor & Destructor Documentation

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::AssociatedVariableCollectionSelector ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 40 of file AssociatedVariableCollectionSelector.h.

41  : varToken_(iC.consumes<VarCollection>(cfg.template getParameter<edm::InputTag>("var"))),
42  select_(reco::modules::make<Selector>(cfg, iC)) {}
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)

Member Function Documentation

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
const_iterator AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::begin ( void  ) const
inline
template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
const_iterator AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::end ( void  ) const
inline
template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
void AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::select ( const edm::Handle< InputCollection > &  c,
const edm::Event evt,
const edm::EventSetup  
)
inline

Definition at line 45 of file AssociatedVariableCollectionSelector.h.

References AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::addRef_, edm::Event::getByToken(), edm::getRef(), AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::select_, AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::selected_, ALCARECOEcalPhiSym_cff::var, and AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::varToken_.

45  {
46  selected_.clear();
48  evt.getByToken(varToken_, var);
49  for (size_t idx = 0; idx < c->size(); ++idx) {
50  if (select_((*c)[idx], (*var)[edm::getRef(c, idx)]))
51  addRef_(selected_, c, idx);
52  }
53  }
helper::MatcherGetRef< C >::ref_type getRef(const Handle< C > &c, size_t k)
Definition: getRef.h:28
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539

Friends And Related Function Documentation

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
friend struct reco::modules::AssociatedVariableCollectionSelectorEventSetupInit< AssociatedVariableCollectionSelector >
friend

Definition at line 60 of file AssociatedVariableCollectionSelector.h.

Member Data Documentation

template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
RefAdder AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::addRef_
private
template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
selector AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::select_
private
template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
container AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::selected_
private
template<typename InputCollection , typename VarCollection , typename Selector , typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type, typename StoreContainer = typename ::helper::StoreContainerTrait<OutputCollection>::type, typename RefAdder = typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
edm::EDGetTokenT<VarCollection> AssociatedVariableCollectionSelector< InputCollection, VarCollection, Selector, OutputCollection, StoreContainer, RefAdder >::varToken_
private