CMS 3D CMS Logo

Public Member Functions | Private Attributes

JetTracksAssociatorExplicit Class Reference

#include <JetTracksAssociatorExplicit.h>

Inheritance diagram for JetTracksAssociatorExplicit:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 JetTracksAssociatorExplicit (const edm::ParameterSet &)
virtual void produce (edm::Event &, const edm::EventSetup &)
virtual ~JetTracksAssociatorExplicit ()

Private Attributes

JetTracksAssociationExplicit mAssociatorExplicit
edm::InputTag mJets
edm::InputTag mTracks

Detailed Description

Definition at line 20 of file JetTracksAssociatorExplicit.h.


Constructor & Destructor Documentation

JetTracksAssociatorExplicit::JetTracksAssociatorExplicit ( const edm::ParameterSet fConfig)

Definition at line 19 of file JetTracksAssociatorExplicit.cc.

  : mJets (fConfig.getParameter<edm::InputTag> ("jets")),
    mTracks (fConfig.getParameter<edm::InputTag> ("tracks")),
    mAssociatorExplicit ()
{

  produces<reco::JetTracksAssociation::Container> ();
}
JetTracksAssociatorExplicit::~JetTracksAssociatorExplicit ( ) [virtual]

Definition at line 28 of file JetTracksAssociatorExplicit.cc.

{}

Member Function Documentation

void JetTracksAssociatorExplicit::produce ( edm::Event fEvent,
const edm::EventSetup fSetup 
) [virtual]

Implements edm::EDProducer.

Definition at line 30 of file JetTracksAssociatorExplicit.cc.

References reco::JetExtendedAssociation::allJets(), muonTagProbeFilters_cff::allTracks, edm::Event::getByLabel(), i, mAssociatorExplicit, mJets, mTracks, JetTracksAssociationExplicit::produce(), and edm::Event::put().

                                                                                       {
  edm::Handle <edm::View <reco::Jet> > jets_h;
  fEvent.getByLabel (mJets, jets_h);
  edm::Handle <reco::TrackCollection> tracks_h;
  fEvent.getByLabel (mTracks, tracks_h);
  
  std::auto_ptr<reco::JetTracksAssociation::Container> jetTracks (new reco::JetTracksAssociation::Container (reco::JetRefBaseProd(jets_h)));

  // format inputs
  std::vector <edm::RefToBase<reco::Jet> > allJets;
  allJets.reserve (jets_h->size());
  for (unsigned i = 0; i < jets_h->size(); ++i) allJets.push_back (jets_h->refAt(i));
  std::vector <reco::TrackRef> allTracks;
  allTracks.reserve (tracks_h->size());
  // run algo
  for (unsigned i = 0; i < tracks_h->size(); ++i) {
    allTracks.push_back (reco::TrackRef (tracks_h, i));
  }


  mAssociatorExplicit.produce (&*jetTracks, allJets, allTracks);


  // store output
  fEvent.put (jetTracks);
}

Member Data Documentation

Definition at line 30 of file JetTracksAssociatorExplicit.h.

Referenced by produce().

Definition at line 28 of file JetTracksAssociatorExplicit.h.

Referenced by produce().

Definition at line 29 of file JetTracksAssociatorExplicit.h.

Referenced by produce().