Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-16 02:43:01

0001 #ifndef L1Trigger_L1TMuonEndCapPhase2_OutputLayer_h
0002 #define L1Trigger_L1TMuonEndCapPhase2_OutputLayer_h
0003 
0004 #include <array>
0005 #include <vector>
0006 
0007 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFfwd.h"
0008 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFTypes.h"
0009 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFConstants.h"
0010 
0011 namespace emtf::phase2::algo {
0012 
0013   class OutputLayer {
0014   public:
0015     OutputLayer(const EMTFContext&);
0016 
0017     ~OutputLayer() = default;
0018 
0019     void apply(const int&,
0020                const int&,
0021                const int&,
0022                const std::map<int, int>&,
0023                const std::vector<track_t>&,
0024                const bool&,
0025                EMTFTrackCollection&) const;
0026 
0027   private:
0028     const EMTFContext& context_;
0029 
0030     std::array<float, 60> prompt_pt_calibration_lut_;
0031     std::array<float, 60> disp_pt_calibration_lut_;
0032     std::array<float, 60> disp_dxy_calibration_lut_;
0033 
0034     int findEMTFModeV1(const track_t::site_mask_t&) const;
0035 
0036     int findEMTFModeV2(const track_t::site_mask_t&) const;
0037 
0038     int findEMTFQuality(const track_t&, const int&, const int&) const;
0039   };
0040 
0041 }  // namespace emtf::phase2::algo
0042 
0043 #endif  // L1Trigger_L1TMuonEndCapPhase2_OutputLayer_h not defined