CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SuperCluster.h
Go to the documentation of this file.
1 #ifndef EgammaReco_SuperCluster_h
2 #define EgammaReco_SuperCluster_h
3 
17 #include <Rtypes.h>
18 
19 namespace reco {
20  class SuperCluster : public CaloCluster {
21  public:
22 
24 
27 
29  SuperCluster( double energy, const Point& position );
30 
31  SuperCluster( double energy, const Point& position,
32  const CaloClusterPtr & seed,
33  const CaloClusterPtrVector& clusters,
34  double Epreshower=0.,
35  double phiWidth=0., double etaWidth=0. );
36 
37  // to be merged in the previous one? -- FIXME
38  SuperCluster( double energy, const Point& position,
39  const CaloClusterPtr & seed,
40  const CaloClusterPtrVector& clusters,
41  const CaloClusterPtrVector& preshowerClusters,
42  double Epreshower=0.,
43  double phiWidth=0., double etaWidth=0. );
44 
46  double rawEnergy() const;
47 
49  double preshowerEnergy() const { return preshowerEnergy_; }
50 
52  double phiWidth() const { return phiWidth_; }
53  double etaWidth() const { return etaWidth_; }
54 
55  //Assign new variables to supercluster
57  void setPhiWidth( double pw ) { phiWidth_ = pw; }
58  void setEtaWidth( double ew ) { etaWidth_ = ew; }
59 
61  const CaloClusterPtr & seed() const { return seed_; }
62 
65 
68 
71 
74 
76  size_t clustersSize() const { return clusters_.size(); }
77 
79  //std::vector<DetId> getHitsByDetId() const { return usedHits_; }
80 
82  void setSeed( const CaloClusterPtr & r ) { seed_ = r; }
83 
85  void addCluster( const CaloClusterPtr & r ) { clusters_.push_back( r ); }
86 
89 
96  void setPreshowerPlanesStatus(const uint32_t& status){
97  uint32_t flags = flags_ & flagsMask_;
98  flags_= flags | (status << flagsOffset_);
99  }
100 
106  const int getPreshowerPlanesStatus() const {
107  return (flags_>>flagsOffset_);
108  }
109 
110  private:
111 
114 
117 
120 
122  //std::vector<DetId> usedHits_;
123 
125 
126  mutable Double32_t rawEnergy_;
127 
128  Double32_t phiWidth_;
129  Double32_t etaWidth_;
130 
131  };
132 
133 }
134 #endif
const math::XYZPoint & position() const
cluster centroid position
Definition: CaloCluster.h:112
CaloCluster_iterator preshowerClustersBegin() const
fist iterator over PreshowerCluster constituents
Definition: SuperCluster.h:70
CaloClusterPtrVector clusters_
references to BasicCluster constitunets
Definition: SuperCluster.h:116
static const uint32_t flagsOffset_
Definition: CaloCluster.h:216
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:72
double phiWidth() const
obtain phi and eta width of the Super Cluster
Definition: SuperCluster.h:52
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:135
CaloClusterPtrVector preshowerClusters_
references to BasicCluster constitunets
Definition: SuperCluster.h:119
void setSeed(const CaloClusterPtr &r)
list of used xtals by DetId // now inherited by CaloCluster
Definition: SuperCluster.h:82
void setPhiWidth(double pw)
Definition: SuperCluster.h:57
const_iterator begin() const
Definition: PtrVector.h:124
double preshowerEnergy_
used hits by detId - retrieved from BC constituents – now inherited from CaloCluster ...
Definition: SuperCluster.h:124
CaloClusterPtr seed_
reference to BasicCluster seed
Definition: SuperCluster.h:113
void setEtaWidth(double ew)
Definition: SuperCluster.h:58
double etaWidth() const
Definition: SuperCluster.h:53
double rawEnergy() const
raw uncorrected energy (sum of energies of component BasicClusters)
Definition: SuperCluster.cc:79
math::XYZPoint Point
uint32_t flags() const
Definition: CaloCluster.h:161
const_iterator end() const
Definition: PtrVector.h:129
double energy() const
cluster energy
Definition: CaloCluster.h:109
void setPreshowerPlanesStatus(const uint32_t &status)
Definition: SuperCluster.h:96
Double32_t rawEnergy_
Definition: SuperCluster.h:126
SuperCluster()
default constructor
Definition: SuperCluster.h:26
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
size_t clustersSize() const
number of BasicCluster constituents
Definition: SuperCluster.h:76
void addPreshowerCluster(const CaloClusterPtr &r)
add reference to constituent BasicCluster
Definition: SuperCluster.h:88
Double32_t phiWidth_
Definition: SuperCluster.h:128
Double32_t etaWidth_
Definition: SuperCluster.h:129
void addCluster(const CaloClusterPtr &r)
add reference to constituent BasicCluster
Definition: SuperCluster.h:85
math::XYZPoint Point
Definition: SuperCluster.h:23
static const uint32_t flagsMask_
Definition: CaloCluster.h:215
CaloCluster_iterator clustersBegin() const
fist iterator over BasicCluster constituents
Definition: SuperCluster.h:64
const CaloClusterPtr & seed() const
seed BasicCluster
Definition: SuperCluster.h:61
double preshowerEnergy() const
energy deposited in preshower
Definition: SuperCluster.h:49
tuple status
Definition: ntuplemaker.py:245
const int getPreshowerPlanesStatus() const
Definition: SuperCluster.h:106
CaloCluster_iterator preshowerClustersEnd() const
last iterator over PreshowerCluster constituents
Definition: SuperCluster.h:73
void setPreshowerEnergy(double preshowerEnergy)
Definition: SuperCluster.h:56
CaloCluster_iterator clustersEnd() const
last iterator over BasicCluster constituents
Definition: SuperCluster.h:67