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
0012
0013
0014
0015
0016
0017
0018 class MPRedundantFilter : public MPFilter {
0019 public:
0020
0021 MPRedundantFilter(const edm::ParameterSet& pset);
0022 ~MPRedundantFilter() override;
0023
0024
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
0042
0043 private:
0044 void filter(MuonPathPtr& mpath, MuonPathPtrs& outMPaths);
0045 bool isInBuffer(MuonPathPtr& mpath);
0046
0047
0048 const bool debug_;
0049 unsigned int maxBufferSize_;
0050 std::deque<MuonPathPtr> buffer_;
0051 };
0052
0053 #endif