Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-19 23:20:20

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, tripletRadius),  // T3 circle
0022                       SOA_COLUMN(FPX, pt),
0023                       SOA_COLUMN(FPX, eta),
0024                       SOA_COLUMN(FPX, phi),
0025                       SOA_COLUMN(FPX, eta_pix),  // eta from pLS
0026                       SOA_COLUMN(FPX, phi_pix),  // phi from pLS
0027                       SOA_COLUMN(FPX, score),    // used for ranking (in e.g. duplicate cleaning)
0028                       SOA_COLUMN(FPX, centerX),  // T3-based circle center x
0029                       SOA_COLUMN(FPX, centerY),  // T3-based circle center y
0030                       SOA_COLUMN(bool, isDup),
0031                       SOA_SCALAR(unsigned int, nPixelTriplets),
0032                       SOA_SCALAR(unsigned int, totOccupancyPixelTriplets));
0033 
0034   using PixelTripletsSoA = PixelTripletsSoALayout<>;
0035   using PixelTriplets = PixelTripletsSoA::View;
0036   using PixelTripletsConst = PixelTripletsSoA::ConstView;
0037 
0038 }  // namespace lst
0039 #endif