CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoEgamma/EgammaPhotonAlgos/interface/ConversionBarrelEstimator.h

Go to the documentation of this file.
00001 #ifndef RecoEGAMMA_ConversionBarrelEstimator_H
00002 #define RecoEGAMMA_ConversionBarrelEstimator_H
00003 
00012 #include "TrackingTools/PatternTools/interface/MeasurementEstimator.h" 
00013 #include "DataFormats/GeometryVector/interface/Vector2DBase.h"
00014 #include "DataFormats/GeometryVector/interface/LocalTag.h"
00015 
00016 
00017 class TrajectoryStateOnSurface;
00018 class RecHit;
00019 class BoundPlane;
00020 
00021 class ConversionBarrelEstimator : public MeasurementEstimator {
00022 public:
00023 
00024   ConversionBarrelEstimator() {};
00025   ConversionBarrelEstimator( float phiRangeMin, float phiRangeMax, 
00026                                  float zRangeMin, float zRangeMax, double nSigma = 3. ) : 
00027                            thePhiRangeMin( phiRangeMin), thePhiRangeMax( phiRangeMax),
00028                            theZRangeMin( zRangeMin), theZRangeMax( zRangeMax), theNSigma(nSigma) {
00029     //    std::cout << " ConversionBarrelEstimator CTOR " << std::endl;
00030 }
00031 
00032   // zero value indicates incompatible ts - hit pair
00033   virtual std::pair<bool,double> estimate( const TrajectoryStateOnSurface& ts, 
00034                                const TransientTrackingRecHit& hit       ) const;
00035   virtual bool  estimate( const TrajectoryStateOnSurface& ts, 
00036                                        const BoundPlane& plane) const;
00037   virtual ConversionBarrelEstimator* clone() const {
00038     return new ConversionBarrelEstimator(*this);
00039   } 
00040 
00041 
00042 
00043 
00044 
00045   virtual Local2DVector maximalLocalDisplacement( const TrajectoryStateOnSurface& ts, const BoundPlane& plane) const;
00046 
00047 
00048   double nSigmaCut() const {return theNSigma;}
00049 
00050 private:
00051 
00052   float thePhiRangeMin;
00053   float thePhiRangeMax;
00054   float theZRangeMin;
00055   float theZRangeMax;
00056   double theNSigma;
00057 
00058 
00059 
00060 };
00061 
00062 #endif // ConversionBarrelEstimator_H