Skip to content

Commit

Permalink
MPGD Hits for new Tracking Config (#745)
Browse files Browse the repository at this point in the history
### Briefly, what does this PR introduce?
Add MPGD Hits to new MPGD layers (outer barrel, forward and backward
endcaps)

### What kind of change does this PR introduce?
- [ ] Bug fix (issue #__)
- [ ] New feature (issue #__)
- [ ] Documentation update
- [x] Other: Adds hits for new tracking geometry

### Please check if this PR fulfills the following:
- [ ] Tests for the changes have been added
- [ ] Documentation has been added / updated
- [x] Changes have been communicated to collaborators

### Does this PR introduce breaking changes? What changes might users
need to make to their code?
No.

### Does this PR change default behavior?
No

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Wouter Deconinck <[email protected]>
  • Loading branch information
3 people authored Jul 6, 2023
1 parent 4af1f05 commit 1c4a579
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 17 deletions.
4 changes: 2 additions & 2 deletions src/detectors/BTRK/BTRK.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ void InitPlugin(JApplication *app) {
using namespace eicrecon;

// Digitization
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"SiBarrelHits"}, "SiBarrelDigiHits"));
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"SiBarrelHits"}, "SiBarrelRawHits"));


// Convert raw digitized hits into hits with geometry info (ready for tracking)

TrackerHitReconstructionConfig hit_reco_cfg;
// change default parameters like hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>({"SiBarrelDigiHits"}, "SiBarrelTrackerRecHits", hit_reco_cfg));
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>({"SiBarrelRawHits"}, "SiBarrelTrackerRecHits", hit_reco_cfg));

}
} // extern "C"
4 changes: 2 additions & 2 deletions src/detectors/BVTX/BVTX.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ void InitPlugin(JApplication *app) {
using namespace eicrecon;

// Digitization
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"VertexBarrelHits"}, "BarrelVertexDigiHits"));
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"VertexBarrelHits"}, "BarrelVertexRawHits"));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>({"BarrelVertexDigiHits"}, "SiBarrelVertexRecHits"));
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>({"BarrelVertexRawHits"}, "SiBarrelVertexRecHits"));

}
} // extern "C"
4 changes: 2 additions & 2 deletions src/detectors/ECTOF/ECTOF.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ void InitPlugin(JApplication *app) {
SiliconTrackerDigiConfig digi_default_cfg;
digi_default_cfg.threshold = 0 * dd4hep::keV;
digi_default_cfg.timeResolution = 0.025; // [ns]
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"TOFEndcapHits"}, "TOFEndcapDigiHits", digi_default_cfg));
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"TOFEndcapHits"}, "TOFEndcapRawHits", digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig hit_reco_cfg;
hit_reco_cfg.time_resolution = 0.025;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"TOFEndcapDigiHits"}, // Input data collection tags
{"TOFEndcapRawHits"}, // Input data collection tags
"TOFEndcapRecHits", // Output data tag
hit_reco_cfg)); // Hit reco default config for factories

Expand Down
60 changes: 51 additions & 9 deletions src/detectors/MPGD/MPGD.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,72 @@ void InitPlugin(JApplication *app) {
// Digitization
SiliconTrackerDigiConfig barrel_digi_default_cfg;
barrel_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
barrel_digi_default_cfg.timeResolution = 8;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"MPGDBarrelHits"}, "MPGDBarrelDigiHits", barrel_digi_default_cfg));
barrel_digi_default_cfg.timeResolution = 10;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"MPGDBarrelHits"}, "MPGDBarrelRawHits", barrel_digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig tracker_hit_reco_cfg;
tracker_hit_reco_cfg.time_resolution = 8;
tracker_hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"MPGDBarrelDigiHits"}, // Input data collection tags
{"MPGDBarrelRawHits"}, // Input data collection tags
"MPGDBarrelRecHits", // Output data tag
tracker_hit_reco_cfg)); // Hit reco default config for factories

