From f89ecd3f304a11aec7382d30a0a7b8f34f3690e0 Mon Sep 17 00:00:00 2001 From: "Stephen A. Wood" <saw@jlab.org> Date: Mon, 27 Nov 2017 14:44:39 -0500 Subject: [PATCH] Add a time ofset to Aerogel and Chernekov FADC pulse times --- src/THcAerogel.cxx | 4 +++- src/THcAerogel.h | 1 + src/THcCherenkov.cxx | 4 +++- src/THcCherenkov.h | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx index 026ff80..99bb5f5 100644 --- a/src/THcAerogel.cxx +++ b/src/THcAerogel.cxx @@ -305,6 +305,7 @@ Int_t THcAerogel::ReadDatabase( const TDatime& date ) {"aero_npe_thresh", &fNpeThresh, kDouble}, {"aero_adcTimeWindowMin", &fAdcTimeWindowMin, kDouble}, {"aero_adcTimeWindowMax", &fAdcTimeWindowMax, kDouble}, + {"aero_adc_tdc_offset", &fAdcTdcOffset, kDouble, 0, 1}, {"aero_debug_adc", &fDebugAdc, kInt, 0, 1}, {"aero_six_gev_data", &fSixGevData, kInt, 0, 1}, {"aero_pos_gain", fPosGain, kDouble, (UInt_t) fNelem}, @@ -322,6 +323,7 @@ Int_t THcAerogel::ReadDatabase( const TDatime& date ) fSixGevData = 0; // Set 6 GeV data parameter to false unless set in parameter file fDebugAdc = 0; // Set ADC debug parameter to false unless set in parameter file + fAdcTdcOffset = 0.0; gHcParms->LoadParmValues((DBRequest*)&list, prefix); @@ -600,7 +602,7 @@ Int_t THcAerogel::Decode( const THaEvData& evdata ) ((THcSignalHit*) frPosAdcPulseAmp->ConstructedAt(nrPosAdcHits))->Set(npmt, rawPosAdcHit.GetPulseAmp(thit)); ((THcSignalHit*) frPosAdcPulseTimeRaw->ConstructedAt(nrPosAdcHits))->Set(npmt, rawPosAdcHit.GetPulseTimeRaw(thit)); - ((THcSignalHit*) frPosAdcPulseTime->ConstructedAt(nrPosAdcHits))->Set(npmt, rawPosAdcHit.GetPulseTime(thit)); + ((THcSignalHit*) frPosAdcPulseTime->ConstructedAt(nrPosAdcHits))->Set(npmt, rawPosAdcHit.GetPulseTime(thit)+fAdcTdcOffset); if (rawPosAdcHit.GetPulseAmpRaw(thit) > 0) ((THcSignalHit*) fPosAdcErrorFlag->ConstructedAt(nrPosAdcHits))->Set(npmt, 0); if (rawPosAdcHit.GetPulseAmpRaw(thit) <= 0) ((THcSignalHit*) fPosAdcErrorFlag->ConstructedAt(nrPosAdcHits))->Set(npmt, 1); diff --git a/src/THcAerogel.h b/src/THcAerogel.h index 59794a9..99ec464 100644 --- a/src/THcAerogel.h +++ b/src/THcAerogel.h @@ -62,6 +62,7 @@ class THcAerogel : public THaNonTrackingDetector, public THcHitList { Double_t fNpeThresh; Double_t fAdcTimeWindowMin; Double_t fAdcTimeWindowMax; + Double_t fAdcTdcOffset; Double_t *fRegionValue; // Counting variables Int_t fTotNumAdcHits; diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx index 40bc534..4e6ecfd 100644 --- a/src/THcCherenkov.cxx +++ b/src/THcCherenkov.cxx @@ -205,12 +205,14 @@ Int_t THcCherenkov::ReadDatabase( const TDatime& date ) {"_debug_adc", &fDebugAdc, kInt, 0, 1}, {"_adcTimeWindowMin", &fAdcTimeWindowMin, kDouble}, {"_adcTimeWindowMax", &fAdcTimeWindowMax, kDouble}, + {"_adc_tdc_offset", &fAdcTdcOffset, kDouble, 0, 1}, {"_num_regions", &fNRegions, kInt}, {"_region", &fRegionValue[0], kDouble, (UInt_t) fRegionsValueMax}, {0} }; fDebugAdc = 0; // Set ADC debug parameter to false unless set in parameter file + fAdcTdcOffset = 0.0; gHcParms->LoadParmValues((DBRequest*)&list, prefix.c_str()); @@ -372,7 +374,7 @@ Int_t THcCherenkov::Decode( const THaEvData& evdata ) ((THcSignalHit*) frAdcPulseAmp->ConstructedAt(nrAdcHits))->Set(npmt, rawAdcHit.GetPulseAmp(thit)); ((THcSignalHit*) frAdcPulseTimeRaw->ConstructedAt(nrAdcHits))->Set(npmt, rawAdcHit.GetPulseTimeRaw(thit)); - ((THcSignalHit*) frAdcPulseTime->ConstructedAt(nrAdcHits))->Set(npmt, rawAdcHit.GetPulseTime(thit)); + ((THcSignalHit*) frAdcPulseTime->ConstructedAt(nrAdcHits))->Set(npmt, rawAdcHit.GetPulseTime(thit)+fAdcTdcOffset); if (rawAdcHit.GetPulseAmpRaw(thit) > 0) ((THcSignalHit*) fAdcErrorFlag->ConstructedAt(nrAdcHits))->Set(npmt, 0); if (rawAdcHit.GetPulseAmpRaw(thit) <= 0) ((THcSignalHit*) fAdcErrorFlag->ConstructedAt(nrAdcHits))->Set(npmt, 1); diff --git a/src/THcCherenkov.h b/src/THcCherenkov.h index 110a64f..86b6973 100644 --- a/src/THcCherenkov.h +++ b/src/THcCherenkov.h @@ -82,6 +82,7 @@ class THcCherenkov : public THaNonTrackingDetector, public THcHitList { Double_t fNpeThresh; Double_t fAdcTimeWindowMin; Double_t fAdcTimeWindowMax; + Double_t fAdcTdcOffset; Double_t* fRegionValue; // 6 Gev pedestal variables -- GitLab