Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:25:26

0001 // -*- C++ -*-
0002 //
0003 // Package:    METAlgorithms
0004 // Class:      SignCaloSpecificAlgo
0005 //
0006 /**\class SignCaloSpecificAlgo SignCaloSpecificAlgo.h RecoMET/METAlgorithms/interface/SignCaloSpecificAlgo.h
0007 
0008  Description: <one line class summary>
0009 
0010  Implementation:
0011      <Notes on implementation>
0012 */
0013 //
0014 // Original Authors:  Kyle Story, Freya Blekman (Cornell University)
0015 //          Created:  Fri Apr 18 11:58:33 CEST 2008
0016 //
0017 //
0018 #ifndef METProducers_SignCaloMETAlgo_h
0019 #define METProducers_SignCaloMETAlgo_h
0020 
0021 //____________________________________________________________________________||
0022 #include "DataFormats/METReco/interface/MET.h"
0023 #include "DataFormats/METReco/interface/CommonMETData.h"
0024 #include "DataFormats/Common/interface/Handle.h"
0025 #include "DataFormats/Common/interface/View.h"
0026 #include "DataFormats/Candidate/interface/Candidate.h"
0027 #include "DataFormats/METReco/interface/SigInputObj.h"
0028 
0029 namespace metsig {
0030   class SignAlgoResolutions;
0031 }
0032 
0033 //____________________________________________________________________________||
0034 class SignCaloSpecificAlgo {
0035 public:
0036   SignCaloSpecificAlgo();
0037   ~SignCaloSpecificAlgo();
0038 
0039   void usePreviousSignif(const std::vector<double>& values);
0040   void usePreviousSignif(const reco::METCovMatrix& matrix) { matrix_ = matrix; }
0041   double getSignificance() { return significance_; }
0042   reco::METCovMatrix getSignificanceMatrix() const { return matrix_; }
0043 
0044   void calculateBaseCaloMET(edm::Handle<edm::View<reco::Candidate> > towers,
0045                             const CommonMETData& met,
0046                             const metsig::SignAlgoResolutions& resolutions,
0047                             bool noHF,
0048                             double globalthreshold);
0049 
0050 private:
0051   std::vector<metsig::SigInputObj> makeVectorOutOfCaloTowers(edm::Handle<edm::View<reco::Candidate> > towers,
0052                                                              const metsig::SignAlgoResolutions& resolutions,
0053                                                              bool noHF,
0054                                                              double globalthreshold);
0055 
0056   double significance_;
0057   reco::METCovMatrix matrix_;
0058 };
0059 
0060 //____________________________________________________________________________||
0061 #endif  // METProducers_SignCaloMETAlgo_h