CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoTracker/DebugTools/interface/CkfDebugTrackCandidateMaker.h

Go to the documentation of this file.
00001 
00002 #ifndef CkfDebugTrackCandidateMaker_h
00003 #define CkfDebugTrackCandidateMaker_h
00004 
00005 #include "RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h"
00006 #include "RecoTracker/DebugTools/interface/CkfDebugTrajectoryBuilder.h"
00007 #include "FWCore/Framework/interface/EDProducer.h"
00008 #include "DataFormats/Common/interface/EDProduct.h"
00009 
00010 namespace cms {
00011   class CkfDebugTrackCandidateMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer {
00012   public:
00013     CkfDebugTrackCandidateMaker(const edm::ParameterSet& conf) : CkfTrackCandidateMakerBase(conf) {
00014       produces<TrackCandidateCollection>();
00015     }
00016 
00017     virtual void beginRun (edm::Run & run, edm::EventSetup const & es){
00018       beginRunBase(run,es); 
00019       initDebugger(es);
00020     }
00021 
00022     virtual void produce(edm::Event& e, const edm::EventSetup& es){produceBase(e,es);}
00023     virtual void endJob() {delete dbg; }
00024 
00025   private:
00026     virtual TrajectorySeedCollection::const_iterator 
00027       lastSeed(TrajectorySeedCollection& theSeedColl){return theSeedColl.begin()+1;}
00028 
00029     void initDebugger(edm::EventSetup const & es){
00030       dbg = new CkfDebugger(es);
00031       myTrajectoryBuilder = dynamic_cast<const CkfDebugTrajectoryBuilder*>(theTrajectoryBuilder);
00032       if (myTrajectoryBuilder) myTrajectoryBuilder->setDebugger( dbg);
00033       else throw cms::Exception("CkfDebugger") << "please use CkfDebugTrajectoryBuilder";
00034         //theTrajectoryBuilder->setDebugger( dbg);
00035     };
00036     
00037     void printHitsDebugger(edm::Event& e){dbg->printSimHits(e);};
00038     void countSeedsDebugger(){dbg->countSeed();};
00039     void deleteAssocDebugger(){dbg->deleteHitAssociator();};
00040     void deleteDebugger(){delete dbg;};
00041     CkfDebugger *  dbg;
00042     const CkfDebugTrajectoryBuilder* myTrajectoryBuilder;
00043   };
00044 }
00045 
00046 #endif