00001 // -*- C++ -*- 00002 // 00003 // Package: METAlgorithms 00004 // Class: SignCaloSpecificAlgo 00005 // 00013 // 00014 // Original Authors: Kyle Story, Freya Blekman (Cornell University) 00015 // Created: Fri Apr 18 11:58:33 CEST 2008 00016 // $Id: SignCaloSpecificAlgo.h,v 1.7 2012/09/17 17:54:30 veelken Exp $ 00017 // 00018 // 00019 #ifndef METProducers_SignCaloMETAlgo_h 00020 #define METProducers_SignCaloMETAlgo_h 00021 00022 //____________________________________________________________________________|| 00023 #include "DataFormats/METReco/interface/CommonMETData.h" 00024 #include "DataFormats/Common/interface/Handle.h" 00025 #include "DataFormats/Common/interface/View.h" 00026 #include "DataFormats/Candidate/interface/Candidate.h" 00027 #include "DataFormats/METReco/interface/SigInputObj.h" 00028 #include "TMatrixD.h" 00029 00030 namespace metsig { 00031 class SignAlgoResolutions; 00032 } 00033 00034 //____________________________________________________________________________|| 00035 class SignCaloSpecificAlgo { 00036 00037 public: 00038 00039 SignCaloSpecificAlgo(); 00040 ~SignCaloSpecificAlgo(); 00041 00042 void usePreviousSignif(const std::vector<double> &values); 00043 void usePreviousSignif(const TMatrixD &matrix) { matrix_ = matrix; } 00044 double getSignificance(){return significance_;} 00045 TMatrixD getSignificanceMatrix()const {return matrix_;} 00046 00047 void calculateBaseCaloMET(edm::Handle<edm::View<reco::Candidate> > towers, CommonMETData met, const metsig::SignAlgoResolutions & resolutions, bool noHF, double globalthreshold); 00048 00049 private: 00050 00051 std::vector<metsig::SigInputObj> makeVectorOutOfCaloTowers(edm::Handle<edm::View<reco::Candidate> > towers, const metsig::SignAlgoResolutions& resolutions, bool noHF, double globalthreshold); 00052 00053 double significance_; 00054 TMatrixD matrix_; 00055 }; 00056 00057 00058 //____________________________________________________________________________|| 00059 #endif // METProducers_SignCaloMETAlgo_h