Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // Previous definitions and declarations
0032 // ===============================================================================
0033 
0034 // ===============================================================================
0035 // Class declarations
0036 // ===============================================================================
0037 
0038 class MuonPathAnalyzer {
0039 public:
0040   // Constructors and destructor
0041   MuonPathAnalyzer(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
0042   virtual ~MuonPathAnalyzer();
0043 
0044   // Main methods
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   // Other public methods
0067 
0068   // Public attributes
0069 
0070 private:
0071   // Private methods
0072 
0073   // Private attributes
0074   const bool debug_;
0075 };
0076 
0077 #endif