Classes | |
struct | ComparePt |
Public Member Functions | |
WMuNuProducer (const edm::ParameterSet &) | |
~WMuNuProducer () | |
Private Member Functions | |
virtual void | beginJob () |
virtual void | endJob () |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
edm::InputTag | metTag_ |
edm::InputTag | muonTag_ |
unsigned int | nall |
ComparePt | ptComparator |
const std::string | WMuNuCollectionTag_ |
Definition at line 31 of file WMuNuProducer.cc.
WMuNuProducer::WMuNuProducer | ( | const edm::ParameterSet & | cfg | ) |
Definition at line 88 of file WMuNuProducer.cc.
: // Input collections muonTag_(cfg.getUntrackedParameter<edm::InputTag> ("MuonTag", edm::InputTag("muons"))), metTag_(cfg.getUntrackedParameter<edm::InputTag> ("METTag", edm::InputTag("met"))) { produces< WMuNuCandidateCollection >(); }
WMuNuProducer::~WMuNuProducer | ( | ) |
Definition at line 104 of file WMuNuProducer.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void WMuNuProducer::beginJob | ( | void | ) | [private, virtual] |
void WMuNuProducer::endJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDProducer.
Definition at line 99 of file WMuNuProducer.cc.
References LogTrace.
{ LogTrace("")<<"WMuNuCandidateCollection Stored in the Event"; }
void WMuNuProducer::produce | ( | edm::Event & | ev, |
const edm::EventSetup & | |||
) | [private, virtual] |
Implements edm::EDProducer.
Definition at line 113 of file WMuNuProducer.cc.
References reco::WMuNuCandidate::acop(), reco::WMuNuCandidate::eT(), edm::Event::getByLabel(), reco::WMuNuCandidate::getMuon(), reco::WMuNuCandidate::getNeutrino(), edm::Ptr< T >::isNull(), LogTrace, reco::WMuNuCandidate::massT(), CaloMET_cfi::met, metTag_, metsig::muon, muonTag_, reco::LeafCandidate::pt(), ptComparator, edm::Event::put(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), and python::multivaluedict::sort().
{ // Muon collection Handle<View<Muon> > muonCollection; if (!ev.getByLabel(muonTag_, muonCollection)) { LogError("") << ">>> Muon collection does not exist !!!"; return; } int muonCollectionSize = muonCollection->size(); // MET Handle<View<MET> > metCollection; if (!ev.getByLabel(metTag_, metCollection)) { LogError("") << ">>> MET collection does not exist !!!"; return; } //const MET& Met = metCollection->at(0); edm::Ptr<reco::MET> met(metCollection,0); if (muonCollectionSize<1) return; auto_ptr< WMuNuCandidateCollection > WMuNuCandidates(new WMuNuCandidateCollection ); // Fill Collection with n muons --> n W Candidates ordered by pt for (int indx=0; indx<muonCollectionSize; indx++){ edm::Ptr<reco::Muon> muon(muonCollection,indx); if (!muon->isGlobalMuon()) continue; if (muon->globalTrack().isNull()) continue; if (muon->innerTrack().isNull()) continue; // Build WMuNuCandidate LogTrace("")<<"Building WMuNu Candidate!"; WMuNuCandidate* WCand = new WMuNuCandidate(muon,met); LogTrace("") << "\t... W mass, W_et: "<<WCand->massT()<<", "<<WCand->eT()<<"[GeV]"; LogTrace("") << "\t... W_px, W_py: "<<WCand->px()<<", "<< WCand->py() <<"[GeV]"; LogTrace("") << "\t... acop: " << WCand->acop(); LogTrace("") << "\t... Muon pt, px, py, pz: "<<WCand->getMuon().pt()<<", "<<WCand->getMuon().px()<<", "<<WCand->getMuon().py()<<", "<< WCand->getMuon().pz()<<" [GeV]"; LogTrace("") << "\t... Met met_et, met_px, met_py : "<<WCand->getNeutrino().pt()<<", "<<WCand->getNeutrino().px()<<", "<<WCand->getNeutrino().py()<<" [GeV]"; WMuNuCandidates->push_back(*WCand); } std::sort(WMuNuCandidates->begin(),WMuNuCandidates->end(),ptComparator); ev.put(WMuNuCandidates); }
edm::InputTag WMuNuProducer::metTag_ [private] |
Definition at line 44 of file WMuNuProducer.cc.
Referenced by produce().
edm::InputTag WMuNuProducer::muonTag_ [private] |
Definition at line 43 of file WMuNuProducer.cc.
Referenced by produce().
unsigned int WMuNuProducer::nall [private] |
Definition at line 56 of file WMuNuProducer.cc.
ComparePt WMuNuProducer::ptComparator [private] |
Definition at line 54 of file WMuNuProducer.cc.
Referenced by produce().
const std::string WMuNuProducer::WMuNuCollectionTag_ [private] |
Definition at line 45 of file WMuNuProducer.cc.