Public Member Functions | |
MuonShowerInformationProducer (const edm::ParameterSet &iConfig) | |
virtual | ~MuonShowerInformationProducer () |
Private Member Functions | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
edm::InputTag | inputMuonCollection_ |
edm::InputTag | inputTrackCollection_ |
MuonShowerInformationFiller | showerFiller_ |
Definition at line 19 of file MuonShowerInformationProducer.cc.
MuonShowerInformationProducer::MuonShowerInformationProducer | ( | const edm::ParameterSet & | iConfig | ) | [inline] |
Definition at line 21 of file MuonShowerInformationProducer.cc.
: inputMuonCollection_(iConfig.getParameter<edm::InputTag>("muonCollection")), inputTrackCollection_(iConfig.getParameter<edm::InputTag>("trackCollection")), showerFiller_(iConfig.getParameter<edm::ParameterSet>("ShowerInformationFillerParameters")) { produces<edm::ValueMap<reco::MuonShower> >().setBranchAlias("muonShowerInformation"); }
virtual MuonShowerInformationProducer::~MuonShowerInformationProducer | ( | ) | [inline, virtual] |
Definition at line 28 of file MuonShowerInformationProducer.cc.
{}
void MuonShowerInformationProducer::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDProducer.
Definition at line 38 of file MuonShowerInformationProducer.cc.
References edm::helper::Filler< Map >::fill(), MuonShowerInformationFiller::fillShowerInformation(), edm::Event::getByLabel(), inputMuonCollection_, edm::helper::Filler< Map >::insert(), metsig::muon, patZpeak::muons, edm::Event::put(), and showerFiller_.
{ edm::Handle<reco::MuonCollection> muons; iEvent.getByLabel(inputMuonCollection_, muons); // reserve some space for output std::vector<reco::MuonShower> showerInfoValues; showerInfoValues.reserve(muons->size()); for(reco::MuonCollection::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { // if (!muon->isGlobalMuon() && !muon->isStandAloneMuon()) continue; showerInfoValues.push_back(showerFiller_.fillShowerInformation(*muon,iEvent,iSetup)); } // create and fill value map std::auto_ptr<edm::ValueMap<reco::MuonShower> > outC(new edm::ValueMap<reco::MuonShower>()); edm::ValueMap<reco::MuonShower>::Filler fillerC(*outC); fillerC.insert(muons, showerInfoValues.begin(), showerInfoValues.end()); fillerC.fill(); // put value map into event iEvent.put(outC); }
Definition at line 32 of file MuonShowerInformationProducer.cc.
Referenced by produce().
Definition at line 33 of file MuonShowerInformationProducer.cc.
Definition at line 34 of file MuonShowerInformationProducer.cc.
Referenced by produce().