File indexing completed on 2021-02-14 14:25:06
0001 #ifndef RecoLocalTracker_SiPixelRecHits_PixelCPETemplateReco_H
0002 #define RecoLocalTracker_SiPixelRecHits_PixelCPETemplateReco_H
0003
0004 #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h"
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
0016 #include "CondFormats/SiPixelTransient/interface/SiPixelTemplate.h"
0017 #else
0018 #include "SiPixelTemplate.h"
0019 #endif
0020
0021 #include <utility>
0022 #include <vector>
0023
0024 #if 0
0025
0026
0027
0028
0029 #endif
0030
0031 class MagneticField;
0032 class PixelCPETemplateReco : public PixelCPEBase {
0033 public:
0034 struct ClusterParamTemplate : ClusterParam {
0035 ClusterParamTemplate(const SiPixelCluster &cl) : ClusterParam(cl) {}
0036
0037 float templXrec_;
0038 float templYrec_;
0039 float templSigmaX_;
0040 float templSigmaY_;
0041
0042
0043 float templProbX_;
0044 float templProbY_;
0045
0046 float templProbQ_;
0047
0048 int templQbin_;
0049
0050 int ierr;
0051 };
0052
0053
0054 PixelCPETemplateReco(edm::ParameterSet const &conf,
0055 const MagneticField *,
0056 const TrackerGeometry &,
0057 const TrackerTopology &,
0058 const SiPixelLorentzAngle *,
0059 const SiPixelTemplateDBObject *);
0060
0061 ~PixelCPETemplateReco() override;
0062
0063 static void fillPSetDescription(edm::ParameterSetDescription &desc);
0064
0065 private:
0066 std::unique_ptr<ClusterParam> createClusterParam(const SiPixelCluster &cl) const override;
0067
0068
0069
0070
0071 LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
0072
0073
0074 LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
0075
0076
0077 std::vector<SiPixelTemplateStore> thePixelTemp_;
0078
0079 int speed_;
0080
0081 bool UseClusterSplitter_;
0082
0083
0084 int barrelTemplateID_;
0085 int forwardTemplateID_;
0086 std::string templateDir_;
0087
0088
0089
0090 };
0091
0092 #endif