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
0022
0023
0024
0025
0026
0027
0028 class MPFilter {
0029 public:
0030
0031 MPFilter(const edm::ParameterSet& pset);
0032 virtual ~MPFilter();
0033
0034
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
0053
0054
0055
0056 edm::FileInPath maxdrift_filename_;
0057 int maxdriftinfo_[5][4][14];
0058 int max_drift_tdc = -1;
0059
0060 private:
0061
0062 const bool debug_;
0063 };
0064
0065 #endif