Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:24

0001 #ifndef DataFormats_JetReco_PFClusterJet_h
0002 #define DataFormats_JetReco_PFClusterJet_h
0003 
0004 /** \class reco::PFClusterJet
0005  *
0006  * \short Jets made out of PFClusters
0007  *
0008  * PFClusterJet represents Jets with PFClusters as constituents.
0009  * The consitutents are in this case RecoPFClusterRefCandidates, that
0010  * preserve the Refs to the original PFClusters. Those Refs are used to
0011  * provide transparent access to the PFClusters.
0012  *
0013  * \author Salvatore Rappoccio
0014  *
0015  *
0016  ************************************************************/
0017 
0018 #include "DataFormats/JetReco/interface/Jet.h"
0019 #include "DataFormats/ParticleFlowReco/interface/RecoPFClusterRefCandidate.h"
0020 
0021 namespace reco {
0022 
0023   class PFClusterJet : public Jet {
0024   public:
0025     /// Default constructor
0026     PFClusterJet();
0027     /// Constructor without constituents
0028     PFClusterJet(const LorentzVector& fP4, const Point& fVertex);
0029     /// Constructor from RecoChargedRefCandidate constituents
0030     PFClusterJet(const LorentzVector& fP4, const Point& fVertex, const Jet::Constituents& fConstituents);
0031     /// Destructor
0032     ~PFClusterJet() override {}
0033     /// Polymorphic clone
0034     PFClusterJet* clone() const override;
0035 
0036     /// Print object
0037     std::string print() const override;
0038 
0039     /// Easy Constituent access
0040     reco::PFClusterRef pfCluster(size_t i) const;
0041 
0042   private:
0043     /// Polymorphic overlap
0044     bool overlap(const Candidate& dummy) const override;
0045 
0046   private:
0047   };
0048 
0049 }  // namespace reco
0050 
0051 #endif