CMS 3D CMS Logo

CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init > Class Template Reference

Framework module that produces a collection of candidates from generic compoment. More...

#include <PhysicsTools/RecoAlgos/src/CandidateProducer.h>

Inheritance diagram for CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 CandidateProducer (const edm::ParameterSet &cfg)
 constructor from parameter set
 ~CandidateProducer ()
 destructor

Private Member Functions

void beginJob (const edm::EventSetup &es)
 begin job
void produce (edm::Event &evt, const edm::EventSetup &es)
 process one event

Private Attributes

Conv converter_
 converter helper
Selector selector_
 selector
edm::InputTag src_
 label of source collection and tag


Detailed Description

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
class CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >

Framework module that produces a collection of candidates from generic compoment.

Author:
Luca Lista, INFN
Version:
Revision
1.4

Id
CandidateProducer.h,v 1.4 2008/01/17 13:29:37 llista Exp

Definition at line 68 of file CandidateProducer.h.


Constructor & Destructor Documentation

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::CandidateProducer ( const edm::ParameterSet cfg  )  [inline]

constructor from parameter set

Definition at line 71 of file CandidateProducer.h.

00071                                                  :
00072     src_(cfg.template getParameter<edm::InputTag>("src")), 
00073     converter_(cfg),
00074     selector_(reco::modules::make<Selector>(cfg)){
00075     produces<CColl>();
00076   }

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::~CandidateProducer (  )  [inline]

destructor

Definition at line 78 of file CandidateProducer.h.

00078 { }


Member Function Documentation

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
void CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::beginJob ( const edm::EventSetup es  )  [inline, private, virtual]

begin job

Reimplemented from edm::EDProducer.

Definition at line 82 of file CandidateProducer.h.

References CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::converter_.

00082 { converter_.beginJob(es); }

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
void CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::produce ( edm::Event evt,
const edm::EventSetup es 
) [inline, private, virtual]

process one event

Implements edm::EDProducer.

Definition at line 84 of file CandidateProducer.h.

References CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::converter_, edm::Event::getByLabel(), init, funct::master(), edm::Event::put(), CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::selector_, size, HLT_VtxMuL3::src, and CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::src_.

00084                                                        {
00085     edm::Handle<TColl> src;
00086     evt.getByLabel(src_, src);
00087     Init::init(selector_, evt, es);
00088     ::helper::MasterCollection<TColl> master(src);
00089     std::auto_ptr<CColl> cands(new CColl);
00090     if(src->size()!= 0) {
00091       size_t size = src->size();
00092       cands->reserve(size);
00093       for(size_t idx = 0; idx != size; ++ idx) {
00094         if(selector_((*src)[idx]))
00095           Creator::create(master.index(idx), *cands, master, converter_);
00096       }
00097     }
00098     evt.put(cands);
00099   }


Member Data Documentation

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
Conv CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::converter_ [private]

converter helper

Definition at line 103 of file CandidateProducer.h.

Referenced by CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::beginJob(), and CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::produce().

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
Selector CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::selector_ [private]

selector

Definition at line 105 of file CandidateProducer.h.

Referenced by CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::produce().

template<typename TColl, typename CColl, typename Selector = AnySelector, typename Conv = typename converter::helper::CandConverter<typename TColl::value_type>::type, typename Creator = typename converter::helper::CandCreator<CColl>::type, typename Init = typename ::reco::modules::EventSetupInit<Selector>::type>
edm::InputTag CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::src_ [private]

label of source collection and tag

Definition at line 101 of file CandidateProducer.h.

Referenced by CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >::produce().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:16:04 2009 for CMSSW by  doxygen 1.5.4