File indexing completed on 2025-06-30 07:55:47
0001
0002
0003
0004
0005
0006 #include <Evaluator/DD4hepUnits.h>
0007 #include <JANA/JApplicationFwd.h>
0008 #include <vector>
0009
0010 #include "algorithms/fardetectors/MatrixTransferStaticConfig.h"
0011 #include "extensions/jana/JOmniFactoryGeneratorT.h"
0012 #include "factories/digi/SiliconTrackerDigi_factory.h"
0013 #include "factories/fardetectors/MatrixTransferStatic_factory.h"
0014 #include "factories/tracking/TrackerHitReconstruction_factory.h"
0015
0016 extern "C" {
0017 void InitPlugin(JApplication* app) {
0018 InitJANAPlugin(app);
0019 using namespace eicrecon;
0020
0021 MatrixTransferStaticConfig recon_cfg;
0022
0023
0024 app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0025 "ForwardRomanPotRawHits", {"ForwardRomanPotHits"},
0026 {"ForwardRomanPotRawHits", "ForwardRomanPotRawHitAssociations"},
0027 {
0028 .threshold = 10.0 * dd4hep::keV,
0029 .timeResolution = 8,
0030 },
0031 app));
0032
0033 app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0034 "ForwardRomanPotRecHits", {"ForwardRomanPotRawHits"}, {"ForwardRomanPotRecHits"},
0035 {
0036 .timeResolution = 8,
0037 },
0038 app));
0039
0040 app->Add(new JOmniFactoryGeneratorT<MatrixTransferStatic_factory>(
0041 "ForwardRomanPotRecParticles",
0042 {
0043 "MCParticles",
0044 "ForwardRomanPotRecHits",
0045 },
0046 {
0047 "ForwardRomanPotRecParticles",
0048 },
0049 {
0050 .matrix_configs =
0051 {{
0052 .nomMomentum = 275.0,
0053 .aX =
0054 {
0055 {3.251116, 30.285734},
0056 {0.186036375, 0.196439472},
0057 },
0058 .aY =
0059 {
0060 {0.4730500000, 3.062999454},
0061 {0.0204108951, -0.139318692},
0062 },
0063
0064 .local_x_offset = -1209.29,
0065 .local_y_offset = 0.00132511,
0066 .local_x_slope_offset = -45.4772,
0067 .local_y_slope_offset = 0.000745498,
0068
0069 },
0070 {
0071
0072 .nomMomentum = 130.0,
0073 .aX =
0074 {
0075 {3.16912, 22.4693},
0076 {0.182402, -0.218209},
0077 },
0078
0079 .aY =
0080 {
0081 {0.520743, 3.17339},
0082 {0.0222482, -0.0923779},
0083 },
0084
0085 .local_x_offset = -1209.29,
0086 .local_y_offset = 0.00132511,
0087 .local_x_slope_offset = -45.4772,
0088 .local_y_slope_offset = 0.000745498,
0089
0090 },
0091 {
0092 .nomMomentum = 100.0,
0093
0094 .aX =
0095 {
0096 {3.152158, 20.852072},
0097 {0.181649517, -0.303998487},
0098 },
0099
0100 .aY =
0101 {
0102 {0.5306100000, 3.19623343},
0103 {0.0226283320, -0.082666019},
0104 },
0105
0106 .local_x_offset = -1209.27,
0107 .local_y_offset = 0.00355218,
0108 .local_x_slope_offset = -45.4737,
0109 .local_y_slope_offset = 0.00204394,
0110
0111 },
0112 {
0113 .nomMomentum = 41.0,
0114
0115 .aX =
0116 {
0117 {3.135997, 18.482273},
0118 {0.176479921, -0.497839483},
0119
0120 },
0121 .aY = {{0.4914400000, 4.53857451}, {0.0179664765, 0.004160679}},
0122
0123 .local_x_offset = -1209.22,
0124 .local_y_offset = 0.00868737,
0125 .local_x_slope_offset = -45.4641,
0126 .local_y_slope_offset = 0.00498786,
0127
0128 }},
0129 .hit1minZ = 32541.0,
0130 .hit1maxZ = 32554.0,
0131 .hit2minZ = 34239.0,
0132 .hit2maxZ = 34252.0,
0133
0134 .readout = "ForwardRomanPotRecHits",
0135 },
0136 app));
0137 }
0138 }