Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-12-22 23:29:59

0001 #ifndef RecoTracker_LSTCore_interface_QuintupletsSoA_h
0002 #define RecoTracker_LSTCore_interface_QuintupletsSoA_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(QuintupletsSoALayout,
0012                       SOA_COLUMN(ArrayUx2, tripletIndices),                        // inner and outer triplet indices
0013                       SOA_COLUMN(Params_T5::ArrayU16xLayers, lowerModuleIndices),  // lower module index in each layer
0014                       SOA_COLUMN(Params_T5::ArrayU8xLayers, logicalLayers),        // layer ID
0015                       SOA_COLUMN(Params_T5::ArrayUxHits, hitIndices),              // hit indices
0016                       SOA_COLUMN(FPX, innerRadius),                                // inner triplet circle radius
0017                       SOA_COLUMN(FPX, bridgeRadius),                               // "middle"/bridge triplet radius
0018                       SOA_COLUMN(FPX, outerRadius),                                // outer triplet radius
0019                       SOA_COLUMN(FPX, pt),
0020                       SOA_COLUMN(FPX, eta),
0021                       SOA_COLUMN(FPX, phi),
0022                       SOA_COLUMN(FPX, score_rphisum),  // r-phi based score
0023                       SOA_COLUMN(char, isDup),         // duplicate flag
0024                       SOA_COLUMN(bool, tightCutFlag),  // tight pass to be a TC
0025                       SOA_COLUMN(bool, partOfPT5),
0026                       SOA_COLUMN(float, regressionRadius),
0027                       SOA_COLUMN(float, regressionCenterX),
0028                       SOA_COLUMN(float, regressionCenterY),
0029                       SOA_COLUMN(float, rzChiSquared),  // r-z only chi2
0030                       SOA_COLUMN(float, chiSquared),
0031                       SOA_COLUMN(float, nonAnchorChiSquared),
0032                       SOA_COLUMN(float, dBeta1),
0033                       SOA_COLUMN(float, dBeta2));
0034 
0035   using QuintupletsSoA = QuintupletsSoALayout<>;
0036   using Quintuplets = QuintupletsSoA::View;
0037   using QuintupletsConst = QuintupletsSoA::ConstView;
0038 
0039   GENERATE_SOA_LAYOUT(QuintupletsOccupancySoALayout,
0040                       SOA_COLUMN(unsigned int, nQuintuplets),
0041                       SOA_COLUMN(unsigned int, totOccupancyQuintuplets));
0042 
0043   using QuintupletsOccupancySoA = QuintupletsOccupancySoALayout<>;
0044   using QuintupletsOccupancy = QuintupletsOccupancySoA::View;
0045   using QuintupletsOccupancyConst = QuintupletsOccupancySoA::ConstView;
0046 
0047 }  // namespace lst
0048 #endif