Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:32

0001 #ifndef CSCTrackFinder_CSCTFTrackBuilder_h
0002 #define CSCTrackFinder_CSCTFTrackBuilder_h
0003 
0004 #include <vector>
0005 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h>
0006 #include <DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h>
0007 #include <DataFormats/L1CSCTrackFinder/interface/TrackStub.h>
0008 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h>
0009 #include <DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h>
0010 #include <cstring>
0011 #include <FWCore/Framework/interface/EventSetup.h>
0012 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0013 #include "L1Trigger/CSCTrackFinder/interface/CSCTFSectorProcessor.h"
0014 
0015 class CSCMuonPortCard;
0016 class L1MuTriggerScales;
0017 class L1MuTriggerPtScale;
0018 
0019 class CSCTFTrackBuilder {
0020 public:
0021   using Tokens = CSCTFSectorProcessor::Tokens;
0022   static Tokens consumes(const edm::ParameterSet& pset, edm::ConsumesCollector iC) {
0023     return CSCTFSectorProcessor::consumes(pset, iC);
0024   }
0025 
0026   void initialize(const edm::EventSetup& c, const Tokens& tokens);
0027 
0028   enum { nEndcaps = 2, nSectors = 6 };
0029 
0030   CSCTFTrackBuilder(const edm::ParameterSet& pset,
0031                     bool TMB07,
0032                     const L1MuTriggerScales* scales,
0033                     const L1MuTriggerPtScale* ptScale);
0034 
0035   ~CSCTFTrackBuilder();
0036 
0037   void buildTracks(const CSCCorrelatedLCTDigiCollection*,
0038                    const CSCTriggerContainer<csctf::TrackStub>*,  //const L1MuDTChambPhContainer*,
0039                    L1CSCTrackCollection*,
0040                    CSCTriggerContainer<csctf::TrackStub>*);
0041 
0042 private:
0043   CSCTFSectorProcessor* my_SPs[nEndcaps][nSectors];
0044   int m_minBX, m_maxBX;
0045 };
0046 
0047 #endif