#include <PhysicsTools/IsolationAlgos/interface/IsolationProducer.h>
Public Member Functions | |
IsolationProducer (const edm::ParameterSet &) | |
~IsolationProducer () | |
Private Member Functions | |
void | produce (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
Alg | alg_ |
edm::InputTag | elements_ |
edm::InputTag | src_ |
Definition at line 37 of file IsolationProducer.h.
IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::IsolationProducer | ( | const edm::ParameterSet & | cfg | ) | [inline] |
Definition at line 49 of file IsolationProducer.h.
00049 : 00050 src_( cfg.template getParameter<edm::InputTag>( "src" ) ), 00051 elements_( cfg.template getParameter<edm::InputTag>( "elements" ) ), 00052 alg_( reco::modules::make<Alg>( cfg ) ) { 00053 produces<OutputCollection>(); 00054 }
IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::~IsolationProducer | ( | ) | [inline] |
void IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::produce | ( | edm::Event & | evt, | |
const edm::EventSetup & | es | |||
) | [inline, private, virtual] |
Implements edm::EDProducer.
Definition at line 61 of file IsolationProducer.h.
References IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::alg_, bookConverter::elements, IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::elements_, edm::Event::getByLabel(), i, init, edm::Event::put(), HLT_VtxMuL3::src, IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::src_, and std.
00061 { 00062 using namespace edm; 00063 using namespace std; 00064 Handle<C1> src; 00065 Handle<C2> elements; 00066 evt.getByLabel( src_, src ); 00067 evt.getByLabel( elements_, elements ); 00068 00069 Setup::init( alg_, es ); 00070 00071 typename OutputCollection::refprod_type ref( src ); 00072 auto_ptr<OutputCollection> isolations( new OutputCollection( ref ) ); 00073 00074 size_t i = 0; 00075 for( typename C1::const_iterator lep = src->begin(); lep != src->end(); ++ lep ) { 00076 typename Alg::value_type iso= alg_(*lep,*elements); 00077 isolations->setValue( i++, iso ); 00078 } 00079 evt.put( isolations ); 00080 }
Alg IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::alg_ [private] |
Definition at line 45 of file IsolationProducer.h.
Referenced by IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::produce().
edm::InputTag IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::elements_ [private] |
Definition at line 44 of file IsolationProducer.h.
Referenced by IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::produce().
edm::InputTag IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::src_ [private] |
Definition at line 44 of file IsolationProducer.h.
Referenced by IsolationProducer< C1, C2, Alg, OutputCollection, Setup >::produce().