Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-05-12 01:51:33

0001 #ifndef Phase2L1Trigger_DTTrigger_MPFilter_h
0002 #define Phase2L1Trigger_DTTrigger_MPFilter_h
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/Frameworkfwd.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 
0009 #include "L1Trigger/DTTriggerPhase2/interface/MuonPath.h"
0010 #include "L1Trigger/DTTriggerPhase2/interface/constants.h"
0011 #include "L1Trigger/DTTriggerPhase2/interface/MPFilter.h"
0012 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0013 
0014 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0015 #include "Geometry/DTGeometry/interface/DTLayer.h"
0016 
0017 #include <iostream>
0018 #include <fstream>
0019 
0020 // ===============================================================================
0021 // Previous definitions and declarations
0022 // ===============================================================================
0023 
0024 // ===============================================================================
0025 // Class declarations
0026 // ===============================================================================
0027 
0028 class MPFilter {
0029 public:
0030   // Constructors and destructor
0031   MPFilter(const edm::ParameterSet& pset);
0032   virtual ~MPFilter();
0033 
0034   // Main methods
0035   virtual void initialise(const edm::EventSetup& iEventSetup) = 0;
0036   virtual void run(edm::Event& iEvent,
0037                    const edm::EventSetup& iEventSetup,
0038                    std::vector<cmsdt::metaPrimitive>& inMPath,
0039                    std::vector<cmsdt::metaPrimitive>& outMPath) = 0;
0040   virtual void run(edm::Event& iEvent,
0041                    const edm::EventSetup& iEventSetup,
0042                    MuonPathPtrs& inMPath,
0043                    MuonPathPtrs& outMPath) = 0;
0044 
0045   virtual void finish() = 0;
0046 
0047   // Other public methods
0048 
0049 private:
0050   // Private attributes
0051   const bool debug_;
0052 };
0053 
0054 #endif