00001 #ifndef RecoLocalTracker_SiPixelRecHits_PixelCPEInitial_H 00002 #define RecoLocalTracker_SiPixelRecHits_PixelCPEInitial_H 1 00003 00004 // Move geomCorrection from the base class, modify it. 00005 // comment out etaCorrection. d.k. 06/06 00006 // change to use Lorentz angle from DB Lotte Wilke, Jan. 31st, 2008 00007 00008 #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h" 00009 //#include "RecoLocalTracker/SiPixelRecHits/interface/EtaCorrection.h" 00010 00011 // Already in the base class 00012 //#include "Geometry/CommonDetUnit/interface/GeomDetType.h" 00013 //#include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" 00014 //#include "Geometry/TrackerTopology/interface/RectangularPixelTopology.h" 00015 //#include "Geometry/CommonDetAlgo/interface/MeasurementPoint.h" 00016 //#include "Geometry/CommonDetAlgo/interface/MeasurementError.h" 00017 //#include "Geometry/Surface/interface/GloballyPositioned.h" 00018 //#include "FWCore/ParameterSet/interface/ParameterSet.h" 00019 00020 #include <utility> 00021 #include <vector> 00022 00023 #if 0 00024 00028 #endif 00029 00030 class MagneticField; 00031 class PixelCPEInitial : public PixelCPEBase 00032 { 00033 public: 00034 // PixelCPEInitial( const DetUnit& det ); 00035 PixelCPEInitial(edm::ParameterSet const& conf, const MagneticField*, const SiPixelLorentzAngle *); 00036 00037 //LocalPoint localPosition(const SiPixelCluster& cl, const GeomDetUnit & det) const ; 00038 LocalError localError (const SiPixelCluster& cl, const GeomDetUnit & det) const ; 00039 00040 00041 protected: 00042 //-------------------------------------------------------------------- 00043 // Methods. For now (temporarily) they are all protected. 00044 //------------------------------------------------------------------ 00045 00046 // Errors squared in x and y 00047 float err2X(bool&, int&) const; 00048 float err2Y(bool&, int&) const; 00049 00050 // Position in x and y 00051 float xpos( const SiPixelCluster& ) const; 00052 float ypos( const SiPixelCluster& ) const; 00053 00054 // Quantities needed to calculate xpos() and ypos() 00055 float chargeWidthX()const; 00056 float chargeWidthY()const; 00057 //float chaWidth2X(const float&) const; // &&& NOT USED. Remove? 00058 00059 float geomCorrectionX(float xpos)const; // 2nd order correction to the 00060 float geomCorrectionY(float ypos)const; // track angle from detector position 00061 00062 }; 00063 00064 #endif 00065 00066 00067 00068