@@ -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