00001 00013 #ifndef Alignment_MuonMillepedeTrackRefitter_MuonMillepedeTrackRefitter_H 00014 #define Alignment_MuonMillepedeTrackRefitter_MuonMillepedeTrackRefitter_H 00015 00016 00017 // Base Class Headers 00018 #include "FWCore/Framework/interface/EDProducer.h" 00019 #include "FWCore/Framework/interface/Event.h" 00020 00021 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentAlgorithmBase.h" 00022 00023 #include <string> 00024 #include <vector> 00025 00026 class SegmentToTrackAssociator; 00027 class TrackingRecHit; 00028 00029 namespace edm { 00030 class ParameterSet; 00031 class Event; 00032 class EventSetup; 00033 class InputTag; 00034 } 00035 00036 00037 typedef std::vector< std::vector<int> > intDVector; 00038 typedef std::vector<TrackingRecHit *> RecHitVector; 00039 00040 class MuonMillepedeTrackRefitter: public edm::EDProducer { 00041 public: 00042 00043 typedef AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair; 00044 typedef AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection; 00045 00047 MuonMillepedeTrackRefitter(const edm::ParameterSet& pset); 00048 00050 virtual ~MuonMillepedeTrackRefitter(); 00051 00052 // Operations 00053 00054 virtual void produce(edm::Event & event, const edm::EventSetup& eventSetup); 00055 00056 protected: 00057 00058 private: 00059 00060 00061 edm::InputTag SACollectionTag; 00062 00063 00064 }; 00065 #endif 00066 00067 00068 00069