Skip to content

Commit 0c1acbc

Browse files
Fix saved radius information when using 3D matching
1 parent 626a7f2 commit 0c1acbc

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

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

0 commit comments

Comments
 (0)