Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-08 08:26:05

0001 // Copyright 2022, Dmitry Romanov, Minjung Kim, Joshua Sobaljic, Shujie Li
0002 // Subject to the terms in the LICENSE file found in the top-level directory.
0003 //
0004 //
0005 
0006 #include <Evaluator/DD4hepUnits.h>
0007 #include <JANA/JApplicationFwd.h>
0008 #include <JANA/Utils/JTypeInfo.h>
0009 #include <edm4eic/RawTrackerHit.h>
0010 #include <memory>
0011 #include <string>
0012 #include <vector>
0013 
0014 #include "extensions/jana/JOmniFactoryGeneratorT.h"
0015 #include "factories/digi/RandomNoisePixel_factory.h"
0016 #include "factories/digi/SiliconTrackerDigi_factory.h"
0017 #include "factories/meta/CollectionCollector_factory.h"
0018 #include "factories/tracking/TrackerHitReconstruction_factory.h"
0019 
0020 extern "C" {
0021 void InitPlugin(JApplication* app) {
0022   InitJANAPlugin(app);
0023 
0024   using namespace eicrecon;
0025 
0026   // Digitization
0027   app->Add(new JOmniFactoryGeneratorT<SiliconTrackerDigi_factory>(
0028       "SiEndcapTrackerRawHits", {"EventHeader", "TrackerEndcapHits"},
0029       {"SiEndcapTrackerRawHits", "SiEndcapTrackerRawHitLinks", "SiEndcapTrackerRawHitAssociations"},
0030       {
0031           .threshold = 0.54 * dd4hep::keV,
0032       },
0033       app));
0034 
0035   app->Add(new JOmniFactoryGeneratorT<RandomNoisePixel_factory>(
0036       "SiEndcapTrackerNoiseRawHits", {"EventHeader"}, {"SiEndcapTrackerNoiseRawHits"},
0037       {.addNoise                       = true,
0038        .noise_rate_per_pixel_per_event = 2.0e-7,
0039        .readout_name                   = "TrackerEndcapHits"},
0040       app));
0041   app->Add(new JOmniFactoryGeneratorT<CollectionCollector_factory<edm4eic::RawTrackerHit>>(
0042       "SiEndcapTrackerRawHitsWithNoise", {"SiEndcapTrackerRawHits", "SiEndcapTrackerNoiseRawHits"},
0043       {"SiEndcapTrackerRawHitsWithNoise"}, {}, app));
0044   // Convert raw digitized hits into hits with geometry info (ready for tracking)
0045   app->Add(new JOmniFactoryGeneratorT<TrackerHitReconstruction_factory>(
0046       "SiEndcapTrackerRecHits", {"SiEndcapTrackerRawHitsWithNoise"}, {"SiEndcapTrackerRecHits"},
0047       {}, // default config
0048       app));
0049 }
0050 } // extern "C"