Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // Previous definitions and declarations
0011 // ===============================================================================
0012 
0013 // ===============================================================================
0014 // Class declarations
0015 // ===============================================================================
0016 
0017 class MPQualityEnhancerFilter : public MPFilter {
0018 public:
0019   // Constructors and destructor
0020   MPQualityEnhancerFilter(const edm::ParameterSet &pset);
0021   ~MPQualityEnhancerFilter() override = default;
0022 
0023   // Main methods
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   // Other public methods
0037 
0038   // Public attributes
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   // Private methods
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   // Private attributes
0051   const bool debug_;
0052 };
0053 
0054 #endif