CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/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 
00031  virtual ~CosmicTrackingRegion() { }
00056   CosmicTrackingRegion( const GlobalVector & dir, 
00057                         const GlobalPoint & vertexPos,
00058                         float ptMin, float rVertex, float zVertex,
00059                         float deltaEta, float deltaPhi,
00060                         float dummy = 0.)                       
00061     : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin), 
00062                           rVertex, zVertex),
00063     measurementTrackerName_("")
00064     { }
00065 
00066     CosmicTrackingRegion(const GlobalVector & dir,
00067                          const GlobalPoint & vertexPos,
00068                          float ptMin, float rVertex, float zVertex,
00069                          float deltaEta, float deltaPhi,
00070                          const edm::ParameterSet & extra)
00071       : TrackingRegionBase( dir, vertexPos, Range( -1/ptMin, 1/ptMin),
00072                             rVertex, zVertex)
00073       {
00074         measurementTrackerName_ = extra.getParameter<std::string>("measurementTrackerName");
00075       }
00076       
00077 
00078 
00079    virtual TrackingRegion::Hits hits(
00080       const edm::Event& ev,  
00081       const edm::EventSetup& es, 
00082       const ctfseeding::SeedingLayer* layer) const;
00083 
00084    virtual HitRZCompatibility* checkRZ(
00085       const DetLayer* layer,
00086       const Hit & outerHit,
00087       const edm::EventSetup& iSetup, 
00088       const DetLayer* outerlayer=0,
00089       float lr=0, float gz=0, float dr=0, float dz=0) const {return 0; }
00090    
00091    CosmicTrackingRegion * clone() const {     return new CosmicTrackingRegion(*this);  }
00092    
00093    std::string name() const { return "CosmicTrackingRegion"; }
00094 
00095 private:
00096 
00097    std::string measurementTrackerName_;
00098 };
00099 
00100 #endif