CMS 3D CMS Logo

CSCTFSectorProcessor.h
Go to the documentation of this file.
1 
8 #ifndef CSCTrackFinder_CSCTFSectorProcessor_h
9 #define CSCTrackFinder_CSCTFSectorProcessor_h
10 
11 #include <vector>
12 #include <map>
13 #include <string>
20 
27 
29 public:
30  struct Tokens {
33  };
34 
36 
37  CSCTFSectorProcessor(const unsigned& endcap,
38  const unsigned& sector,
39  const edm::ParameterSet& pset,
40  bool tmb07,
41  const L1MuTriggerScales* scales,
43 
45  void initialize(const edm::EventSetup& c, const Tokens& tokens);
47 
49 
50  //returns 0 for normal fail, 1 for success, and -1 for exception
51  // on -1, Producer should produce empty collections for event
53 
55  std::vector<csctf::TrackStub> filteredStubs() const { return stub_vec_filtered; }
56 
58 
59  int minBX() const { return m_minBX; }
60  int maxBX() const { return m_maxBX; }
61 
63 
64  void printDisclaimer(int firmSP, int firmFA);
65 
66 private:
67  // disallow copy and assignment
68  CSCTFSectorProcessor& operator=(const CSCTFSectorProcessor& rhs) { return *this; };
70 
72 
74  unsigned m_endcap, m_sector, TMB07;
75  unsigned m_latency;
76 
77  // All parameters below are signed to allow for uninitialized (<0) state
80  int m_etawin[7], m_etamin[8], m_etamax[8];
89  int m_widePhi;
90 
91  // following parameters were moved here from the CSCTFTrackBuilder because they naturally belong here
97  int run_core;
100  unsigned int singlesTrackOutput;
102 
104 
105  CSCTriggerContainer<csc::L1Track> l1_tracks; // fully defined L1Tracks
106  CSCTriggerContainer<csctf::TrackStub> dt_stubs; // Track Stubs to be sent to the DTTF
107  std::vector<csctf::TrackStub>
108  stub_vec_filtered; // Collectin of stubs after applying kill_fiber and QualityEnable masks
109 
110  static const std::string FPGAs[5];
111 
112  std::map<std::string, CSCSectorReceiverLUT*> srLUTs_; // indexed by FPGA
115 
116  // firmware map
117  std::map<int, int> firmSP_Map;
119  bool initFail_;
120 };
121 
122 #endif
CSCTriggerContainer< csctf::TrackStub > dt_stubs
CSCTFSPCoreLogic * core_
void readParameters(const edm::ParameterSet &pset)
std::vector< csctf::TrackStub > stub_vec_filtered
CSCTriggerContainer< csctf::TrackStub > dtStubs() const
void printDisclaimer(int firmSP, int firmFA)
static const std::string FPGAs[5]
int run(const CSCTriggerContainer< csctf::TrackStub > &)
static Tokens consumes(const edm::ParameterSet &pset, edm::ConsumesCollector iC)
CSCTFSectorProcessor & operator=(const CSCTFSectorProcessor &rhs)
CSCTriggerContainer< csc::L1Track > l1_tracks
edm::ESGetToken< L1MuCSCTFConfiguration, L1MuCSCTFConfigurationRcd > config
std::map< std::string, CSCSectorReceiverLUT * > srLUTs_
CSCTFSectorProcessor(const unsigned &endcap, const unsigned &sector, const edm::ParameterSet &pset, bool tmb07, const L1MuTriggerScales *scales, const L1MuTriggerPtScale *ptScale)
std::vector< csctf::TrackStub > filteredStubs() const
const std::vector< double > ptScale
Definition: Utilities.cc:33
void initialize(const edm::EventSetup &c, const Tokens &tokens)
KK.
std::map< int, int > firmSP_Map
CSCTFSectorProcessor(const CSCTFSectorProcessor &par)
CSCTriggerContainer< csc::L1Track > tracks() const