00001 #ifndef CSCTrackFinder_CSCTFTrackBuilder_h 00002 #define CSCTrackFinder_CSCTFTrackBuilder_h 00003 00004 #include <vector> 00005 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h> 00006 #include <DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h> 00007 #include <DataFormats/L1CSCTrackFinder/interface/TrackStub.h> 00008 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h> 00009 #include <DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h> 00010 #include <string.h> 00011 #include <FWCore/Framework/interface/EventSetup.h> 00012 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00013 00014 class CSCMuonPortCard; 00015 class CSCTFSectorProcessor; 00016 class L1MuTriggerScales ; 00017 class L1MuTriggerPtScale ; 00018 00019 class CSCTFTrackBuilder 00020 { 00021 public: 00022 00023 void initialize(const edm::EventSetup& c); 00024 00025 enum { nEndcaps = 2, nSectors = 6}; 00026 00027 CSCTFTrackBuilder(const edm::ParameterSet& pset, bool TMB07, 00028 const L1MuTriggerScales* scales, 00029 const L1MuTriggerPtScale* ptScale); 00030 00031 ~CSCTFTrackBuilder(); 00032 00033 void buildTracks(const CSCCorrelatedLCTDigiCollection*, 00034 const CSCTriggerContainer<csctf::TrackStub>*, //const L1MuDTChambPhContainer*, 00035 L1CSCTrackCollection*, CSCTriggerContainer<csctf::TrackStub>*); 00036 00037 private: 00038 CSCTFSectorProcessor* my_SPs[nEndcaps][nSectors]; 00039 int m_minBX, m_maxBX; 00040 00041 }; 00042 00043 #endif