Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:54

0001 #ifndef L1TMuonEndCap_Common_h
0002 #define L1TMuonEndCap_Common_h
0003 
0004 #include <array>
0005 
0006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0007 
0008 #include "DataFormats/L1TMuon/interface/EMTFHit.h"
0009 #include "DataFormats/L1TMuon/interface/EMTFRoad.h"
0010 #include "DataFormats/L1TMuon/interface/EMTFTrack.h"
0011 
0012 #include "L1Trigger/L1TMuon/interface/GeometryTranslator.h"
0013 #include "L1Trigger/L1TMuon/interface/MuonTriggerPrimitive.h"
0014 #include "L1Trigger/L1TMuon/interface/MuonTriggerPrimitiveFwd.h"
0015 
0016 #include "L1Trigger/L1TMuonEndCap/interface/EMTFSubsystemTag.h"
0017 #include "L1Trigger/L1TMuonEndCap/interface/TrackTools.h"
0018 #include "L1Trigger/L1TMuonEndCap/interface/DebugTools.h"
0019 
0020 // Resolve namespaces
0021 
0022 typedef l1t::EMTFHit EMTFHit;
0023 typedef l1t::EMTFHitCollection EMTFHitCollection;
0024 typedef l1t::EMTFRoad EMTFRoad;
0025 typedef l1t::EMTFRoadCollection EMTFRoadCollection;
0026 typedef l1t::EMTFTrack EMTFTrack;
0027 typedef l1t::EMTFTrackCollection EMTFTrackCollection;
0028 typedef l1t::EMTFPtLUT EMTFPtLUT;
0029 
0030 typedef L1TMuon::GeometryTranslator GeometryTranslator;
0031 typedef L1TMuon::TriggerPrimitive TriggerPrimitive;
0032 typedef L1TMuon::TriggerPrimitiveCollection TriggerPrimitiveCollection;
0033 
0034 typedef TriggerPrimitive::DTData DTData;
0035 typedef TriggerPrimitive::CSCData CSCData;
0036 typedef TriggerPrimitive::RPCData RPCData;
0037 typedef TriggerPrimitive::GEMData GEMData;
0038 typedef TriggerPrimitive::ME0Data ME0Data;
0039 
0040 namespace emtf {
0041 
0042   // Constants
0043 
0044   // from DataFormats/MuonDetId/interface/CSCDetId.h
0045   constexpr int MIN_ENDCAP = 1;
0046   constexpr int MAX_ENDCAP = 2;
0047 
0048   // from DataFormats/MuonDetId/interface/CSCTriggerNumbering.h
0049   constexpr int MIN_TRIGSECTOR = 1;
0050   constexpr int MAX_TRIGSECTOR = 6;
0051   constexpr int NUM_SECTORS = 12;
0052 
0053   // Zones
0054   constexpr int NUM_ZONES = 4;
0055   constexpr int NUM_ZONE_HITS = 160;
0056 
0057   // Stations
0058   constexpr int NUM_STATIONS = 4;
0059   constexpr int NUM_STATION_PAIRS = 6;
0060 
0061   // Fixed-size arrays
0062   template <typename T>
0063   using sector_array = std::array<T, NUM_SECTORS>;
0064   template <typename T>
0065   using zone_array = std::array<T, NUM_ZONES>;
0066 
0067   // NN features and predictions
0068   constexpr int NUM_FEATURES = 29;    // NN features
0069   constexpr int NUM_PREDICTIONS = 2;  // NN outputs
0070 
0071   using Feature = std::array<float, NUM_FEATURES>;
0072   using Prediction = std::array<float, NUM_PREDICTIONS>;
0073 
0074 }  // namespace emtf
0075 
0076 #endif