// Digitization
SiliconTrackerDigiConfig dirc_digi_default_cfg;
barrel_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
barrel_digi_default_cfg.timeResolution = 8;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"MPGDDIRCHits"}, "MPGDDIRCDigiHits", dirc_digi_default_cfg));
dirc_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
dirc_digi_default_cfg.timeResolution = 10;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"MPGDDIRCHits"}, "MPGDDIRCRawHits", dirc_digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig dirc_hit_reco_cfg;
tracker_hit_reco_cfg.time_resolution = 8;
dirc_hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"MPGDDIRCDigiHits"}, // Input data collection tags
{"MPGDDIRCRawHits"}, // Input data collection tags
"MPGDDIRCRecHits", // Output data tag
dirc_hit_reco_cfg)); // Hit reco default config for factories

// Digitization
SiliconTrackerDigiConfig outerMPGDbarrel_digi_default_cfg;
outerMPGDbarrel_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
outerMPGDbarrel_digi_default_cfg.timeResolution = 10;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"OuterMPGDBarrelHits"}, "OuterMPGDBarrelRawHits", outerMPGDbarrel_digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig outerMPGDbarrel_hit_reco_cfg;
outerMPGDbarrel_hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"OuterMPGDBarrelRawHits"}, // Input data collection tags
"OuterMPGDBarrelRecHits", // Output data tag
outerMPGDbarrel_hit_reco_cfg)); // Hit reco default config for factories


// Digitization
SiliconTrackerDigiConfig backwardMPGDendcap_digi_default_cfg;
backwardMPGDendcap_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
backwardMPGDendcap_digi_default_cfg.timeResolution = 10;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"BackwardMPGDEndcapHits"}, "BackwardMPGDEndcapRawHits", backwardMPGDendcap_digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig backwardMPGDendcap_hit_reco_cfg;
backwardMPGDendcap_hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"BackwardMPGDEndcapRawHits"}, // Input data collection tags
"BackwardMPGDEndcapRecHits", // Output data tag
backwardMPGDendcap_hit_reco_cfg)); // Hit reco default config for factories

// Digitization
SiliconTrackerDigiConfig forwardMPGDendcap_digi_default_cfg;
forwardMPGDendcap_digi_default_cfg.threshold = 0.25 * dd4hep::keV;
forwardMPGDendcap_digi_default_cfg.timeResolution = 10;
app->Add(new JChainFactoryGeneratorT<SiliconTrackerDigi_factory>({"ForwardMPGDEndcapHits"}, "ForwardMPGDEndcapRawHits", forwardMPGDendcap_digi_default_cfg));

// Convert raw digitized hits into hits with geometry info (ready for tracking)
TrackerHitReconstructionConfig forwardMPGDendcap_hit_reco_cfg;
forwardMPGDendcap_hit_reco_cfg.time_resolution = 10;
app->Add(new JChainFactoryGeneratorT<TrackerHitReconstruction_factory>(
{"ForwardMPGDEndcapRawHits"}, // Input data collection tags
"ForwardMPGDEndcapRecHits", // Output data tag
forwardMPGDendcap_hit_reco_cfg)); // Hit reco default config for factories
}
} // extern "C"
7 changes: 5 additions & 2 deletions src/global/tracking/tracking.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ void InitPlugin(JApplication *app) {
"SiEndcapTrackerRecHits",
"TOFBarrelRecHit", // TOF hits
"TOFEndcapRecHits",
"MPGDBarrelRecHits", // MPGD
"MPGDDIRCRecHits",
"MPGDBarrelRecHits", // MPGD
"MPGDDIRCRecHits"
"OuterMPGDBarrelRecHits",
"BackwardMPGDEndcapRecHits",
"ForwardMPGDEndcapRecHits",
"B0TrackerRecHits" // B0TRK
},

Expand Down
3 changes: 3 additions & 0 deletions src/services/io/podio/JEventProcessorPODIO.cc
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ JEventProcessorPODIO::JEventProcessorPODIO() {
// MPGD
"MPGDBarrelRecHits",
"MPGDDIRCRecHits",
"OuterMPGDBarrelRecHits",
"BackwardMPGDEndcapRecHits",
"ForwardMPGDEndcapRecHits",

// Forward & Far forward hits
"ForwardOffMTrackerRecHits",
Expand Down

0 comments on commit 1c4a579

Please sign in to comment.