Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_ParticleFlowReco_PFSuperCluster_h
0002 #define DataFormats_ParticleFlowReco_PFSuperCluster_h
0003 
0004 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
0005 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
0006 #include "DataFormats/Common/interface/PtrVector.h"
0007 
0008 #include <iostream>
0009 #include <vector>
0010 
0011 class PFSuperClusterAlgo;
0012 
0013 namespace reco {
0014 
0015   /**\class PFSuperCluster
0016      \brief Particle flow cluster, see clustering algorithm in PFSuperClusterAlgo
0017      
0018      A particle flow supercluster is constructed from clusters.
0019      This calculation is performed in PFSuperClusterAlgo.
0020 
0021      \author Chris Tully
0022      \date   July 2012
0023   */
0024   class PFSuperCluster : public PFCluster {
0025   public:
0026     PFSuperCluster() {}
0027 
0028     /// constructor
0029     PFSuperCluster(const edm::PtrVector<reco::PFCluster>& clusters);
0030 
0031     /// resets clusters parameters
0032     void reset();
0033 
0034     /// vector of clusters
0035     const edm::PtrVector<reco::PFCluster>& clusters() const { return clusters_; }
0036 
0037     PFSuperCluster& operator=(const PFSuperCluster&);
0038 
0039   private:
0040     /// vector of clusters
0041     edm::PtrVector<reco::PFCluster> clusters_;
0042 
0043     friend class ::PFSuperClusterAlgo;
0044   };
0045 
0046   std::ostream& operator<<(std::ostream& out, const PFSuperCluster& cluster);
0047 
0048 }  // namespace reco
0049 
0050 #endif