Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoTracker_LSTCore_interface_PixelQuintupletsSoA_h
0002 #define RecoTracker_LSTCore_interface_PixelQuintupletsSoA_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(PixelQuintupletsSoALayout,
0012                       SOA_COLUMN(unsigned int, pixelSegmentIndices),
0013                       SOA_COLUMN(unsigned int, quintupletIndices),
0014                       SOA_COLUMN(Params_pT5::ArrayU16xLayers, lowerModuleIndices),  // lower module index (OT part)
0015                       SOA_COLUMN(Params_pT5::ArrayU8xLayers, logicalLayers),        // layer ID
0016                       SOA_COLUMN(Params_pT5::ArrayUxHits, hitIndices),              // hit indices
0017                       SOA_COLUMN(float, rPhiChiSquared),                            // chi2 from pLS to T5
0018                       SOA_COLUMN(float, rPhiChiSquaredInwards),                     // chi2 from T5 to pLS
0019                       SOA_COLUMN(float, rzChiSquared),
0020                       SOA_COLUMN(FPX, pixelRadius),       // pLS pt converted
0021                       SOA_COLUMN(FPX, quintupletRadius),  // T5 circle
0022                       SOA_COLUMN(FPX, eta),
0023                       SOA_COLUMN(FPX, phi),
0024                       SOA_COLUMN(FPX, score),    // used for ranking (in e.g. duplicate cleaning)
0025                       SOA_COLUMN(FPX, centerX),  // T3-based circle center x
0026                       SOA_COLUMN(FPX, centerY),  // T3-based circle center y
0027                       SOA_COLUMN(bool, isDup),
0028                       SOA_SCALAR(unsigned int, nPixelQuintuplets),
0029                       SOA_SCALAR(unsigned int, totOccupancyPixelQuintuplets));
0030 
0031   using PixelQuintupletsSoA = PixelQuintupletsSoALayout<>;
0032   using PixelQuintuplets = PixelQuintupletsSoA::View;
0033   using PixelQuintupletsConst = PixelQuintupletsSoA::ConstView;
0034 }  // namespace lst
0035 #endif