File indexing completed on 2024-04-06 12:26:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef METAlgorithms_SignPFSpecificAlgo_h
0018 #define METAlgorithms_SignPFSpecificAlgo_h
0019
0020
0021 #include "RecoMET/METAlgorithms/interface/significanceAlgo.h"
0022 #include "RecoMET/METAlgorithms/interface/SignAlgoResolutions.h"
0023 #include "DataFormats/JetReco/interface/PFJet.h"
0024 #include "DataFormats/METReco/interface/MET.h"
0025 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
0026
0027
0028 namespace metsig {
0029
0030 class SignPFSpecificAlgo {
0031 public:
0032 SignPFSpecificAlgo();
0033 ~SignPFSpecificAlgo() {}
0034
0035 void setResolutions(metsig::SignAlgoResolutions *resolutions);
0036 void addPFJets(const edm::View<reco::PFJet> *PFJets);
0037 void addPFCandidate(reco::PFCandidatePtr pf);
0038 void useOriginalPtrs(const edm::ProductID &productID);
0039 reco::METCovMatrix getSignifMatrix() const { return algo_.getSignifMatrix(); }
0040 reco::METCovMatrix mkSignifMatrix(edm::Handle<edm::View<reco::Candidate> > &PFCandidates);
0041
0042 private:
0043 metsig::SignAlgoResolutions *resolutions_;
0044 std::set<reco::CandidatePtr> clusteredParticlePtrs_;
0045 metsig::significanceAlgo algo_;
0046 };
0047
0048 }
0049
0050
0051 #endif