Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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 "DataFormats/MuonDetId/interface/DTLayerId.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                    std::vector<cmsdt::metaPrimitive>& inSLMPath,
0043                    std::vector<cmsdt::metaPrimitive>& inCorMPath,
0044                    std::vector<cmsdt::metaPrimitive>& outMPath) = 0;
0045   virtual void run(edm::Event& iEvent,
0046                    const edm::EventSetup& iEventSetup,
0047                    MuonPathPtrs& inMPath,
0048                    MuonPathPtrs& outMPath) = 0;
0049 
0050   virtual void finish() = 0;
0051 
0052   // Other public methods
0053 
0054   // Public attributes
0055   // max drift velocity
0056   edm::FileInPath maxdrift_filename_;
0057   int maxdriftinfo_[5][4][14];
0058   int max_drift_tdc = -1;
0059 
0060 private:
0061   // Private attributes
0062   const bool debug_;
0063 };
0064 
0065 #endif