Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-05-09 22:40:19

0001 #ifndef RecoTracker_LSTCore_interface_PixelTripletsSoA_h
0002 #define RecoTracker_LSTCore_interface_PixelTripletsSoA_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 #include "DataFormats/Common/interface/StdArray.h"
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 
0008 #include "RecoTracker/LSTCore/interface/Common.h"
0009 
0010 namespace lst {
0011   GENERATE_SOA_LAYOUT(PixelTripletsSoALayout,
0012                       SOA_COLUMN(unsigned int, pixelSegmentIndices),
0013                       SOA_COLUMN(unsigned int, tripletIndices),
0014                       SOA_COLUMN(Params_pT3::ArrayU16xLayers, lowerModuleIndices),  // lower module index (OT part)
0015                       SOA_COLUMN(Params_pT3::ArrayU8xLayers, logicalLayers),        // layer ID
0016                       SOA_COLUMN(Params_pT3::ArrayUxHits, hitIndices),              // hit indices
0017                       SOA_COLUMN(float, rPhiChiSquared),                            // chi2 from pLS to T3
0018                       SOA_COLUMN(float, rPhiChiSquaredInwards),                     // chi2 from T3 to pLS
0019                       SOA_COLUMN(float, rzChiSquared),
0020                       SOA_COLUMN(FPX, pixelRadius),  // pLS pt converted
0021                       SOA_COLUMN(FPX, pixelRadiusError),
0022                       SOA_COLUMN(FPX, tripletRadius),  // T3 circle
0023                       SOA_COLUMN(FPX, pt),
0024                       SOA_COLUMN(FPX, eta),
0025                       SOA_COLUMN(FPX, phi),
0026                       SOA_COLUMN(FPX, eta_pix),  // eta from pLS
0027                       SOA_COLUMN(FPX, phi_pix),  // phi from pLS
0028                       SOA_COLUMN(FPX, score),    // used for ranking (in e.g. duplicate cleaning)
0029                       SOA_COLUMN(FPX, centerX),  // T3-based circle center x
0030                       SOA_COLUMN(FPX, centerY),  // T3-based circle center y
0031                       SOA_COLUMN(bool, isDup),
0032                       SOA_SCALAR(unsigned int, nPixelTriplets),
0033                       SOA_SCALAR(unsigned int, totOccupancyPixelTriplets));
0034 
0035   using PixelTripletsSoA = PixelTripletsSoALayout<>;
0036   using PixelTriplets = PixelTripletsSoA::View;
0037   using PixelTripletsConst = PixelTripletsSoA::ConstView;
0038 
0039 }  // namespace lst
0040 #endif