Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:45

0001 #ifndef Phase2L1Trigger_DTTrigger_MPRedundantFilter_h
0002 #define Phase2L1Trigger_DTTrigger_MPRedundantFilter_h
0003 
0004 #include "L1Trigger/DTTriggerPhase2/interface/MPFilter.h"
0005 
0006 #include <iostream>
0007 #include <fstream>
0008 #include <deque>
0009 
0010 // ===============================================================================
0011 // Previous definitions and declarations
0012 // ===============================================================================
0013 
0014 // ===============================================================================
0015 // Class declarations
0016 // ===============================================================================
0017 
0018 class MPRedundantFilter : public MPFilter {
0019 public:
0020   // Constructors and destructor
0021   MPRedundantFilter(const edm::ParameterSet& pset);
0022   ~MPRedundantFilter() override;
0023 
0024   // Main methods
0025   void initialise(const edm::EventSetup& iEventSetup) override;
0026   void run(edm::Event& iEvent,
0027            const edm::EventSetup& iEventSetup,
0028            std::vector<cmsdt::metaPrimitive>& inMPath,
0029            std::vector<cmsdt::metaPrimitive>& outMPath) override{};
0030   void run(edm::Event& iEvent,
0031            const edm::EventSetup& iEventSetup,
0032            std::vector<cmsdt::metaPrimitive>& inSLMPath,
0033            std::vector<cmsdt::metaPrimitive>& inCorMPath,
0034            std::vector<cmsdt::metaPrimitive>& outMPath) override{};
0035   void run(edm::Event& iEvent,
0036            const edm::EventSetup& iEventSetup,
0037            MuonPathPtrs& inMPath,
0038            MuonPathPtrs& outMPath) override;
0039   void finish() override { buffer_.clear(); };
0040 
0041   // Other public methods
0042 
0043 private:
0044   void filter(MuonPathPtr& mpath, MuonPathPtrs& outMPaths);
0045   bool isInBuffer(MuonPathPtr& mpath);
0046 
0047   // Private attributes
0048   const bool debug_;
0049   unsigned int maxBufferSize_;
0050   std::deque<MuonPathPtr> buffer_;
0051 };
0052 
0053 #endif