CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFPhotonClusters.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFClusterTools_PFPhotonClusters_h
2 #define RecoParticleFlow_PFClusterTools_PFPhotonClusters_h
5 //Package: PFClusterTools:
6 //Class: PFPhotonClusters:
7 /*
8 R&D Class to develop ClusterTools for ECal Energy Resolution.
9 So Far Members are used for Regression Based Energy Corrections
10 Developer: Rishi Patel rpatel@cern.ch
11 */
12 using namespace reco;
14  public:
16  void SetSeed();
17  void PFCrystalCoor();
18  void FillClusterShape();
19  void FillClusterWidth();
20  //return functions
21  std::pair<double, double> GetCrysCoor(){
22  std::pair<double, double> crys;
23  if(isEB_){
24  crys.first=CrysEta_;
25  crys.second=CrysPhi_;
26  }
27  else{
28  crys.first=CrysX_;
29  crys.second=CrysY_;
30  }
31  return crys;
32  }
33  std::pair<double, double> GetCrysIndex(){
34  std::pair<int, int> crysI;
35  if(isEB_){
36  crysI.first=CrysIEta_;
37  crysI.second=CrysIPhi_;
38  }
39  else{
40  crysI.first=CrysIX_;
41  crysI.second=CrysIY_;
42  }
43  return crysI;
44  }
45  int EtaCrack(){return CrysIEtaCrack_;}
46  double E5x5Element(int i, int j){
47  //std::cout<<"i, j "<<i<<" , "<<j<<std::endl;
48  double E=0;
49  if(abs(i)>2 ||abs(j)>2)return E;
50  int ind1=i+2;
51  int ind2=j+2;
52  E=e5x5_[ind1][ind2];
53  //std::cout<<"E "<<E<<std::endl;
54  return E;
55  }
56  double PhiWidth(){return sigphiphi_;}
57  double EtaWidth(){return sigetaeta_;}
58  double EtaPhiWidth(){return sigetaphi_;}
59  private:
60  PFClusterRef PFClusterRef_;
61  //seed detId, position and axis
64  bool isEB_;
65  //crystal Coordinates and indices:
66  float CrysX_, CrysY_, CrysEta_, CrysPhi_;
67  int CrysIEta_, CrysIPhi_, CrysIEtaCrack_, CrysIX_, CrysIY_;
68  //Cluster Shapes:
69  double e5x5_[5][5];
70  double sigphiphi_, sigetaeta_, sigetaphi_;
71  //ClusterWidth
72 };
73 #endif
int i
Definition: DBlmapReader.cc:9
#define abs(x)
Definition: mlp_lapack.h:159
double E5x5Element(int i, int j)
std::pair< double, double > GetCrysCoor()
std::pair< double, double > GetCrysIndex()
int j
Definition: DBlmapReader.cc:9
Definition: DetId.h:20
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
PFClusterRef PFClusterRef_
math::XYZVector seedPosition_