Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-05-12 01:51:33

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            MuonPathPtrs& inMPath,
0033            MuonPathPtrs& outMPath) override;
0034   void finish() override { buffer_.clear(); };
0035 
0036   // Other public methods
0037 
0038 private:
0039   void filter(MuonPathPtr& mpath, MuonPathPtrs& outMPaths);
0040   bool isInBuffer(MuonPathPtr& mpath);
0041 
0042   // Private attributes
0043   const bool debug_;
0044   unsigned int maxBufferSize_;
0045   std::deque<MuonPathPtr> buffer_;
0046 };
0047 
0048 #endif