![]() |
![]() |
#include <PFBlockElementSuperClusterProducer.h>
Public Member Functions | |
virtual void | beginRun (edm::Run &run, const edm::EventSetup &c) |
PFBlockElementSuperClusterProducer (const edm::ParameterSet &) | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
~PFBlockElementSuperClusterProducer () | |
Private Attributes | |
std::vector< edm::InputTag > | inputTagSuperClusters_ |
std::string | outputName_ |
Definition at line 11 of file PFBlockElementSuperClusterProducer.h.
PFBlockElementSuperClusterProducer::PFBlockElementSuperClusterProducer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 11 of file PFBlockElementSuperClusterProducer.cc.
References edm::ParameterSet::getParameter(), inputTagSuperClusters_, and outputName_.
{ inputTagSuperClusters_ = iConfig.getParameter<std::vector<edm::InputTag> >("ECALSuperClusters"); outputName_ = iConfig.getParameter<std::string>("PFBESuperClusters"); produces<reco::PFBlockElementSuperClusterCollection>(outputName_); }
PFBlockElementSuperClusterProducer::~PFBlockElementSuperClusterProducer | ( | ) |
Definition at line 21 of file PFBlockElementSuperClusterProducer.cc.
{}
void PFBlockElementSuperClusterProducer::beginRun | ( | edm::Run & | run, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from edm::EDProducer.
Definition at line 23 of file PFBlockElementSuperClusterProducer.cc.
{}
void PFBlockElementSuperClusterProducer::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 25 of file PFBlockElementSuperClusterProducer.cc.
References gather_cfg::cout, Exception, newFWLiteAna::found, edm::Event::getByLabel(), inputTagSuperClusters_, outputName_, edm::Event::put(), reco::PFBlockElementSuperCluster::setEcalIso(), reco::PFBlockElementSuperCluster::setHcalIso(), reco::PFBlockElementSuperCluster::setHoE(), and reco::PFBlockElementSuperCluster::setTrackIso().
{ std::auto_ptr<reco::PFBlockElementSuperClusterCollection> pfbeSuperClusters_p(new reco::PFBlockElementSuperClusterCollection); for(unsigned icol=0; icol<inputTagSuperClusters_.size() ; ++icol) { edm::Handle<reco::SuperClusterCollection> scH; bool found=iEvent.getByLabel(inputTagSuperClusters_[icol],scH); if(!found) { std::ostringstream err; err<<" cannot get SuperClusters: " <<inputTagSuperClusters_[icol]<<std::endl; edm::LogError("PFBlockElementSuperClusterProducer")<<err.str(); throw cms::Exception( "MissingProduct", err.str()); } unsigned nsc=scH->size();; for(unsigned isc=0;isc<nsc;++isc) { reco::SuperClusterRef theRef(scH,isc); reco::PFBlockElementSuperCluster myPFBE(theRef); myPFBE.setTrackIso(0.); myPFBE.setEcalIso(0.); myPFBE.setHcalIso(0.); myPFBE.setHoE(0.); pfbeSuperClusters_p->push_back(myPFBE); } } std::cout << "Size " << pfbeSuperClusters_p->size() << std::endl; iEvent.put(pfbeSuperClusters_p,outputName_); }
std::vector<edm::InputTag> PFBlockElementSuperClusterProducer::inputTagSuperClusters_ [private] |
Definition at line 21 of file PFBlockElementSuperClusterProducer.h.
Referenced by PFBlockElementSuperClusterProducer(), and produce().
std::string PFBlockElementSuperClusterProducer::outputName_ [private] |
Definition at line 22 of file PFBlockElementSuperClusterProducer.h.
Referenced by PFBlockElementSuperClusterProducer(), and produce().