Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Phase2L1Trigger_DTTrigger_LateralityProvider_h
0002 #define Phase2L1Trigger_DTTrigger_LateralityProvider_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 "L1Trigger/DTTriggerPhase2/interface/MuonPath.h"
0015 #include "L1Trigger/DTTriggerPhase2/interface/constants.h"
0016 
0017 #include <iostream>
0018 #include <fstream>
0019 
0020 // ===============================================================================
0021 // Previous definitions and declarations
0022 // ===============================================================================
0023 
0024 // ===============================================================================
0025 // Class declarations
0026 // ===============================================================================
0027 
0028 using latcomb = std::vector<short>;
0029 using lat_vector = std::vector<latcomb>;
0030 
0031 class LateralityProvider {
0032 public:
0033   // Constructors and destructor
0034   LateralityProvider(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
0035   virtual ~LateralityProvider();
0036 
0037   // Main methods
0038   virtual void initialise(const edm::EventSetup& iEventSetup);
0039   virtual void run(edm::Event& iEvent,
0040                    const edm::EventSetup& iEventSetup,
0041                    MuonPathPtrs& inMpath,
0042                    std::vector<lat_vector>& lateralities) = 0;
0043 
0044   virtual void finish();
0045 
0046   // Other public methods
0047 
0048   // Public attributes
0049   lat_vector LAT_VECTOR_NULL = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
0050 
0051 private:
0052   // Private methods
0053 
0054   // Private attributes
0055   const bool debug_;
0056 };
0057 
0058 #endif