CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/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 "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