Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:40

0001 #ifndef L1Trigger_RPCTBGhostBuster_h
0002 #define L1Trigger_RPCTBGhostBuster_h
0003 
0004 /** \class RPCTBGhostBuster
0005   * Peformes the Trigger Board Ghost Buster and sorter algorithms.
0006   * Because the class does not keep any data and GB is the same for every TB,
0007   * there might be one and the same object of this class for all TBs.
0008   * \author Karol Bunkowski (Warsaw)
0009   */
0010 
0011 #include "L1Trigger/RPCTrigger/interface/RPCTBMuon.h"
0012 //---------------------------------------------------------------------------
0013 class RPCTBGhostBuster {
0014 public:
0015   /** Calls gBPhi and gBEta.
0016     * @param pacMuonsVec2 pacMuonsVec2[0..3][0..11] (4 Towers x 12 Segments (PACs) ),
0017     * if pacMuonsVec2[i].size() == 0, means no nonempty muon.
0018     * @return always 4 muons.*/
0019   L1RpcTBMuonsVec run(L1RpcTBMuonsVec2 &pacMuonsVec2) const;
0020 
0021   /** @param pacMuonsVec pacMuonsVec.size() should be equal to 12 (Segment in given TB count)
0022     * or 0,
0023     * Performs Phi Goustbuster - between muons in one sector of the same m_tower.
0024     * @return if pacMuonsVec has size = 0, returns L1RpcTBMuonsVec with size 0,
0025     * otherwise returns vector of size = 4.
0026     * Calls RPCTBMuon::setPhiAddr() for each alive muon.*/
0027   L1RpcTBMuonsVec gBPhi(L1RpcTBMuonsVec &pacMuonsVec) const;
0028 
0029   /** @param gbPhiMuonsVec2 size() should be equal to 4 (max number of m_tower in TB).
0030     * Performs the Eta Goustbuster - between muons from diferent towers.
0031     * Calls RPCTBMuon::setPhiAddr() for each alive muon.
0032     * @return always 4 muons.*/
0033   L1RpcTBMuonsVec gBEta(L1RpcTBMuonsVec2 &gbPhiMuonsVec2) const;
0034 };
0035 #endif