Skip to content

Commit

Permalink
Merge pull request #12496 from schoef/CMSSW_7_6_X_devel
Browse files Browse the repository at this point in the history
Consumes migration for PFSimParticleProducer in RecoParticleFlow/PFSimProducer
  • Loading branch information
cmsbuild committed Jan 5, 2016
2 parents 380e363 + 7684cc2 commit 27da171
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 32 deletions.
48 changes: 22 additions & 26 deletions RecoParticleFlow/PFSimProducer/plugins/PFSimParticleProducer.cc
Expand Up @@ -70,25 +70,28 @@ PFSimParticleProducer::PFSimParticleProducer(const edm::ParameterSet& iConfig)
processParticles_ =
iConfig.getUntrackedParameter<bool>("process_Particles",true);


inputTagSim_
= iConfig.getParameter<InputTag>("sim");

inputTagSim_ = iConfig.getParameter<InputTag>("sim");
tokenSim_ = consumes<std::vector<SimTrack> >(inputTagSim_);
tokenSimVertices_ = consumes<std::vector<SimVertex> >(inputTagSim_);

//retrieving collections for MC Truth Matching

//modif-beg
inputTagFamosSimHits_
= iConfig.getUntrackedParameter<InputTag>("famosSimHits");
inputTagFamosSimHits_ = iConfig.getUntrackedParameter<InputTag>("famosSimHits");
tokenFamosSimHits_ = consumes<edm::PCaloHitContainer>(inputTagFamosSimHits_);
mctruthMatchingInfo_ =
iConfig.getUntrackedParameter<bool>("MCTruthMatchingInfo",false);
//modif-end

inputTagRecTracks_
= iConfig.getParameter<InputTag>("RecTracks");
inputTagEcalRecHitsEB_
= iConfig.getParameter<InputTag>("ecalRecHitsEB");
inputTagEcalRecHitsEE_
= iConfig.getParameter<InputTag>("ecalRecHitsEE");
inputTagRecTracks_ = iConfig.getParameter<InputTag>("RecTracks");
tokenRecTracks_ = consumes<reco::PFRecTrackCollection>(inputTagRecTracks_);

inputTagEcalRecHitsEB_ = iConfig.getParameter<InputTag>("ecalRecHitsEB");
tokenEcalRecHitsEB_ = consumes<EcalRecHitCollection>(inputTagEcalRecHitsEB_);
inputTagEcalRecHitsEE_ = iConfig.getParameter<InputTag>("ecalRecHitsEE");
tokenEcalRecHitsEE_
= consumes<EcalRecHitCollection>(inputTagEcalRecHitsEE_);

verbose_ =
iConfig.getUntrackedParameter<bool>("verbose",false);
Expand All @@ -110,22 +113,15 @@ PFSimParticleProducer::~PFSimParticleProducer()
delete mySimEvent;
}


void
PFSimParticleProducer::beginRun(const edm::Run& run,
const edm::EventSetup & es)
void PFSimParticleProducer::produce(Event& iEvent,
const EventSetup& iSetup)
{
// init Particle data table (from Pythia)
edm::ESHandle < HepPDT::ParticleDataTable > pdt;
// edm::ESHandle < DefaultConfig::ParticleDataTable > pdt;
es.getData(pdt);
iSetup.getData(pdt);
mySimEvent->initializePdt(&(*pdt));
}


