Go to the documentation of this file.00001 #ifndef CkfTrajectoryMaker_h
00002 #define CkfTrajectoryMaker_h
00003
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Framework/interface/EventSetup.h"
00008
00009 #include "DataFormats/Common/interface/EDProduct.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011
00012 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h"
00013
00014 #include "MagneticField/Engine/interface/MagneticField.h"
00015 #include "TrackingTools/DetLayers/interface/NavigationSetter.h"
00016 #include "TrackingTools/DetLayers/interface/NavigationSchool.h"
00017 #include "RecoTracker/TkNavigation/interface/SimpleNavigationSchool.h"
00018 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00019
00020 #include "RecoTracker/CkfPattern/interface/RedundantSeedCleaner.h"
00021 #include "RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h"
00022 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
00023
00024 class TransientInitialStateEstimator;
00025
00026 namespace cms
00027 {
00028 class CkfTrajectoryMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer
00029 {
00030 public:
00031 typedef std::vector<Trajectory> TrajectoryCollection;
00032
00033 explicit CkfTrajectoryMaker(const edm::ParameterSet& conf):
00034 CkfTrackCandidateMakerBase(conf)
00035 {
00036 theTrackCandidateOutput=conf.getParameter<bool>("trackCandidateAlso");
00037 theTrajectoryOutput=true;
00038 if (theTrackCandidateOutput)
00039 produces<TrackCandidateCollection>();
00040 produces<TrajectoryCollection>();
00041 }
00042
00043 virtual ~CkfTrajectoryMaker(){;}
00044
00045 virtual void beginRun (edm::Run & run, edm::EventSetup const & es){beginRunBase(run,es);}
00046
00047 virtual void produce(edm::Event& e, const edm::EventSetup& es){produceBase(e,es);}
00048 };
00049 }
00050
00051 #endif