CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LongDeps.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_EgammaTools_LongDeps_h
2 #define RecoEgamma_EgammaTools_LongDeps_h
3 #include <vector>
4 #include <set>
5 
6 /*
7  * Stores information about the HGCal EM MultiCluster computed
8  * using EGammaPCAHelper, including in particular hits restricted to
9  * a cylinder along the shower axis with some given radius
10  */
11 
12 namespace hgcal {
13 
14  class LongDeps {
15  public:
16  LongDeps(float radius,
17  const std::vector<float>& energyPerLayer,
18  float energyEE,
19  float energyFH,
20  float energyBH,
21  const std::set<int>& layers);
22  ~LongDeps() {}
23  // to check the radius used
24  inline float radius() const { return radius_; };
25  inline float energyEE() const { return energyEE_; }
26  inline float energyFH() const { return energyFH_; }
27  inline float energyBH() const { return energyBH_; }
28  inline const std::vector<float>& energyPerLayer() const { return energyPerLayer_; }
29  inline const std::set<int>& layers() const { return layers_; }
30  inline unsigned nLayers() const { return layers_.size(); }
31  inline int firstLayer() const { return (nLayers() > 0 ? *layers_.begin() : -1); }
32  inline int lastLayer() const { return (nLayers() > 0 ? *layers_.rbegin() : -1); }
33  inline int layerEfrac10() const { return lay_Efrac10_; }
34  inline int layerEfrac90() const { return lay_Efrac90_; }
35  inline float e4oEtot() const { return e4oEtot_; }
36 
37  private:
38  std::vector<float> energyPerLayer_;
39  float radius_;
40  float energyEE_;
41  float energyFH_;
42  float energyBH_;
43  std::set<int> layers_;
46  float e4oEtot_;
47  };
48 
49 } // namespace hgcal
50 
51 #endif
int lay_Efrac90_
Definition: LongDeps.h:45
unsigned nLayers() const
Definition: LongDeps.h:30
float energyEE() const
Definition: LongDeps.h:25
float energyEE_
Definition: LongDeps.h:40
int firstLayer() const
Definition: LongDeps.h:31
LongDeps(float radius, const std::vector< float > &energyPerLayer, float energyEE, float energyFH, float energyBH, const std::set< int > &layers)
Definition: LongDeps.cc:5
float energyFH() const
Definition: LongDeps.h:26
float radius() const
Definition: LongDeps.h:24
float energyFH_
Definition: LongDeps.h:41
int lay_Efrac10_
Definition: LongDeps.h:44
int layerEfrac10() const
Definition: LongDeps.h:33
std::set< int > layers_
Definition: LongDeps.h:43
int lastLayer() const
Definition: LongDeps.h:32
float e4oEtot() const
Definition: LongDeps.h:35
std::vector< float > energyPerLayer_
Definition: LongDeps.h:38
float radius_
Definition: LongDeps.h:39
const std::set< int > & layers() const
Definition: LongDeps.h:29
float e4oEtot_
Definition: LongDeps.h:46
float energyBH() const
Definition: LongDeps.h:27
const std::vector< float > & energyPerLayer() const
Definition: LongDeps.h:28
float energyBH_
Definition: LongDeps.h:42
int layerEfrac90() const
Definition: LongDeps.h:34