1 #ifndef IsolationAlgos_IsolationProducer_h
2 #define IsolationAlgos_IsolationProducer_h
22 template<
typename Alg>
27 template<
typename Alg>
33 template <
typename C1,
typename C2,
typename Alg,
35 std::vector<typename Alg::value_type> >,
49 template <
typename C1,
typename C2,
typename Alg,
typename OutputCollection,
typename Setup>
51 srcToken_( consumes<C1>( cfg.
template getParameter<edm::InputTag>(
"src" ) ) ),
52 elementsToken_( consumes<C2>( cfg.
template getParameter<edm::InputTag>(
"elements" ) ) ),
53 alg_(
reco::modules::
make<Alg>( cfg ) ) {
54 produces<OutputCollection>();
57 template <
typename C1,
typename C2,
typename Alg,
typename OutputCollection,
typename Setup>
61 template <
typename C1,
typename C2,
typename Alg,
typename OutputCollection,
typename Setup>
72 typename OutputCollection::refprod_type ref(
src );
76 for(
typename C1::const_iterator lep =
src->begin(); lep !=
src->end(); ++ lep ) {
78 isolations->setValue(
i++, iso );
80 evt.
put( isolations );
std::vector< ProtoJet > OutputCollection
static void init(Alg &, const edm::EventSetup &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
S make(const edm::ParameterSet &cfg)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< C1 > srcToken_
Container::value_type value_type
void produce(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< C2 > elementsToken_
IsolationProducer(const edm::ParameterSet &)
NullIsolationAlgorithmSetup< Alg > type