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 "FWCore/ParameterSet/interface/ParameterSet.h"
00010
00011 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h"
00012
00013 #include "MagneticField/Engine/interface/MagneticField.h"
00014 #include "TrackingTools/DetLayers/interface/NavigationSetter.h"
00015 #include "TrackingTools/DetLayers/interface/NavigationSchool.h"
00016 #include "RecoTracker/TkNavigation/interface/SimpleNavigationSchool.h"
00017 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00018
00019 #include "RecoTracker/CkfPattern/interface/RedundantSeedCleaner.h"
00020 #include "RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h"
00021 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
00022
00023 class TransientInitialStateEstimator;
00024
00025 namespace cms
00026 {
00027 class CkfTrajectoryMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer
00028 {
00029 public:
00030 typedef std::vector<Trajectory> TrajectoryCollection;
00031
00032 explicit CkfTrajectoryMaker(const edm::ParameterSet& conf):
00033 CkfTrackCandidateMakerBase(conf)
00034 {
00035 theTrackCandidateOutput=conf.getParameter<bool>("trackCandidateAlso");
00036 theTrajectoryOutput=true;
00037 if (theTrackCandidateOutput)
00038 produces<TrackCandidateCollection>();
00039 produces<TrajectoryCollection>();
00040 }
00041
00042 virtual ~CkfTrajectoryMaker(){;}
00043
00044 virtual void beginRun (edm::Run & run, edm::EventSetup const & es){beginRunBase(run,es);}
00045
00046 virtual void produce(edm::Event& e, const edm::EventSetup& es){produceBase(e,es);}
00047 };
00048 }
00049
00050 #endif