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
0022
0023
0024
0025
0026
0027
0028 using latcomb = std::vector<short>;
0029 using lat_vector = std::vector<latcomb>;
0030
0031 class LateralityProvider {
0032 public:
0033
0034 LateralityProvider(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
0035 virtual ~LateralityProvider();
0036
0037
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
0047
0048
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
0053
0054
0055 const bool debug_;
0056 };
0057
0058 #endif