Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef EgammaReco_ClusterShape_h
0002 #define EgammaReco_ClusterShape_h
0003 
0004 /** \class reco::ClusterShape
0005  *  
0006  * shape vars dataholder for an Ecal cluster
0007  *
0008  * \author Michael A. Balazs, UVa
0009  * \author Luca Lista, INFN
0010  *
0011  *
0012  */
0013 
0014 #include <Rtypes.h>
0015 
0016 #include "DataFormats/EgammaReco/interface/ClusterShapeFwd.h"
0017 #include "DataFormats/DetId/interface/DetId.h"
0018 
0019 namespace reco {
0020 
0021   class ClusterShape {
0022   public:
0023     ClusterShape() {}
0024     ClusterShape(double cEE,
0025                  double cEP,
0026                  double cPP,
0027                  double eMax,
0028                  DetId eMaxId,
0029                  double e2nd,
0030                  DetId e2ndId,
0031                  double e2x2,
0032                  double e3x2,
0033                  double e3x3,
0034                  double e4x4,
0035                  double e5x5,
0036                  double E10_Right_,
0037                  double E10_Left_,
0038                  double E10_Top_,
0039                  double E10_Bottom_,
0040                  double e3x2Ratio,
0041                  double LAT,
0042                  double etaLAT,
0043                  double phiLAT,
0044                  double A20,
0045                  double A42,
0046                  const std::vector<double>& energyBasketFractionEta_,
0047                  const std::vector<double>& energyBasketFractionPhi_);
0048     double eMax() const { return eMax_; }
0049     double e2nd() const { return e2nd_; }
0050     double e2x2() const { return e2x2_; }
0051     double e3x2() const { return e3x2_; }
0052     double e3x3() const { return e3x3_; }
0053     double e4x4() const { return e4x4_; }
0054     double e5x5() const { return e5x5_; }
0055     double e2x5Right() const { return e2x5Right_; }
0056     double e2x5Left() const { return e2x5Left_; }
0057     double e2x5Top() const { return e2x5Top_; }
0058     double e2x5Bottom() const { return e2x5Bottom_; }
0059     double e3x2Ratio() const { return e3x2Ratio_; }
0060     double covEtaEta() const { return covEtaEta_; }
0061     double covEtaPhi() const { return covEtaPhi_; }
0062     double covPhiPhi() const { return covPhiPhi_; }
0063     double lat() const { return LAT_; }
0064     double etaLat() const { return etaLAT_; }
0065     double phiLat() const { return phiLAT_; }
0066     double zernike20() const { return A20_; }
0067     double zernike42() const { return A42_; }
0068 
0069     std::vector<double> energyBasketFractionEta() const { return energyBasketFractionEta_; }
0070     std::vector<double> energyBasketFractionPhi() const { return energyBasketFractionPhi_; }
0071     DetId eMaxId() const { return eMaxId_; }
0072     DetId e2ndId() const { return e2ndId_; }
0073 
0074   private:
0075     Double32_t covEtaEta_, covEtaPhi_, covPhiPhi_;
0076     Double32_t eMax_, e2nd_, e2x2_, e3x2_, e3x3_, e4x4_, e5x5_;
0077     Double32_t e2x5Right_, e2x5Left_, e2x5Top_, e2x5Bottom_;
0078     Double32_t e3x2Ratio_;
0079     Double32_t LAT_;
0080     Double32_t etaLAT_;
0081     Double32_t phiLAT_;
0082     Double32_t A20_, A42_;
0083     std::vector<double> energyBasketFractionEta_;
0084     std::vector<double> energyBasketFractionPhi_;
0085     DetId eMaxId_, e2ndId_;
0086   };
0087 
0088 }  // namespace reco
0089 
0090 #endif