File indexing completed on 2024-04-06 12:19:45
0001 #ifndef Phase2L1Trigger_DTTrigger_MuonPathAnalyzer_h
0002 #define Phase2L1Trigger_DTTrigger_MuonPathAnalyzer_h
0003
0004 #include "FWCore/Utilities/interface/ESGetToken.h"
0005 #include "FWCore/Framework/interface/ConsumesCollector.h"
0006 #include "FWCore/Framework/interface/FrameworkfwdMostUsed.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/Frameworkfwd.h"
0009 #include "FWCore/Framework/interface/EventSetup.h"
0010 #include "FWCore/Framework/interface/Run.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0013
0014 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0015 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
0016 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
0017 #include "DataFormats/MuonDetId/interface/DTWireId.h"
0018
0019 #include "L1Trigger/DTTriggerPhase2/interface/MuonPath.h"
0020 #include "L1Trigger/DTTriggerPhase2/interface/constants.h"
0021 #include "L1Trigger/DTTriggerPhase2/interface/GlobalCoordsObtainer.h"
0022 #include "L1Trigger/DTTriggerPhase2/interface/LateralityProvider.h"
0023
0024 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0025 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0026
0027 #include <iostream>
0028 #include <fstream>
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 class MuonPathAnalyzer {
0039 public:
0040
0041 MuonPathAnalyzer(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
0042 virtual ~MuonPathAnalyzer();
0043
0044
0045 virtual void initialise(const edm::EventSetup& iEventSetup);
0046 virtual void run(edm::Event& iEvent,
0047 const edm::EventSetup& iEventSetup,
0048 MuonPathPtrs& inMpath,
0049 std::vector<cmsdt::metaPrimitive>& metaPrimitives) = 0;
0050 virtual void run(edm::Event& iEvent,
0051 const edm::EventSetup& iEventSetup,
0052 MuonPathPtrs& inMpath,
0053 std::vector<lat_vector>& lateralities,
0054 std::vector<cmsdt::metaPrimitive>& metaPrimitives) = 0;
0055 virtual void run(edm::Event& iEvent,
0056 const edm::EventSetup& iEventSetup,
0057 std::vector<cmsdt::metaPrimitive>& inMPaths,
0058 std::vector<cmsdt::metaPrimitive>& outMPaths) = 0;
0059 virtual void run(edm::Event& iEvent,
0060 const edm::EventSetup& iEventSetup,
0061 MuonPathPtrs& inMpath,
0062 MuonPathPtrs& outMPath) = 0;
0063
0064 virtual void finish();
0065
0066
0067
0068
0069
0070 private:
0071
0072
0073
0074 const bool debug_;
0075 };
0076
0077 #endif