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
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
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