Go to the documentation of this file.00001 #ifndef AnalysisDataFormat_EWK_WMuNuCandidatePtr_h
00002 #define AnalysisDataFormat_EWK_WMuNuCandidatePtr_h
00003
00004 #include <map>
00005 #include <memory>
00006
00007 #include "DataFormats/MuonReco/interface/Muon.h"
00008 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00009 #include "DataFormats/METReco/interface/MET.h"
00010 #include "DataFormats/METReco/interface/METFwd.h"
00011 #include "DataFormats/Candidate/interface/CompositePtrCandidate.h"
00012 #include "DataFormats/Candidate/interface/Candidate.h"
00013 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00014 #include "CommonTools/CandUtils/interface/CandCombiner.h"
00015 #include "CommonTools/CandUtils/interface/AddFourMomenta.h"
00016 #include "DataFormats/Candidate/interface/ShallowClonePtrCandidate.h"
00017 namespace reco{
00018
00019 class WMuNuCandidatePtr : public reco::CompositePtrCandidate {
00020 public:
00021 WMuNuCandidatePtr();
00022 WMuNuCandidatePtr(const reco::CandidatePtr,const reco::CandidatePtr);
00023 ~WMuNuCandidatePtr();
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 double massT() const;
00034
00035 double eT() const;
00036
00037
00038 double acop() const;
00039
00040 const reco::Muon & getMuon() const {return *muon_;};
00041 const reco::MET & getNeutrino() const {return *neutrino_;};
00042
00043
00044 private:
00045
00046
00047 edm::Ptr<Muon> muon_;
00048 edm::Ptr<MET> neutrino_;
00049 };
00050
00051
00052 typedef std::vector<reco::WMuNuCandidatePtr> WMuNuCandidatePtrCollection;
00053 }
00054
00055
00056 #endif