00001 #ifndef _Calibration_EcalCalibAlgos_EcalGeomPhiSymHelper_h_ 00002 #define _Calibration_EcalCalibAlgos_EcalGeomPhiSymHelper_h_ 00003 00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00005 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h" 00006 00007 static const int kBarlRings = 85; 00008 static const int kBarlWedges = 360; 00009 static const int kSides = 2; 00010 00011 static const int kEndcWedgesX = 100; 00012 static const int kEndcWedgesY = 100; 00013 00014 static const int kEndcEtaRings = 39; 00015 static const int kMaxEndciPhi = 360; 00016 00017 00018 class CaloGeometry; 00019 00020 class EcalGeomPhiSymHelper { 00021 00022 public: 00023 00024 00025 void setup(const CaloGeometry* geometry, 00026 const EcalChannelStatus* chstatus, 00027 int statusThreshold); 00028 00029 GlobalPoint cellPos_[kEndcWedgesX][kEndcWedgesY]; 00030 double cellPhi_ [kEndcWedgesX][kEndcWedgesY]; 00031 double cellArea_ [kEndcWedgesX][kEndcWedgesY]; 00032 double phi_endc_ [kMaxEndciPhi][kEndcEtaRings]; 00033 double meanCellArea_[kEndcEtaRings]; 00034 double etaBoundary_ [kEndcEtaRings+1]; 00035 int endcapRing_ [kEndcWedgesX][kEndcWedgesY]; 00036 int nRing_ [kEndcEtaRings]; 00037 00038 // informations about good cells 00039 bool goodCell_barl[kBarlRings][kBarlWedges][kSides]; 00040 bool goodCell_endc[kEndcWedgesX][kEndcWedgesX][kSides]; 00041 int nBads_barl[kBarlRings]; 00042 int nBads_endc[kEndcEtaRings]; 00043 00044 }; 00045 00046 00047 #endif