Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:46:21

0001 #ifndef AnalysisDataFormat_EWK_WMuNuCandidatePtr_h
0002 #define AnalysisDataFormat_EWK_WMuNuCandidatePtr_h
0003 
0004 #include <map>
0005 #include <memory>
0006 
0007 #include "DataFormats/MuonReco/interface/Muon.h"
0008 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0009 #include "DataFormats/METReco/interface/MET.h"
0010 #include "DataFormats/METReco/interface/METFwd.h"
0011 #include "DataFormats/Candidate/interface/CompositePtrCandidate.h"
0012 #include "DataFormats/Candidate/interface/Candidate.h"
0013 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
0014 #include "DataFormats/Candidate/interface/ShallowClonePtrCandidate.h"
0015 namespace reco {
0016 
0017   class WMuNuCandidatePtr : public reco::CompositePtrCandidate {
0018   public:
0019     WMuNuCandidatePtr();
0020     WMuNuCandidatePtr(const reco::CandidatePtr, const reco::CandidatePtr);
0021     ~WMuNuCandidatePtr() override;
0022 
0023     //WARNING: W Candidates combine the information from a Muon with the (px,py) information of the MET as the Neutrino

0024     // --> There is no Pz information!!!!

0025     // Be very careful when using the default Candidate functions (.mass, .mt, .et, etc). They may not be what you are looking for :-).

0026 
0027     // Example: Candidates have a mt() function which computes the tranverse mass from E & pz.

0028     // As MET does not have pz information... WMuNuCandidatePtrs have an alternative function used in the WMuNu Inclusive Analysis

0029     // to compute mt just from px, py:

0030     // Transverse Mass from px, py:

0031     double massT() const;
0032     // Transverse Energy from px, py:

0033     double eT() const;
0034 
0035     // Acoplanarity between the muon and the MET

0036     double acop() const;
0037 
0038     const reco::Muon& getMuon() const { return *muon_; };
0039     const reco::MET& getNeutrino() const { return *neutrino_; };
0040 
0041   private:
0042     edm::Ptr<Muon> muon_;
0043     edm::Ptr<MET> neutrino_;
0044   };
0045 
0046   typedef std::vector<reco::WMuNuCandidatePtr> WMuNuCandidatePtrCollection;
0047 }  // namespace reco

0048 
0049 #endif