CMS 3D CMS Logo

CkfTrackCandidateMakerBase.h

Go to the documentation of this file.
00001 #ifndef CkfTrackCandidateMakerBase_h
00002 #define CkfTrackCandidateMakerBase_h
00003 
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 
00010 #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.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 "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00022 
00023 class TransientInitialStateEstimator;
00024 
00025 namespace cms
00026 {
00027   class CkfTrackCandidateMakerBase  {
00028   public:
00029 
00030     explicit CkfTrackCandidateMakerBase(const edm::ParameterSet& conf);
00031 
00032     virtual ~CkfTrackCandidateMakerBase();
00033 
00034     virtual void beginJobBase (edm::EventSetup const & es);
00035 
00036     virtual void produceBase(edm::Event& e, const edm::EventSetup& es);
00037 
00038   protected:
00039 
00040     edm::ParameterSet conf_;
00041 
00042     bool theTrackCandidateOutput;
00043     bool theTrajectoryOutput;
00044     bool useSplitting;
00045     bool doSeedingRegionRebuilding;
00046 
00047     std::string theTrajectoryBuilderName;
00048     const TrajectoryBuilder*  theTrajectoryBuilder;
00049 
00050     std::string theTrajectoryCleanerName;
00051     const TrajectoryCleaner*               theTrajectoryCleaner;
00052 
00053     TransientInitialStateEstimator*  theInitialState;
00054     
00055     edm::ESHandle<MagneticField>                theMagField;
00056     edm::ESHandle<GeometricSearchTracker>       theGeomSearchTracker;
00057 
00058     std::string theNavigationSchoolName;
00059     const NavigationSchool*       theNavigationSchool;
00060     
00061     RedundantSeedCleaner*  theSeedCleaner;
00062 
00063 
00064     // methods for debugging
00065     virtual TrajectorySeedCollection::const_iterator lastSeed(TrajectorySeedCollection const& theSeedColl){return theSeedColl.end();}
00066     virtual void printHitsDebugger(edm::Event& e){;}
00067     virtual void countSeedsDebugger(){;}
00068     virtual void deleteAssocDebugger(){;}
00069   private:
00071     void setEventSetup( const edm::EventSetup& es ) ; 
00072   };
00073 }
00074 
00075 #endif

Generated on Tue Jun 9 17:45:19 2009 for CMSSW by  doxygen 1.5.4