CMS 3D CMS Logo

PixelCPETemplateReco.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPixelRecHits_PixelCPETemplateReco_H
2 #define RecoLocalTracker_SiPixelRecHits_PixelCPETemplateReco_H
3 
5 
6 // Already in the base class
7 //#include "Geometry/CommonDetUnit/interface/GeomDetType.h"
8 //#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
9 //#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h"
10 //#include "Geometry/CommonDetAlgo/interface/MeasurementPoint.h"
11 //#include "Geometry/CommonDetAlgo/interface/MeasurementError.h"
12 //#include "Geometry/Surface/interface/GloballyPositioned.h"
13 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
14 
15 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
17 #else
18 #include "SiPixelTemplate.h"
19 #endif
20 
21 #include <utility>
22 #include <vector>
23 
24 #if 0
25 
29 #endif
30 
31 class MagneticField;
33 public:
36  // The result of PixelTemplateReco2D
37  float templXrec_;
38  float templYrec_;
39  float templSigmaX_;
40  float templSigmaY_;
41  // Add new information produced by SiPixelTemplateReco::PixelTempReco2D &&&
42  // These can only be accessed if we change silicon pixel data formats and add them to the rechit
43  float templProbX_;
44  float templProbY_;
45 
46  float templProbQ_;
47 
49 
50  int ierr;
51  };
52 
53  // PixelCPETemplateReco( const DetUnit& det );
55  const MagneticField *,
56  const TrackerGeometry &,
57  const TrackerTopology &,
58  const SiPixelLorentzAngle *,
59  const std::vector<SiPixelTemplateStore> *,
60  const SiPixelTemplateDBObject *);
61 
62  ~PixelCPETemplateReco() override;
63 
65 
66 private:
67  std::unique_ptr<ClusterParam> createClusterParam(const SiPixelCluster &cl) const override;
68 
69  // We only need to implement measurementPosition, since localPosition() from
70  // PixelCPEBase will call it and do the transformation
71  // Gavril : put it back
72  LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
73 
74  // However, we do need to implement localError().
75  LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
76 
77  // Template storage
78  std::vector<SiPixelTemplateStore> thePixelTempCache_;
79  const std::vector<SiPixelTemplateStore> *thePixelTemp_;
80 
81  int speed_;
82 
84 
85  // Template file management (when not getting the templates from the DB)
89 
90  //bool DoCosmics_;
91  //bool LoadTemplatesFromDB_;
92 };
93 
94 #endif
std::unique_ptr< ClusterParam > createClusterParam(const SiPixelCluster &cl) const override
const std::vector< SiPixelTemplateStore > * thePixelTemp_
PixelCPETemplateReco(edm::ParameterSet const &conf, const MagneticField *, const TrackerGeometry &, const TrackerTopology &, const SiPixelLorentzAngle *, const std::vector< SiPixelTemplateStore > *, const SiPixelTemplateDBObject *)
LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override
Pixel cluster – collection of neighboring pixels above threshold.
std::vector< SiPixelTemplateStore > thePixelTempCache_
static void fillPSetDescription(edm::ParameterSetDescription &desc)
LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override