Go to the documentation of this file.00001 #ifndef SeedFromConsecutiveHits_H
00002 #define SeedFromConsecutiveHits_H
00003
00008 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00009 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
00010 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00011 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00012 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h"
00013 #include "FWCore/Framework/interface/EventSetup.h"
00014 #include "FWCore/Framework/interface/ESHandle.h"
00015 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00016 #include "RecoTracker/TransientTrackingRecHit/interface/TkTransientTrackingRecHitBuilder.h"
00017 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00018 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00019 #include "RecoTracker/TkSeedingLayers/interface/SeedingHitSet.h"
00020 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00021
00022 #include "RecoTracker/TkSeedGenerator/interface/SeedFromConsecutiveHitsCreator.h"
00023 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h"
00024
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026 #include <boost/shared_ptr.hpp>
00027
00028 class SeedFromConsecutiveHits{
00029
00030 public:
00031 typedef edm::OwnVector<TrackingRecHit> recHitContainer;
00032
00033 SeedFromConsecutiveHits(const SeedingHitSet & hits,
00034 const GlobalPoint& vertexPos, const GlobalError& vertexErr,
00035 const edm::EventSetup& es, float ptMin, double theBOFFMomentum=-1.0)
00036 {
00037 GlobalTrackingRegion region( ptMin, vertexPos, sqrt(vertexErr.cxx()), sqrt(vertexErr.czz()) );
00038 SeedFromConsecutiveHitsCreator creator("PropagatorWithMaterial",theBOFFMomentum);
00039 theSeed.clear();
00040 creator.trajectorySeed(theSeed, hits, region, es);
00041 }
00042
00043 virtual ~SeedFromConsecutiveHits(){};
00044
00045 bool isValid() {return theSeed.size()>0 ; }
00046
00047 TrajectorySeed const & TrajSeed(){ return theSeed.back(); }
00048
00049 private:
00050 TrajectorySeedCollection theSeed;
00051 };
00052
00053 #endif