File indexing completed on 2023-03-17 11:11:12
0001 #ifndef Phase2L1Trigger_DTTrigger_MPQualityEnhancerFilter_h
0002 #define Phase2L1Trigger_DTTrigger_MPQualityEnhancerFilter_h
0003
0004 #include "L1Trigger/DTTriggerPhase2/interface/MPFilter.h"
0005
0006 #include <iostream>
0007 #include <fstream>
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 class MPQualityEnhancerFilter : public MPFilter {
0018 public:
0019
0020 MPQualityEnhancerFilter(const edm::ParameterSet &pset);
0021 ~MPQualityEnhancerFilter() override = default;
0022
0023
0024 void initialise(const edm::EventSetup &iEventSetup) override;
0025 void run(edm::Event &iEvent,
0026 const edm::EventSetup &iEventSetup,
0027 std::vector<cmsdt::metaPrimitive> &inMPath,
0028 std::vector<cmsdt::metaPrimitive> &outMPath) override;
0029 void run(edm::Event &iEvent,
0030 const edm::EventSetup &iEventSetup,
0031 MuonPathPtrs &inMPath,
0032 MuonPathPtrs &outMPath) override{};
0033
0034 void finish() override;
0035
0036
0037
0038
0039 int areCousins(cmsdt::metaPrimitive mp1, cmsdt::metaPrimitive mp2);
0040 int rango(cmsdt::metaPrimitive mp);
0041 void printmP(cmsdt::metaPrimitive mP);
0042
0043 private:
0044
0045 void filterCousins(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0046 void refilteringCousins(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0047 void filterTanPhi(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0048 void filterUnique(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0049
0050
0051 const bool debug_;
0052 };
0053
0054 #endif