Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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            std::vector<cmsdt::metaPrimitive> &inSLMPath,
0032            std::vector<cmsdt::metaPrimitive> &inCorMPath,
0033            std::vector<cmsdt::metaPrimitive> &outMPath) override{};
0034   void run(edm::Event &iEvent,
0035            const edm::EventSetup &iEventSetup,
0036            MuonPathPtrs &inMPath,
0037            MuonPathPtrs &outMPath) override{};
0038 
0039   void finish() override;
0040 
0041   // Other public methods
0042 
0043   // Public attributes
0044   int areCousins(cmsdt::metaPrimitive mp1, cmsdt::metaPrimitive mp2);
0045   int rango(cmsdt::metaPrimitive mp);
0046   void printmP(cmsdt::metaPrimitive mP);
0047 
0048 private:
0049   // Private methods
0050   void filterCousins(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0051   void refilteringCousins(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0052   void filterTanPhi(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0053   void filterUnique(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0054 
0055   // Private attributes
0056   const bool debug_;
0057 };
0058 
0059 #endif