00001 // -*- C++ -*- 00002 // 00003 // Package: METAlgorithms 00004 // Class: PFSpecificAlgo 00005 // 00013 // 00014 // Original Authors: R. Remington (UF), R. Cavanaugh (UIC/Fermilab) 00015 // Created: October 27, 2008 00016 // $Id: PFSpecificAlgo.h,v 1.6 2012/06/10 16:37:16 sakuma Exp $ 00017 // 00018 // 00019 #ifndef METAlgorithms_PFMETInfo_h 00020 #define METAlgorithms_PFMETInfo_h 00021 00022 //____________________________________________________________________________|| 00023 #include "DataFormats/Common/interface/Handle.h" 00024 #include "DataFormats/Common/interface/View.h" 00025 #include "DataFormats/JetReco/interface/PFJet.h" 00026 #include "DataFormats/METReco/interface/PFMET.h" 00027 #include "DataFormats/METReco/interface/SpecificPFMETData.h" 00028 #include "DataFormats/METReco/interface/CommonMETData.h" 00029 #include "DataFormats/Candidate/interface/Candidate.h" 00030 #include "DataFormats/Math/interface/LorentzVector.h" 00031 #include "DataFormats/Math/interface/Point3D.h" 00032 #include "RecoMET/METAlgorithms/interface/SignPFSpecificAlgo.h" 00033 #include "TMatrixD.h" 00034 00035 namespace metsig { 00036 class SignAlgoResolutions; 00037 } 00038 00039 //____________________________________________________________________________|| 00040 class PFSpecificAlgo 00041 { 00042 public: 00043 PFSpecificAlgo() : doSignificance(false) { } 00044 00045 void runSignificance(metsig::SignAlgoResolutions & resolutions, edm::Handle<edm::View<reco::PFJet> > jets); 00046 reco::PFMET addInfo(edm::Handle<edm::View<reco::Candidate> > PFCandidates, CommonMETData met); 00047 00048 private: 00049 typedef math::XYZTLorentzVector LorentzVector; 00050 typedef math::XYZPoint Point; 00051 void initializeSpecificPFMETData(SpecificPFMETData &specific); 00052 SpecificPFMETData mkSpecificPFMETData(edm::Handle<edm::View<reco::Candidate> > &PFCandidates); 00053 TMatrixD mkSignifMatrix(edm::Handle<edm::View<reco::Candidate> > &PFCandidates); 00054 00055 bool doSignificance; 00056 metsig::SignPFSpecificAlgo pfsignalgo_; 00057 }; 00058 00059 //____________________________________________________________________________|| 00060 #endif // METAlgorithms_PFMETInfo_h 00061