CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoTracker/CkfPattern/interface/CkfTrajectoryMaker.h

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