File indexing completed on 2024-04-06 12:26:28
0001 #ifndef SiStripRecHitConverter_InverseCrosstalkMatrix_h
0002 #define SiStripRecHitConverter_InverseCrosstalkMatrix_h
0003
0004 #include <vector>
0005 #include <cmath>
0006 #include <cstdint>
0007 #include "RecoLocalTracker/SiStripRecHitConverter/interface/ErrorPropogationTypes.h"
0008
0009 class SiStripCluster;
0010
0011 namespace reco {
0012
0013 class InverseCrosstalkMatrix {
0014 public:
0015 InverseCrosstalkMatrix(const unsigned N, const float x);
0016 float operator()(const unsigned i, const unsigned j) const;
0017
0018 private:
0019 float element(const unsigned, const unsigned) const;
0020 const unsigned N;
0021 const double sq, lambdaP, lambdaM, denominator;
0022
0023 public:
0024 static std::vector<stats_t<float> > unfold(const SiStripCluster& q, const float x);
0025 };
0026 }
0027 #endif