File indexing completed on 2023-03-17 11:13:32
0001 #ifndef L1Trigger_TrackerTFP_LayerEncoding_h
0002 #define L1Trigger_TrackerTFP_LayerEncoding_h
0003
0004 #include "FWCore/Framework/interface/data_default_record_trait.h"
0005 #include "L1Trigger/TrackerTFP/interface/LayerEncodingRcd.h"
0006 #include "L1Trigger/TrackerTFP/interface/DataFormats.h"
0007
0008 #include <vector>
0009
0010 namespace trackerTFP {
0011
0012
0013
0014
0015
0016
0017
0018 class LayerEncoding {
0019 public:
0020 LayerEncoding() {}
0021 LayerEncoding(const DataFormats* dataFormats);
0022 ~LayerEncoding() {}
0023
0024 const std::vector<int>& layerEncoding(int binEta, int binZT, int binCot) const {
0025 return layerEncoding_.at(binEta).at(binZT).at(binCot);
0026 }
0027
0028 const std::vector<int>& maybeLayer(int binEta, int binZT, int binCot) const {
0029 return maybeLayer_.at(binEta).at(binZT).at(binCot);
0030 }
0031
0032 const int layerIdKF(int binEta, int binZT, int binCot, int layerId) const;
0033
0034 TTBV maybePattern(int binEta, int binZT, int binCot) const;
0035
0036 private:
0037
0038 const tt::Setup* setup_;
0039
0040 const DataFormats* dataFormats_;
0041
0042 const DataFormat* zT_;
0043
0044 const DataFormat* cot_;
0045
0046 std::vector<std::vector<std::vector<std::vector<int>>>> layerEncoding_;
0047
0048 std::vector<std::vector<std::vector<std::vector<int>>>> maybeLayer_;
0049 };
0050
0051 }
0052
0053 EVENTSETUP_DATA_DEFAULT_RECORD(trackerTFP::LayerEncoding, trackerTFP::LayerEncodingRcd);
0054
0055 #endif