Go to the documentation of this file.00001 #ifndef RecoTracker_TkSeedGenerator_SeedFromConsecutiveHitsCreator_H
00002 #define RecoTracker_TkSeedGenerator_SeedFromConsecutiveHitsCreator_H
00003
00004 #include "RecoTracker/TkSeedGenerator/interface/SeedCreator.h"
00005 #include "RecoTracker/TkSeedingLayers/interface/SeedingHitSet.h"
00006 #include "RecoTracker/TkSeedingLayers/interface/SeedComparitor.h"
00007
00008 class FreeTrajectoryState;
00009
00010 class SeedFromConsecutiveHitsCreator : public SeedCreator {
00011 public:
00012
00013 SeedFromConsecutiveHitsCreator( const edm::ParameterSet & cfg):
00014 thePropagatorLabel(cfg.getParameter<std::string>("propagator")),
00015 theBOFFMomentum(cfg.existsAs<double>("SeedMomentumForBOFF") ? cfg.getParameter<double>("SeedMomentumForBOFF") : 5.0)
00016 {}
00017
00018 SeedFromConsecutiveHitsCreator(
00019 const std::string & propagator = "PropagatorWithMaterial", double seedMomentumForBOFF = -5.0)
00020 : thePropagatorLabel(propagator), theBOFFMomentum(seedMomentumForBOFF) { }
00021
00022
00023 virtual ~SeedFromConsecutiveHitsCreator(){}
00024
00025 virtual const TrajectorySeed * trajectorySeed(TrajectorySeedCollection & seedCollection,
00026 const SeedingHitSet & ordered,
00027 const TrackingRegion & region,
00028 const edm::EventSetup& es,
00029 const SeedComparitor *filter);
00030 protected:
00031
00032 virtual bool checkHit(
00033 const TrajectoryStateOnSurface &tsos,
00034 const TransientTrackingRecHit::ConstRecHitPointer &hit,
00035 const edm::EventSetup& es,
00036 const SeedComparitor *filter) const;
00037
00038 virtual GlobalTrajectoryParameters initialKinematic(
00039 const SeedingHitSet & hits,
00040 const TrackingRegion & region,
00041 const edm::EventSetup& es,
00042 const SeedComparitor *filter,
00043 bool &passesFilter) const;
00044
00045 virtual CurvilinearTrajectoryError initialError(
00046 const TrackingRegion& region,
00047 float sinTheta) const;
00048
00049 virtual const TrajectorySeed * buildSeed(
00050 TrajectorySeedCollection & seedCollection,
00051 const SeedingHitSet & hits,
00052 const FreeTrajectoryState & fts,
00053 const edm::EventSetup& es,
00054 const SeedComparitor *filter) const;
00055
00056 virtual TransientTrackingRecHit::RecHitPointer refitHit(
00057 const TransientTrackingRecHit::ConstRecHitPointer &hit,
00058 const TrajectoryStateOnSurface &state) const;
00059
00060 protected:
00061 std::string thePropagatorLabel;
00062 double theBOFFMomentum;
00063
00064 };
00065 #endif