Skip to content

Commit 6a3c48c

Browse files
Merge branch 'develop' into feature/munjung-dnnsp_cfg
2 parents 0b6b982 + 14266b0 commit 6a3c48c

10 files changed

Lines changed: 82 additions & 6 deletions

File tree

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
## Description
22
Please provide a detailed description of the changes this pull request introduces.
33

4+
$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$
5+
6+
$${\color{red}\bf{\textrm{IMPORTANT UPDATE June 22nd 2025:}}}$$ If you are making a PR which is intended as a patch for the CURRENT production (which started in Spring 2025), you must make two PRs: one for develop and one for the production/v10_06_00 branch.
7+
8+
$${\color{red}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}$$
9+
410
## Checklist
511
- [ ] Added at least 1 label from [available labels](https://github.com/SBNSoftware/sbndcode/issues/labels?sort=name-asc).
612
- [ ] Assigned at least 1 reviewer under `Reviewers`,
713
- [ ] Assigned all contributers including yourself under `Assignees`
814
- [ ] Linked any relevant issues under `Developement`
915
- [ ] Does this PR affect CAF data format? If so, please assign a CAF maintainer ([PetrilloAtWork](https://github.com/PetrilloAtWork) or [JosiePaton](https://github.com/JosiePaton)) as additional reviewer.
1016
- [ ] Does this affect the standard workflow?
17+
- [ ] Is this PR a patch for the ongoing production? If so, separate PR must also be made for production/v10_06_00 branch!
1118

1219
### Relevant PR links (optional)
1320
Does this PR require merging another PR in a different repository (such as sbnanobj/sbnobj etc.)?

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
1717

18-
set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.06.00)
18+
set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.06.00.02)
1919
find_package(cetmodules REQUIRED)
2020
project(sbndcode LANGUAGES CXX)
2121

sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_data_sce.fcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ physics.producers.cafmaker.TrackChi2PidLabel: "pandoraSCEPidData"
1111
physics.producers.cafmaker.CRTSpacePointMatchLabel: "crtspacepointmatchingSCE"
1212
physics.producers.cafmaker.SBNDCRTTrackMatchLabel: "crttrackmatchingSCE"
1313
physics.producers.cafmaker.OpT0Label: "opt0finderSCE"
14+
physics.producers.cafmaker.TPCPMTBarycenterMatchLabel: "tpcpmtbarycentermatchingSCE"
1415
physics.producers.cafmaker.CVNLabel: "cvnSCE"
1516

1617
physics.producers.cnnid.ClusterModuleLabel: "pandoraSCE"

sbndcode/JobConfigurations/standard/caf/cafmakerjob_sbnd_sce.fcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ physics.producers.cafmaker.SBNDCRTTrackMatchLabel: "crttrackmatchingSCE"
1313
physics.producers.cafmaker.CRTHitMatchLabel: "pandoraSCETrackCRTHit"
1414
physics.producers.cafmaker.CRTTrackMatchLabel: "pandoraSCETrackCRTTrack"
1515
physics.producers.cafmaker.OpT0Label: "opt0finderSCE"
16+
physics.producers.cafmaker.TPCPMTBarycenterMatchLabel: "tpcpmtbarycentermatchingSCE"
1617
physics.producers.cafmaker.CVNLabel: "cvnSCE"
1718

1819
physics.producers.cnnid.ClusterModuleLabel: "pandoraSCE"

sbndcode/JobConfigurations/standard/reco/config/workflow_reco2.fcl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ sbnd_reco2_producers:{
3434
pandoraCalo: @local::sbnd_gnewcalomc
3535
pandoraPid: @local::sbnd_chi2pid
3636

37+
3738
pandoraSCECalo: @local::sbnd_gnewcalomc
3839
pandoraSCEPid: @local::sbnd_chi2pid
3940

@@ -49,6 +50,7 @@ sbnd_reco2_producers:{
4950
pandoraSCEShower: @local::sbnd_sce_incremental_pandoraModularShowerCreation
5051
pandoraSCEShowerSBN: @local::sbnd_sce_sbn_pandoraModularShowerCreation
5152

53+
5254
### CRT Veto
5355
crtveto: @local::crtvetoproducer_sbnd
5456

@@ -70,6 +72,7 @@ sbnd_reco2_producers:{
7072
opt0finder: @local::sbnd_opt0_finder_one_to_many
7173
opt0finderSCE: @local::sbnd_opt0_finder_one_to_many
7274
tpcpmtbarycentermatching: @local::TPCPMTBarycenterMatchProducer
75+
tpcpmtbarycentermatchingSCE: @local::TPCPMTBarycenterMatchProducerSCE
7376

7477
### Uncalibrated calorimetry producer for calibration caloskimmer
7578
caloskimCalorimetry: @local::caloskim_calorimetry
@@ -110,6 +113,7 @@ sbnd_reco2_producer_sequence: [
110113
, fmatcharaSCE
111114
, fmatchoparaSCE
112115
, opt0finderSCE
116+
, tpcpmtbarycentermatchingSCE
113117
, cvn
114118
, cvnSCE
115119
]

sbndcode/JobConfigurations/standard/reco/reco2_data.fcl

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,21 @@ physics.producers:
2424
opt0finder: @local::sbnd_opt0_finder_data
2525
opt0finderSCE: @local::sbnd_opt0_finder_data
2626
tpcpmtbarycentermatching: @local::TPCPMTBarycenterMatchProducer
27+
tpcpmtbarycentermatchingSCE: @local::TPCPMTBarycenterMatchProducerSCE
28+
29+
### shower reco for data
30+
pandoraShower: @local::sbnd_incremental_pandoraModularShowerCreationData
31+
pandoraShowerSBN: @local::sbnd_sbn_pandoraModularShowerCreationData
32+
### SCE-aware shower reco for data
33+
pandoraSCEShower: @local::sbnd_sce_incremental_pandoraModularShowerCreationData
34+
pandoraSCEShowerSBN: @local::sbnd_sce_sbn_pandoraModularShowerCreationData
35+
2736
}
2837

2938
physics.reco2: [ pandora, pandoraTrack, pandoraShower, pandoraShowerSBN, pandoraCaloData, pandoraPidData,
30-
cvn, opt0finder, crtveto, crtspacepointmatching, crttrackmatching, tpcpmtbarycentermatching,
39+
cvn, opt0finder, crtveto, crtspacepointmatching, crttrackmatching, tpcpmtbarycentermatching,
3140
pandoraSCE, pandoraSCETrack, pandoraSCEShower, pandoraSCEShowerSBN, pandoraSCECaloData, pandoraSCEPidData,
32-
cvnSCE, opt0finderSCE, crtspacepointmatchingSCE, crttrackmatchingSCE,
41+
cvnSCE, opt0finderSCE, tpcpmtbarycentermatchingSCE, crtspacepointmatchingSCE, crttrackmatchingSCE,
3342
caloskimCalorimetry]
3443

3544
physics.analyzers.caloskim.G4producer: ""
@@ -48,6 +57,10 @@ physics.producers.opt0finderSCE.SliceProducer: "pandoraSCE"
4857
physics.producers.opt0finderSCE.TrackProducer: "pandoraSCETrack"
4958
physics.producers.opt0finderSCE.ShowerProducer: "pandoraSCEShowerSBN"
5059
physics.producers.opt0finderSCE.CaloProducer: "pandoraSCECaloData"
60+
physics.producers.pandoraSCEShower.PFParticleLabel: "pandoraSCE"
61+
physics.producers.pandoraSCEShowerSBN.PFParticleLabel: "pandoraSCE"
62+
63+
5164

5265
physics.caloskimana: [ caloskim, crtana ]
5366
physics.end_paths: [stream1, caloskimana ]

sbndcode/SBNDPandora/pandoramodules_sbnd.fcl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ sbnd_incremental_pandoraModularShowerCreation.ShowerFinderTools[8].ShowerDirecti
133133
sbnd_incremental_pandoraModularShowerCreation.ShowerFinderTools[9].FirstDirectionInputLabel: "TrajDirection"
134134
sbnd_incremental_pandoraModularShowerCreation.ShowerFinderTools[9].SecondDirectionInputLabel: "ShowerDirection"
135135

136+
sbnd_incremental_pandoraModularShowerCreationData: @local::sbnd_incremental_pandoraModularShowerCreation
137+
sbnd_incremental_pandoraModularShowerCreationData.ShowerFinderTools[3].CalorimetryAlg: @local::sbnd_calorimetryalgdata
138+
sbnd_incremental_pandoraModularShowerCreationData.ShowerFinderTools[4].CalorimetryAlg: @local::sbnd_calorimetryalgdata
139+
sbnd_incremental_pandoraModularShowerCreationData.ShowerFinderTools[7].CalorimetryAlg: @local::sbnd_calorimetryalgdata
140+
136141
sbnd_cheat_pandoraModularShowerCreation.ShowerFinderTools: [
137142
@local::sbnd_showerstartpositioncheater,
138143
@local::sbnd_showerdirectioncheater,
@@ -156,6 +161,11 @@ sbnd_sce_incremental_pandoraModularShowerCreation: @local::sbnd_incremental_pand
156161
sbnd_sce_3dTraj_pandoraModularShowerCreation.ShowerFinderTools[7]: @local::sbnd_sce_showertrajpointdedx
157162
sbnd_sce_incremental_pandoraModularShowerCreation.ShowerFinderTools[7]: @local::sbnd_sce_showertrajpointdedx
158163

164+
sbnd_sce_incremental_pandoraModularShowerCreationData: @local::sbnd_sce_incremental_pandoraModularShowerCreation
165+
sbnd_sce_incremental_pandoraModularShowerCreationData.ShowerFinderTools[3].CalorimetryAlg: @local::sbnd_calorimetryalgdata
166+
sbnd_sce_incremental_pandoraModularShowerCreationData.ShowerFinderTools[4].CalorimetryAlg: @local::sbnd_calorimetryalgdata
167+
sbnd_sce_incremental_pandoraModularShowerCreationData.ShowerFinderTools[7].CalorimetryAlg: @local::sbnd_calorimetryalgdata
168+
159169
# SBND config of the sbn common tool set
160170
sbnd_sbn_showertrajpointdedx: @local::sbnd_showertrajpointdedx
161171
sbnd_sce_sbn_showertrajpointdedx: @local::sbnd_sce_showertrajpointdedx
@@ -169,4 +179,15 @@ sbnd_sce_sbn_pandoraModularShowerCreation: @local::sbnd_3dTraj_pandoraModularSh
169179
sbnd_sbn_pandoraModularShowerCreation.ShowerFinderTools[7]: @local::sbnd_sbn_showertrajpointdedx
170180
sbnd_sce_sbn_pandoraModularShowerCreation.ShowerFinderTools[7]: @local::sbnd_sce_sbn_showertrajpointdedx
171181

182+
sbnd_sbn_pandoraModularShowerCreationData: @local::sbnd_sbn_pandoraModularShowerCreation
183+
sbnd_sbn_pandoraModularShowerCreationData.ShowerFinderTools[3].CalorimetryAlg: @local::sbnd_calorimetryalgdata
184+
sbnd_sbn_pandoraModularShowerCreationData.ShowerFinderTools[5].CalorimetryAlg: @local::sbnd_calorimetryalgdata
185+
sbnd_sbn_pandoraModularShowerCreationData.ShowerFinderTools[7].CalorimetryAlg: @local::sbnd_calorimetryalgdata
186+
187+
sbnd_sce_sbn_pandoraModularShowerCreationData: @local::sbnd_sce_sbn_pandoraModularShowerCreation
188+
sbnd_sce_sbn_pandoraModularShowerCreationData.ShowerFinderTools[3].CalorimetryAlg: @local::sbnd_calorimetryalgdata
189+
sbnd_sce_sbn_pandoraModularShowerCreationData.ShowerFinderTools[5].CalorimetryAlg: @local::sbnd_calorimetryalgdata
190+
sbnd_sce_sbn_pandoraModularShowerCreationData.ShowerFinderTools[7].CalorimetryAlg: @local::sbnd_calorimetryalgdata
191+
192+
172193
END_PROLOG

sbndcode/TPCPMTBarycenterMatching/TPCPMTBarycenterMatching_module.cc

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,11 @@ class TPCPMTBarycenterMatchProducer : public art::EDProducer {
239239
double fFlashWidthY; ///< Weighted standard deviation of Y postion of hit PMTs (cm)
240240
double fFlashWidthZ; ///< Weighted standard deviation of Z postion of hit PMTs (cm)
241241
double fDeltaT; ///< | Matched flash time - charge T0 | when available (us)
242+
double fDeltaX; ///< | Matched flash X center - charge X center | (cm)
242243
double fDeltaY; ///< | Matched flash Y center - charge Y center | (cm)
243244
double fDeltaZ; ///< | Matched flash Z center - charge Z center | (cm)
244245
double fRadius; ///< Hypotenuse of DeltaY and DeltaZ *parameter minimized by matching* (cm)
246+
double fDeltaX_Trigger; ///< | Triggering flash X center - charge X center | (cm)
245247
double fDeltaY_Trigger; ///< | Triggering flash Y center - charge Y center | (cm)
246248
double fDeltaZ_Trigger; ///< | Triggering flash Z center - charge Z center | (cm)
247249
double fRadius_Trigger; ///< Hypotenuse of DeltaY_Trigger and DeltaZ_Trigger (cm)
@@ -303,9 +305,11 @@ TPCPMTBarycenterMatchProducer::TPCPMTBarycenterMatchProducer(fhicl::ParameterSet
303305

304306
//Match Quality Info
305307
fMatchTree->Branch("deltaT", &fDeltaT, "deltaT/d" );
308+
fMatchTree->Branch("deltaX", &fDeltaX, "deltaX/d" );
306309
fMatchTree->Branch("deltaY", &fDeltaY, "deltaY/d" );
307310
fMatchTree->Branch("deltaZ", &fDeltaZ, "deltaZ/d" );
308311
fMatchTree->Branch("radius", &fRadius, "radius/d" );
312+
fMatchTree->Branch("deltaX_Trigger", &fDeltaX_Trigger, "deltaX_Trigger/d" );
309313
fMatchTree->Branch("deltaZ_Trigger", &fDeltaZ_Trigger, "deltaZ_Trigger/d" );
310314
fMatchTree->Branch("deltaY_Trigger", &fDeltaY_Trigger, "deltaY_Trigger/d" );
311315
fMatchTree->Branch("radius_Trigger", &fRadius_Trigger, "dadius_Trigger/d" );
@@ -514,9 +518,11 @@ void TPCPMTBarycenterMatchProducer::InitializeSlice() {
514518
fFlashWidthY = -9999.;
515519
fFlashWidthZ = -9999.;
516520
fDeltaT = -9999.;
521+
fDeltaX = -9999.;
517522
fDeltaY = -9999.;
518523
fDeltaZ = -9999.;
519524
fRadius = -9999.;
525+
fDeltaX_Trigger = -9999.;
520526
fDeltaZ_Trigger = -9999.;
521527
fDeltaY_Trigger = -9999.;
522528
fRadius_Trigger = -9999.;
@@ -532,8 +538,14 @@ void TPCPMTBarycenterMatchProducer::updateChargeVars(double sumCharge, TVector3
532538
fChargeWidthZ = std::sqrt( sumPosSqr[2]/sumCharge - (sumPos[2]/sumCharge)*(sumPos[2]/sumCharge) );
533539
fChargeTotal = sumCharge;
534540
if ( triggerFlashCenter[1] != -9999. ) {
535-
fDeltaY_Trigger = abs(triggerFlashCenter[0] - fChargeCenterY);
536-
fDeltaZ_Trigger = abs(triggerFlashCenter[1] - fChargeCenterZ);
541+
fDeltaX_Trigger = abs(triggerFlashCenter[0] - fChargeCenterX);
542+
fDeltaY_Trigger = abs(triggerFlashCenter[1] - fChargeCenterY);
543+
fDeltaZ_Trigger = abs(triggerFlashCenter[2] - fChargeCenterZ);
544+
if(fDo3DMatching)
545+
{
546+
fRadius_Trigger = std::hypot(fDeltaX_Trigger, fDeltaY_Trigger, fDeltaZ_Trigger);
547+
}
548+
else
537549
fRadius_Trigger = std::hypot(fDeltaY_Trigger, fDeltaZ_Trigger);
538550
}
539551
} //End updateChargeVars()
@@ -557,6 +569,12 @@ void TPCPMTBarycenterMatchProducer::updateFlashVars(art::Ptr<recob::OpFlash> fla
557569
if ( fChargeT0 != -9999 ) fDeltaT = abs(matchedTime - fChargeT0);
558570
fDeltaY = abs(matchedYCenter - fChargeCenterY);
559571
fDeltaZ = abs(matchedZCenter - fChargeCenterZ);
572+
if( fDo3DMatching )
573+
{
574+
fDeltaX = abs(matchedXCenter - fChargeCenterX);
575+
fRadius = std::hypot(fDeltaX, fDeltaY, fDeltaZ);
576+
}
577+
else
560578
fRadius = std::hypot(fDeltaY, fDeltaZ);
561579
} //End updateFlashVars()
562580

sbndcode/TPCPMTBarycenterMatching/job/sbnd_tpcpmt3dbarycentermatching_config.fcl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,15 @@ TPCPMTBarycenterMatchProducer:
1111
module_type: "TPCPMTBarycenterMatchProducer"
1212
}
1313

14+
TPCPMTBarycenterMatchProducerSCE:
15+
{
16+
OpFlashesModuleLabel: ["opflashtpc0", "opflashtpc1"]
17+
PandoraLabel: "pandoraSCE"
18+
CollectionOnly: true
19+
Verbose: false
20+
FillMatchTree: false
21+
Do3DMatching: true
22+
module_type: "TPCPMTBarycenterMatchProducer"
23+
}
24+
1425
END_PROLOG

ups/product_deps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ product version qual flags <table_format=2>
256256
sbncode v10_06_00_01 -
257257
cetmodules v3_24_01 - only_for_build
258258
sbnd_data v01_31_00 -
259-
sbndutil v10_06_00 - optional
259+
sbndutil v10_06_00_02 - optional
260260
fhiclpy v4_03_05 -
261261
end_product_list
262262
####################################

0 commit comments

Comments
 (0)