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 */
13  public:
15  void SetSeed();
16  void PFCrystalCoor();
17  void FillClusterShape();
18  void FillClusterWidth();
19  //return functions
20  std::pair<double, double> GetCrysCoor(){
21  std::pair<double, double> crys;
22  if(isEB_){
23  crys.first=CrysEta_;
24  crys.second=CrysPhi_;
25  }
26  else{
27  crys.first=CrysX_;
28  crys.second=CrysY_;
29  }
30  return crys;
31  }
32  std::pair<double, double> GetCrysIndex(){
33  std::pair<int, int> crysI;
34  if(isEB_){
35  crysI.first=CrysIEta_;
36  crysI.second=CrysIPhi_;
37  }
38  else{
39  crysI.first=CrysIX_;
40  crysI.second=CrysIY_;
41  }
42  return crysI;
43  }
44  int EtaCrack(){return CrysIEtaCrack_;}
45  double E5x5Element(int i, int j){
46  //std::cout<<"i, j "<<i<<" , "<<j<<std::endl;
47  double E=0;
48  if(abs(i)>2 ||abs(j)>2)return E;
49  int ind1=i+2;
50  int ind2=j+2;
51  E=e5x5_[ind1][ind2];
52  //std::cout<<"E "<<E<<std::endl;
53  return E;
54  }
55  double PhiWidth(){return sigphiphi_;}
56  double EtaWidth(){return sigetaeta_;}
57  double EtaPhiWidth(){return sigetaphi_;}
58  private:
60  //seed detId, position and axis
63  bool isEB_;
64  //crystal Coordinates and indices:
67  //Cluster Shapes:
68  double e5x5_[5][5];
70  //ClusterWidth
71 };
72 #endif
int i
Definition: DBlmapReader.cc:9
double E5x5Element(int i, int j)
std::pair< double, double > GetCrysCoor()
reco::PFClusterRef PFClusterRef_
math::XYZVector seedAxis_
std::pair< double, double > GetCrysIndex()
edm::Ref< PFClusterCollection > PFClusterRef
persistent reference to PFCluster objects
Definition: PFClusterFwd.h:15
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int j
Definition: DBlmapReader.cc:9
PFPhotonClusters(reco::PFClusterRef PFClusterRef)
Definition: DetId.h:18
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
double e5x5_[5][5]
math::XYZVector seedPosition_