Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-12-12 02:57:08

0001 #ifndef Phase2L1Trigger_DTTrigger_MPQualityEnhancerFilterBayes_h
0002 #define Phase2L1Trigger_DTTrigger_MPQualityEnhancerFilterBayes_h
0003 
0004 #include "L1Trigger/DTTriggerPhase2/interface/MPFilter.h"
0005 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0006 
0007 #include <iostream>
0008 #include <fstream>
0009 
0010 // ===============================================================================
0011 // Previous definitions and declarations
0012 // ===============================================================================
0013 
0014 // ===============================================================================
0015 // Class declarations
0016 // ===============================================================================
0017 
0018 class MPQualityEnhancerFilterBayes : public MPFilter {
0019 public:
0020   // Constructors and destructor
0021   MPQualityEnhancerFilterBayes(const edm::ParameterSet &pset);
0022   ~MPQualityEnhancerFilterBayes() override = default;
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            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 
0040   void finish() override;
0041 
0042   // Other public methods
0043 
0044   // Public attributes
0045   int areCousins(cmsdt::metaPrimitive mp1, cmsdt::metaPrimitive mp2);
0046   int shareSL(cmsdt::metaPrimitive mp1, cmsdt::metaPrimitive mp2);
0047   bool areSame(cmsdt::metaPrimitive mp1, cmsdt::metaPrimitive mp2);
0048   int rango(cmsdt::metaPrimitive mp);
0049   int BX(cmsdt::metaPrimitive mp);
0050   void printmP(cmsdt::metaPrimitive mP);
0051 
0052 private:
0053   // Private methods
0054   void filterCousins(std::vector<cmsdt::metaPrimitive> &inMPath, std::vector<cmsdt::metaPrimitive> &outMPath);
0055 
0056   // Private attributes
0057   const bool debug_;
0058 };
0059 
0060 #endif