File indexing completed on 2024-04-06 12:19:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTMipIsoAU_h
0023 #define L1TriggerGlobalMuonTrigger_L1MuGMTMipIsoAU_h
0024
0025
0026
0027
0028
0029 #include <vector>
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.h"
0040 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0041
0042 class L1MuGlobalMuonTrigger;
0043 class L1MuGMTCand;
0044 class L1MuGMTPhiProjectionUnit;
0045 class L1MuGMTEtaProjectionUnit;
0046
0047
0048
0049
0050
0051 class L1MuGMTMipIsoAU {
0052 public:
0053
0054 L1MuGMTMipIsoAU(const L1MuGlobalMuonTrigger& gmt, int id);
0055
0056
0057 virtual ~L1MuGMTMipIsoAU();
0058
0059
0060 void run();
0061
0062
0063 void reset();
0064
0065
0066 void print() const;
0067
0068
0069 inline int id() const { return m_id; }
0070
0071
0072 inline const L1MuRegionalCand* muon(int idx) const { return m_muons[idx]; }
0073
0074
0075 inline bool MIP(int idx) const { return m_MIP[idx]; }
0076
0077
0078 inline bool ISO(int idx) const { return m_ISO[idx]; }
0079
0080 const L1MuGlobalMuonTrigger& GMT() const { return m_gmt; };
0081
0082 private:
0083 void load();
0084 void assignMIP();
0085 void assignISO();
0086
0087 private:
0088 const L1MuGlobalMuonTrigger& m_gmt;
0089 int m_id;
0090
0091 std::vector<const L1MuRegionalCand*> m_muons;
0092
0093 std::vector<bool> m_MIP;
0094 std::vector<bool> m_ISO;
0095
0096 std::vector<L1MuGMTPhiProjectionUnit*> m_MIP_PPUs;
0097 std::vector<L1MuGMTEtaProjectionUnit*> m_MIP_EPUs;
0098
0099 std::vector<L1MuGMTPhiProjectionUnit*> m_ISO_PPUs;
0100 std::vector<L1MuGMTEtaProjectionUnit*> m_ISO_EPUs;
0101 };
0102
0103 #endif