CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoTracker/SpecialSeedGenerators/interface/CosmicTrackingRegion.h

Go to the documentation of this file.
00001 #ifndef CosmicTrackingRegion_H
00002 #define CosmicTrackingRegion_H
00003 
00011 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegionBase.h"
00012 #include "RecoTracker/TkTrackingRegions/interface/TkTrackingRegionsMargin.h"
00013 //#include "CommonDet/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
00014 #include "RecoTracker/TkTrackingRegions/interface/HitRZConstraint.h"
00015 #include "RecoTracker/TkTrackingRegions/interface/OuterHitPhiPrediction.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h"
00018 #include <vector>
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 
00021 class OuterEstimator;
00022 class BarrelDetLayer;
00023 class ForwardDetLayer;
00024 typedef TransientTrackingRecHit::ConstRecHitPointer SeedingHit;
00025 
00026 class CosmicTrackingRegion : public TrackingRegionBase {
00027 public:
00028   
00029   //  typedef TkTrackingRegionsMargin<float> Margin;
00030 
00032  CosmicTrackingRegion() { }
00033  virtual ~CosmicTrackingRegion() { }
00058   CosmicTrackingRegion( const GlobalVector & dir, 
00059                         const GlobalPoint & vertexPos,
00060                         float ptMin, float rVertex, float zVertex,
00061                         float deltaEta, float deltaPhi,
00062                         float dummy = 0.)                       
00063     : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin), 
00064                           rVertex, zVertex),
00065     measurementTrackerName_("")
00066     { }
00067 
00068     CosmicTrackingRegion(const GlobalVector & dir,
00069                          const GlobalPoint & vertexPos,
00070                          float ptMin, float rVertex, float zVertex,
00071                          float deltaEta, float deltaPhi,
00072                          const edm::ParameterSet & extra)
00073       : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
00074                             rVertex, zVertex)
00075       {
00076         measurementTrackerName_ = extra.getParameter<std::string>("measurementTrackerName");
00077       }
00078       
00079 
00080 
00082     //  const Range & etaRange() const { return theEtaRange; }
00083 
00086     //  const Margin & phiMargin() const { return thePhiMargin; }
00087 
00089     //  bool  isPrecise() const { return thePrecise; }
00090 
00091    virtual TrackingRegion::Hits hits(
00092       const edm::Event& ev,  
00093       const edm::EventSetup& es, 
00094       const ctfseeding::SeedingLayer* layer) const;
00095 
00096    virtual HitRZCompatibility* checkRZ(
00097       const DetLayer* layer,
00098       const Hit & outerHit,
00099       const edm::EventSetup& iSetup) const {return 0; }
00100    
00101    CosmicTrackingRegion * clone() const {     return new CosmicTrackingRegion(*this);  }
00102    
00103    std::string name() const { return "CosmicTrackingRegion"; }
00104   //  virtual std::string print() const;
00105 
00106 private:
00107 
00108    std::string measurementTrackerName_;
00109 };
00110 
00111 #endif