void PFSimParticleProducer::produce(Event& iEvent,
const EventSetup& iSetup)
{
ParticleTable::Sentry ptable(mySimEvent->theTable());
LogDebug("PFSimParticleProducer")<<"START event: "<<iEvent.id().event()
<<" in run "<<iEvent.id().run()<<endl;
Expand Down Expand Up @@ -154,7 +150,7 @@ void PFSimParticleProducer::produce(Event& iEvent,
// pcalohits);
//modif-beg
bool found_phit
= iEvent.getByLabel(inputTagFamosSimHits_,pcalohits);
= iEvent.getByToken(tokenFamosSimHits_,pcalohits);
//modif-end

if(!found_phit) {
Expand Down Expand Up @@ -204,7 +200,7 @@ void PFSimParticleProducer::produce(Event& iEvent,
Handle< reco::PFRecTrackCollection > recTracks;
try{
LogDebug("PFSimParticleProducer")<<"getting PFRecTracks"<<endl;
iEvent.getByLabel(inputTagRecTracks_, recTracks);
iEvent.getByToken(tokenRecTracks_, recTracks);

} catch (cms::Exception& err) {
LogError("PFSimParticleProducer")<<err
Expand All @@ -227,7 +223,7 @@ void PFSimParticleProducer::produce(Event& iEvent,
pOutputPFSimParticleCollection(new reco::PFSimParticleCollection );

Handle<vector<SimTrack> > simTracks;
bool found = iEvent.getByLabel(inputTagSim_,simTracks);
bool found = iEvent.getByToken(tokenSim_,simTracks);
if(!found) {

ostringstream err;
Expand All @@ -240,7 +236,7 @@ void PFSimParticleProducer::produce(Event& iEvent,


Handle<vector<SimVertex> > simVertices;
found = iEvent.getByLabel(inputTagSim_,simVertices);
found = iEvent.getByToken(tokenSimVertices_,simVertices);
if(!found) {
LogError("PFSimParticleProducer")
<<"cannot find sim vertices: "<<inputTagSim_<<endl;
Expand Down Expand Up @@ -296,7 +292,7 @@ void PFSimParticleProducer::produce(Event& iEvent,

// get the ecalBarrel rechits for MC truth matching tool
edm::Handle<EcalRecHitCollection> rhcHandle;
bool found = iEvent.getByLabel(inputTagEcalRecHitsEB_,
bool found = iEvent.getByToken(tokenEcalRecHitsEB_,
rhcHandle);
if(!found) {
ostringstream err;
Expand Down
22 changes: 16 additions & 6 deletions RecoParticleFlow/PFSimProducer/plugins/PFSimParticleProducer.h
Expand Up @@ -12,12 +12,18 @@

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Utilities/interface/EDGetToken.h"

#include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
#include "TrackingTools/GeomPropagators/interface/Propagator.h"
#include "RecoParticleFlow/PFTracking/interface/PFGeometry.h"

#include "DataFormats/ParticleFlowReco/interface/PFSimParticle.h"
#include "DataFormats/ParticleFlowReco/interface/PFSimParticleFwd.h"
#include "SimDataFormats/Track/interface/SimTrack.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h"
#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
#include "FastSimulation/Event/interface/FSimVertex.h"

#include "RecoParticleFlow/PFProducer/interface/PFBlockAlgo.h"

Expand All @@ -35,7 +41,7 @@ class FSimEvent;



class PFSimParticleProducer : public edm::EDProducer {
class PFSimParticleProducer : public edm::stream::EDProducer<> {
public:

explicit PFSimParticleProducer(const edm::ParameterSet&);
Expand All @@ -44,8 +50,6 @@ class PFSimParticleProducer : public edm::EDProducer {

virtual void produce(edm::Event&, const edm::EventSetup&) override;

virtual void beginRun(const edm::Run& r, const edm::EventSetup & c) override;

typedef edm::Handle<reco::PFRecTrackCollection> TrackHandle;
void getSimIDs( const TrackHandle& trackh,
std::vector<unsigned>& recTrackSimID );
Expand All @@ -54,17 +58,23 @@ class PFSimParticleProducer : public edm::EDProducer {


/// module label for retrieving input simtrack and simvertex
edm::InputTag inputTagSim_;
edm::InputTag inputTagSim_;
edm::EDGetTokenT<std::vector<SimTrack> > tokenSim_;
edm::EDGetTokenT<std::vector<SimVertex> > tokenSimVertices_;

//MC Truth Matching
//modif-beg
bool mctruthMatchingInfo_;
edm::InputTag inputTagFamosSimHits_;
edm::EDGetTokenT<edm::PCaloHitContainer> tokenFamosSimHits_;
//modif-end

edm::InputTag inputTagRecTracks_;
edm::InputTag inputTagRecTracks_;
edm::EDGetTokenT<reco::PFRecTrackCollection> tokenRecTracks_;
edm::InputTag inputTagEcalRecHitsEB_;
edm::EDGetTokenT<EcalRecHitCollection> tokenEcalRecHitsEB_;
edm::InputTag inputTagEcalRecHitsEE_;
edm::EDGetTokenT<EcalRecHitCollection> tokenEcalRecHitsEE_;

// parameters for retrieving true particles information --

Expand Down

0 comments on commit 27da171

Please sign in to comment.