From dee3e528209e92aa89613ebee9bbba34bdcfc55d Mon Sep 17 00:00:00 2001 From: Yero1990 <cyero002@fiu.edu> Date: Thu, 28 Jun 2018 17:56:31 -0400 Subject: [PATCH] added multiplicity variable to THcShowerPlane.cxx/.h, and fixed multiplicity defined in THcCherenkov.cxx (#372) --- src/THcCherenkov.cxx | 7 ++++++- src/THcShowerPlane.cxx | 21 +++++++++++++++++++-- src/THcShowerPlane.h | 3 +++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx index 9bfe107..b1042b4 100644 --- a/src/THcCherenkov.cxx +++ b/src/THcCherenkov.cxx @@ -450,11 +450,16 @@ Int_t THcCherenkov::CoarseProcess( TClonesArray& ) Bool_t errorFlag = ((THcSignalHit*) fAdcErrorFlag->ConstructedAt(ielem))->GetData(); Bool_t pulseTimeCut = adctdcdiffTime > fAdcTimeWindowMin[npmt] && adctdcdiffTime < fAdcTimeWindowMax[npmt]; + + if (!errorFlag) + { + fGoodAdcMult.at(npmt) += 1; + } + // By default, the last hit within the timing cut will be considered "good" if (!errorFlag && pulseTimeCut) { fGoodAdcPed.at(npmt) = pulsePed; fGoodAdcHitUsed.at(npmt) = ielem+1; - fGoodAdcMult.at(npmt) =frAdcPulseInt->GetEntries() ; fGoodAdcPulseInt.at(npmt) = pulseInt; fGoodAdcPulseIntRaw.at(npmt) = pulseIntRaw; fGoodAdcPulseAmp.at(npmt) = pulseAmp; diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx index 568a7f3..972f55b 100644 --- a/src/THcShowerPlane.cxx +++ b/src/THcShowerPlane.cxx @@ -267,6 +267,9 @@ Int_t THcShowerPlane::ReadDatabase( const TDatime& date ) fGoodNegAdcPulseAmp = vector<Double_t> (fNelem, 0.0); fGoodNegAdcPulseTime = vector<Double_t> (fNelem, 0.0); fGoodNegAdcTdcDiffTime = vector<Double_t> (fNelem, 0.0); + + fGoodPosAdcMult = vector<Double_t> (fNelem, 0.0); + fGoodNegAdcMult = vector<Double_t> (fNelem, 0.0); // Energy depositions per block (not corrected for track coordinate) @@ -390,8 +393,9 @@ Int_t THcShowerPlane::DefineVariables( EMode mode ) {"goodNegAdcPulseInt", "Good Negative ADC integrals", "fGoodNegAdcPulseInt"}, {"goodNegAdcPulseAmp", "Good Negative ADC amplitudes", "fGoodNegAdcPulseAmp"}, {"goodNegAdcPulseTime","Good Negative ADC times", "fGoodNegAdcPulseTime"}, - {"goodNegAdcTdcDiffTime","Good Negative Hodo Start time-ADC times", "fGoodNegAdcTdcDiffTime"}, - + {"goodNegAdcTdcDiffTime","Good Negative Hodo Start time-ADC times", "fGoodNegAdcTdcDiffTime"}, + {"goodPosAdcMult", "Good Positive ADC Multiplicity", "fGoodPosAdcMult"}, + {"goodNegAdcMult", "Good Negative ADC Multiplicity", "fGoodNegAdcMult"}, {"epos", "Energy Depositions from Positive Side PMTs", "fEpos"}, {"eneg", "Energy Depositions from Negative Side PMTs", "fEneg"}, {"emean", "Mean Energy Depositions", "fEmean"}, @@ -443,6 +447,7 @@ void THcShowerPlane::Clear( Option_t* ) fGoodPosAdcPulseAmp.at(ielem) = 0.0; fGoodPosAdcPulseTime.at(ielem) = kBig; fGoodPosAdcTdcDiffTime.at(ielem) = kBig; + fGoodPosAdcMult.at(ielem) = 0.0; fEpos.at(ielem) = 0.0; fNumGoodPosAdcHits.at(ielem) = 0.0; } @@ -454,6 +459,7 @@ void THcShowerPlane::Clear( Option_t* ) fGoodNegAdcPulseAmp.at(ielem) = 0.0; fGoodNegAdcPulseTime.at(ielem) = kBig; fGoodNegAdcTdcDiffTime.at(ielem) = kBig; + fGoodNegAdcMult.at(ielem) = 0.0; fEneg.at(ielem) = 0.0; fNumGoodNegAdcHits.at(ielem) = 0.0; } @@ -754,6 +760,11 @@ void THcShowerPlane::FillADC_DynamicPedestal() Double_t threshold = ((THcSignalHit*) frNegAdcThreshold->ConstructedAt(ielem))->GetData(); Bool_t errorflag = ((THcSignalHit*) frNegAdcErrorFlag->ConstructedAt(ielem))->GetData(); Bool_t pulseTimeCut = (adctdcdiffTime > NegAdcTimeWindowMin[nblock]) && (adctdcdiffTime < NegAdcTimeWindowMax[nblock]); + + if (!errorflag) + { + fGoodNegAdcMult.at(npad) += 1; + } if (!errorflag && pulseTimeCut) { fGoodNegAdcPulseIntRaw.at(npad) =pulseIntRaw; @@ -789,6 +800,12 @@ void THcShowerPlane::FillADC_DynamicPedestal() Double_t adctdcdiffTime = StartTime-pulseTime; Bool_t errorflag = ((THcSignalHit*) frPosAdcErrorFlag->ConstructedAt(ielem))->GetData(); Bool_t pulseTimeCut = (adctdcdiffTime > PosAdcTimeWindowMin[nblock]) && (adctdcdiffTime < PosAdcTimeWindowMax[nblock]); + + if (!errorflag) + { + fGoodPosAdcMult.at(npad) += 1; + } + if (!errorflag && pulseTimeCut) { fGoodPosAdcPulseIntRaw.at(npad) = pulseIntRaw; diff --git a/src/THcShowerPlane.h b/src/THcShowerPlane.h index 29a06e6..e4b1bb1 100644 --- a/src/THcShowerPlane.h +++ b/src/THcShowerPlane.h @@ -164,6 +164,9 @@ protected: vector<Double_t> fGoodPosAdcPulseIntRaw; vector<Double_t> fGoodNegAdcPulseIntRaw; + + vector<Double_t> fGoodPosAdcMult; + vector<Double_t> fGoodNegAdcMult; vector<Double_t> fEpos; // [fNelem] energy depositions seen by positive PMTs -- GitLab