CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoMET/METAlgorithms/interface/PFSpecificAlgo.h

Go to the documentation of this file.
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