File indexing completed on 2024-09-07 04:37:28
0001 #ifndef RecoEGAMMA_ConversionForwardEstimator_H
0002 #define RecoEGAMMA_ConversionForwardEstimator_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "TrackingTools/DetLayers/interface/MeasurementEstimator.h"
0012 #include "DataFormats/GeometryVector/interface/Vector2DBase.h"
0013 #include "DataFormats/GeometryVector/interface/LocalTag.h"
0014
0015 #include <iostream>
0016 class RecHit;
0017 class TrajectoryStateOnSurface;
0018 class Plane;
0019
0020 class ConversionForwardEstimator : public MeasurementEstimator {
0021 public:
0022 ConversionForwardEstimator() {}
0023 ConversionForwardEstimator(float phiRangeMin, float phiRangeMax, float dr, double nSigma = 3.)
0024 : thePhiRangeMin(phiRangeMin), thePhiRangeMax(phiRangeMax), dr_(dr), theNSigma(nSigma) {
0025
0026 }
0027
0028
0029 std::pair<bool, double> estimate(const TrajectoryStateOnSurface& ts, const TrackingRecHit& hit) const override;
0030 bool estimate(const TrajectoryStateOnSurface& ts, const Plane& plane) const override;
0031 ConversionForwardEstimator* clone() const override { return new ConversionForwardEstimator(*this); }
0032
0033 Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface& ts, const Plane& plane) const override;
0034
0035 double nSigmaCut() const { return theNSigma; }
0036
0037 private:
0038 float thePhiRangeMin;
0039 float thePhiRangeMax;
0040 float dr_;
0041 double theNSigma;
0042 };
0043
0044 #endif