File indexing completed on 2024-04-06 12:19:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTPSB_h
0022 #define L1TriggerGlobalMuonTrigger_L1MuGMTPSB_h
0023
0024
0025
0026
0027
0028 #include <vector>
0029
0030
0031
0032
0033
0034 #include "FWCore/Framework/interface/Event.h"
0035 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0036 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMatrix.h"
0037 #include "FWCore/Framework/interface/ConsumesCollector.h"
0038
0039
0040
0041
0042
0043 class L1MuGlobalMuonTrigger;
0044
0045
0046
0047
0048
0049 class L1MuGMTPSB {
0050 public:
0051
0052 L1MuGMTPSB(const L1MuGlobalMuonTrigger& gmt, edm::ConsumesCollector&& iC);
0053
0054
0055 virtual ~L1MuGMTPSB();
0056
0057
0058 void receiveData(edm::Event& e, int bx);
0059
0060
0061 void reset();
0062
0063
0064 void print() const;
0065
0066
0067 const L1MuRegionalCand* RPCMuon(int index) const;
0068
0069
0070 const L1MuRegionalCand* DTBXMuon(int index) const;
0071
0072
0073 const L1MuRegionalCand* CSCMuon(int index) const;
0074
0075
0076 int numberRPC() const;
0077
0078
0079 int numberDTBX() const;
0080
0081
0082 int numberCSC() const;
0083
0084
0085 bool empty() const;
0086
0087
0088 const L1MuGMTMatrix<bool>& isolBits() const { return m_Isol; }
0089
0090
0091 const L1MuGMTMatrix<bool>& mipBits() const { return m_Mip; }
0092
0093 private:
0094
0095 void getRPCb(std::vector<L1MuRegionalCand> const* data, int bx);
0096
0097
0098 void getRPCf(std::vector<L1MuRegionalCand> const* data, int bx);
0099
0100
0101 void getDTBX(std::vector<L1MuRegionalCand> const* data, int bx);
0102
0103
0104 void getCSC(std::vector<L1MuRegionalCand> const* data, int bx);
0105
0106
0107 void getCalo(edm::Event& e);
0108
0109
0110 void printRPCbarrel() const;
0111
0112
0113 void printRPCendcap() const;
0114
0115
0116 void printDTBX() const;
0117
0118
0119 void printCSC() const;
0120
0121 private:
0122 const L1MuGlobalMuonTrigger& m_gmt;
0123
0124 std::vector<L1MuRegionalCand> m_RpcMuons;
0125 std::vector<L1MuRegionalCand> m_DtbxMuons;
0126 std::vector<L1MuRegionalCand> m_CscMuons;
0127
0128 L1MuGMTMatrix<bool> m_Isol;
0129 L1MuGMTMatrix<bool> m_Mip;
0130 };
0131
0132 #endif