From 00314a7dfdc138cc643286a7752d5985c00d2ae1 Mon Sep 17 00:00:00 2001 From: Mark Jones <jones@jlab.org> Date: Mon, 27 Apr 2020 07:51:27 -0400 Subject: [PATCH] Modified THcAergel and THcCherenkov to use Hodoscope OffsetTime In calculating the difference in time between the ADc pulse time and the Hodoscope starttime, the code adds the hodoscope OffsetTime. The OffSetTime corrects for the difference in the ADC and TDC reference times. --- src/THcAerogel.cxx | 6 ++++-- src/THcCherenkov.cxx | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx index 38be141..cca8b1e 100644 --- a/src/THcAerogel.cxx +++ b/src/THcAerogel.cxx @@ -728,6 +728,8 @@ Int_t THcAerogel::CoarseProcess( TClonesArray& ) //tracks { Double_t StartTime = 0.0; if( fglHod ) StartTime = fglHod->GetStartTime(); + Double_t OffsetTime = 0.0; + if( fglHod ) OffsetTime = fglHod->GetOffsetTime(); //cout << " starttime = " << StartTime << endl; // Loop over the elements in the TClonesArray for(Int_t ielem = 0; ielem < frPosAdcPulseInt->GetEntries(); ielem++) { @@ -738,7 +740,7 @@ Int_t THcAerogel::CoarseProcess( TClonesArray& ) //tracks Double_t pulseIntRaw = ((THcSignalHit*) frPosAdcPulseIntRaw->ConstructedAt(ielem))->GetData(); Double_t pulseAmp = ((THcSignalHit*) frPosAdcPulseAmp->ConstructedAt(ielem))->GetData(); Double_t pulseTime = ((THcSignalHit*) frPosAdcPulseTime->ConstructedAt(ielem))->GetData(); - Double_t adctdcdiffTime = StartTime-pulseTime; + Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime; //// Bool_t pulseTimeCut = adctdcdiffTime > fAdcTimeWindowMin && adctdcdiffTime < fAdcTimeWindowMax; Bool_t pulseTimeCut = adctdcdiffTime > fAdcPosTimeWindowMin[npmt] && adctdcdiffTime < fAdcPosTimeWindowMax[npmt]; @@ -771,7 +773,7 @@ Int_t THcAerogel::CoarseProcess( TClonesArray& ) //tracks Double_t pulseIntRaw = ((THcSignalHit*) frNegAdcPulseIntRaw->ConstructedAt(ielem))->GetData(); Double_t pulseAmp = ((THcSignalHit*) frNegAdcPulseAmp->ConstructedAt(ielem))->GetData(); Double_t pulseTime = ((THcSignalHit*) frNegAdcPulseTime->ConstructedAt(ielem))->GetData(); - Double_t adctdcdiffTime = StartTime-pulseTime; + Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime; //// Bool_t pulseTimeCut = adctdcdiffTime > fAdcTimeWindowMin && adctdcdiffTime < fAdcTimeWindowMax; Bool_t pulseTimeCut = adctdcdiffTime > fAdcNegTimeWindowMin[npmt] && adctdcdiffTime < fAdcNegTimeWindowMax[npmt]; fGoodNegAdcMult.at(npmt) += 1; diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx index 4dacafa..f95b339 100644 --- a/src/THcCherenkov.cxx +++ b/src/THcCherenkov.cxx @@ -472,7 +472,7 @@ Int_t THcCherenkov::CoarseProcess( TClonesArray& ) Double_t StartTime = 0.0; if( fglHod ) StartTime = fglHod->GetStartTime(); Double_t OffsetTime = 0.0; - // if( fglHod ) OffsetTime = fglHod->GetOffsetTime(); + if( fglHod ) OffsetTime = fglHod->GetOffsetTime(); for(Int_t ipmt = 0; ipmt < fNelem; ipmt++) { fAdcPulseAmpTest[ipmt] = -1000.; fAdcGoodElem[ipmt]=-1; @@ -483,7 +483,7 @@ Int_t THcCherenkov::CoarseProcess( TClonesArray& ) Double_t pulseTime = ((THcSignalHit*) frAdcPulseTime->ConstructedAt(ielem))->GetData(); Double_t pulseAmp = ((THcSignalHit*) frAdcPulseAmp->ConstructedAt(ielem))->GetData(); Bool_t errorFlag = ((THcSignalHit*) fAdcErrorFlag->ConstructedAt(ielem))->GetData(); - Double_t adctdcdiffTime = StartTime-pulseTime-OffsetTime; + Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime; Bool_t pulseTimeCut = adctdcdiffTime > fAdcTimeWindowMin[npmt] && adctdcdiffTime < fAdcTimeWindowMax[npmt]; fGoodAdcMult.at(npmt) += 1; if (!errorFlag) { @@ -504,7 +504,7 @@ Int_t THcCherenkov::CoarseProcess( TClonesArray& ) Double_t pulseIntRaw = ((THcSignalHit*) frAdcPulseIntRaw->ConstructedAt(ielem))->GetData(); Double_t pulseAmp = ((THcSignalHit*) frAdcPulseAmp->ConstructedAt(ielem))->GetData(); Double_t pulseTime = ((THcSignalHit*) frAdcPulseTime->ConstructedAt(ielem))->GetData(); - Double_t adctdcdiffTime = StartTime-pulseTime-OffsetTime; + Double_t adctdcdiffTime = StartTime-pulseTime+OffsetTime; fGoodAdcPed.at(npmt) = pulsePed; fGoodAdcHitUsed.at(npmt) = ielem+1; fGoodAdcPulseInt.at(npmt) = pulseInt; -- GitLab