File indexing completed on 2024-04-06 12:19:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef L1MUDT_SECTOR_RECEIVER_H
0019 #define L1MUDT_SECTOR_RECEIVER_H
0020
0021
0022
0023
0024
0025 #include <vector>
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #include "FWCore/Framework/interface/ConsumesCollector.h"
0036 #include "DataFormats/Common/interface/Handle.h"
0037 #include "FWCore/Framework/interface/ESHandle.h"
0038 #include "FWCore/Framework/interface/Event.h"
0039 #include "FWCore/Utilities/interface/EDGetToken.h"
0040 class L1MuDTChambPhContainer;
0041 class L1MuDTSectorProcessor;
0042 class L1MuDTTFParameters;
0043 class L1MuDTTFMasks;
0044 class L1MuDTTFParametersRcd;
0045 class L1MuDTTFMasksRcd;
0046 template <typename T>
0047 class CSCTriggerContainer;
0048 namespace csctf {
0049 class TrackStub;
0050 }
0051
0052
0053
0054
0055
0056 class L1MuDTSectorReceiver {
0057 public:
0058
0059 L1MuDTSectorReceiver(L1MuDTSectorProcessor&, edm::ConsumesCollector iC);
0060
0061
0062 virtual ~L1MuDTSectorReceiver();
0063
0064
0065 void run(int bx, const edm::Event& e, const edm::EventSetup& c);
0066
0067
0068 void reset();
0069
0070 private:
0071
0072 void receiveDTBXData(int bx, const edm::Event& e, const edm::EventSetup& c);
0073
0074
0075 void receiveCSCData(int bx, const edm::Event& e, const edm::EventSetup& c);
0076
0077
0078 int address2sector(int adr) const;
0079
0080
0081 int address2wheel(int adr) const;
0082
0083 private:
0084 L1MuDTSectorProcessor& m_sp;
0085 edm::EDGetTokenT<L1MuDTChambPhContainer> m_DTDigiToken;
0086 edm::EDGetTokenT<CSCTriggerContainer<csctf::TrackStub> > m_CSCTrSToken;
0087
0088 edm::ESGetToken<L1MuDTTFParameters, L1MuDTTFParametersRcd> m_parsToken;
0089 edm::ESGetToken<L1MuDTTFMasks, L1MuDTTFMasksRcd> m_msksToken;
0090 edm::ESHandle<L1MuDTTFParameters> pars;
0091 edm::ESHandle<L1MuDTTFMasks> msks;
0092 };
0093
0094 #endif