Go to the documentation of this file.00001 #ifndef CalibTracker_SiPixelESProducers_SiPixelDBErrorParametrization_h
00002 #define CalibTracker_SiPixelESProducers_SiPixelDBErrorParametrization_h
00003
00004 #include <memory>
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 #include "FWCore/Framework/interface/ESHandle.h"
00008 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00009 #include "CondFormats/SiPixelObjects/interface/SiPixelCPEGenericErrorParm.h"
00010
00011 class SiPixelCPEGenericDBErrorParametrization
00012 {
00013 public:
00014
00015 SiPixelCPEGenericDBErrorParametrization();
00016 ~SiPixelCPEGenericDBErrorParametrization();
00017
00018 void setDBAccess(const edm::EventSetup& es);
00019
00020 std::pair<float,float>
00021 getError(const SiPixelCPEGenericErrorParm* parmErrors,
00022 GeomDetType::SubDetector pixelPart,
00023 int sizex, int sizey,
00024 float alpha, float beta,
00025 bool bigInX = false,
00026 bool bigInY = false);
00027
00028 std::pair<float,float>
00029 getError(GeomDetType::SubDetector pixelPart,
00030 int sizex, int sizey,
00031 float alpha, float beta,
00032 bool bigInX = false,
00033 bool bigInY = false);
00034
00035 float index(int ind_subpart, int size, float alpha, float beta, bool big);
00036
00037 private:
00038
00039 edm::ESHandle<SiPixelCPEGenericErrorParm> errorsH;
00040
00041 static const float bx_a_min[3];
00042 static const float bx_a_max[3];
00043
00044 static const float fx_a_min[2];
00045 static const float fx_a_max[2];
00046 static const float fx_b_min[2];
00047 static const float fx_b_max[2];
00048
00049 static const float by_a_min[6];
00050 static const float by_a_max[6];
00051 static const float by_b_min[6];
00052 static const float by_b_max[6];
00053
00054 static const float fy_a_min[2];
00055 static const float fy_a_max[2];
00056 static const float fy_b_min[2];
00057 static const float fy_b_max[2];
00058
00059 static const float errors_big_pix[4];
00060 static const int size_max[4];
00061
00062 static const int part_bin_size[4];
00063 static const int size_bin_size[4];
00064 static const int alpha_bin_size[4];
00065 static const int beta_bin_size[4];
00066
00067 static const float* a_min[4];
00068 static const float* a_max[4];
00069 static const float* b_min[4];
00070 static const float* b_max[4];
00071
00072 };
00073 #endif