File indexing completed on 2024-04-06 12:26:23
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 std::vector<SiPixelTemplateStore> *,
0060 const SiPixelTemplateDBObject *);
0061
0062 ~PixelCPETemplateReco() override;
0063
0064 static void fillPSetDescription(edm::ParameterSetDescription &desc);
0065
0066 private:
0067 std::unique_ptr<ClusterParam> createClusterParam(const SiPixelCluster &cl) const override;
0068
0069
0070
0071
0072 LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
0073
0074
0075 LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override;
0076
0077
0078 std::vector<SiPixelTemplateStore> thePixelTempCache_;
0079 const std::vector<SiPixelTemplateStore> *thePixelTemp_;
0080
0081 int speed_;
0082
0083 bool UseClusterSplitter_;
0084
0085
0086 int barrelTemplateID_;
0087 int forwardTemplateID_;
0088 std::string templateDir_;
0089
0090
0091
0092 };
0093
0094 #endif