Skip to content
Snippets Groups Projects
  1. Jan 30, 2019
  2. Jan 28, 2019
  3. Jan 21, 2019
  4. Jan 20, 2019
  5. Jan 07, 2019
    • Mark Jones's avatar
      Fix to THcScalerEvtHandler.cxx · de986a69
      Mark Jones authored
      In THcScalerEvtHandler::AnalyzeBuffer there is a loop over
      the scalers to keep track of scalers with a cut on the current.
      There was a mistake in using scal_prev_read[nscal-1] instead of
      dvars_prev_read[ivar] in the IF statement.
      de986a69
    • Ole Hansen's avatar
      THcHodoscope: clear fGoodFlags for each event. Add bugchecks. · 178fd5d8
      Ole Hansen authored
      fGoodFlags holds event-by-event data, but was never cleared,
      eventually growing to several hundred megabytes in a long analysis.
      The effciency calculations in THcHodoEff that rely on the contents
      of fGoodFlags have been most certainly garbage up to now.
      
      I've replaced the event-by-event ClearEvent() method with the
      standard virtual function Clear() and have added fGoodFlags.clear()
      there.
      
      Also, I've added assertions to the hodoscope code to check
      the validity of some non-obvious array indices. Nothing triggers;
      the index logic appears sound (despite its appearance ...)
      178fd5d8
    • Ole Hansen's avatar
      Correct a large number of memory leaks reported by valgrind · e1f461e0
      Ole Hansen authored
      This includes a particularly nasty leak in the shower code that caused
      several hundred bytes to be lost _per event_.
      e1f461e0
  6. Jan 06, 2019
  7. Dec 20, 2018
  8. Dec 19, 2018
  9. Dec 17, 2018
  10. Dec 15, 2018
  11. Dec 12, 2018
  12. Dec 11, 2018
  13. Dec 10, 2018
  14. Nov 28, 2018
  15. Nov 20, 2018
    • Mark Jones's avatar
      Modify THcAerogel.cxx · 75125f22
      Mark Jones authored
      Modify THcAerogel::CoarseProcess
      
      
      
      For each PMT, fGoodPosAdcMult.at(npmt) was being set to the total number of positive PMTs with an
      adc hit and fGoodNegAdcMult.at(npmt) was being set to the total number of negative PMTs with an
      adc hit.
      
      To be like the other dectectors make fGoodPosAdcMult.at(npmt)
      and  GoodNegAdcMult.at(npmt) be the number of adc hits for that particular
      PMT.
      75125f22
  16. Nov 19, 2018
    • Whitney Armstrong's avatar
      Added Helicity to linkdef · 89c5ff5c
      Whitney Armstrong authored
      89c5ff5c
    • Stephen A. Wood's avatar
      Change threshold for helicity signals. · eeae921b
      Stephen A. Wood authored
        For KaonLT, the kPulsePedestal values being returned for
        the helicity signal channels was 0 and 16380.  For SIDIS, the
        values for off and on are ~2000 and ~1400.  Made the default
        threshold 8000 instead of 1000.  Also added an optional parameter,
        "helicity_fadcthreshold" so that this threshold can be changed
        at run time.
      eeae921b
  17. Nov 09, 2018
    • Stephen A. Wood's avatar
      Determine the beam helicity for each event. · 47c908bc
      Stephen A. Wood authored
      Undoes delayed helicity reporting by learning seed of pseudo random
      sequence used by injector helicity electronics.
      
      This detector class should be added to the Trigger apparatus.
      Delivers the global variables "hel" and "helrep".  "helrep" is the
      reported delayed helicity and "hel" is the actual helicity.  + and -
      helicity are reported as +1 and -1.  If the event is during a MPS
      settling period, then the helicity variables are zero.  For the first
      few seconds of a run, the "hel" variable will be zero as the pseudo
      random sequence seed has not been determined.  (If the trigger class
      is "T" and this detector is called "helicity", then these variables
      will be T.helicity.hel and T.helicity.helrep.
      
      By default, it is assumed that there is delayed reporting of 8 cycles
      and that Quartets are used.  If delayed helicity reporting is not in
      use, then set the parameter "helicity_delay" to zero.
      47c908bc
    • Stephen A. Wood's avatar
      Extract signals needed for Helicity decoding. · 7039ef27
      Stephen A. Wood authored
        These signals are plus and minus signals, the MPS indicator, and
        the start of quartet indicator.  The time from the TI (with overflow
        detection) is also retrieved as this is needed when dealing with
        delayed helicity reporting.
      
        The helicity signals are in FADC250 channels.  The roc/slot/channel
        assignments for these signals are currently hardwired into the code.
      7039ef27
  18. Nov 06, 2018
    • Mark Jones's avatar
      Modified THcShowerArray · f1d30001
      Mark Jones authored
      Add the tree variable goodAdcMult which is the number of raw ADC pulses
        in an ADC channel per event for a given shower array block.
      f1d30001
  19. Nov 01, 2018
    • Mark Jones's avatar
      Fix problems in THcTrigDet.cxx · 4a381a1d
      Mark Jones authored
      1) Read-in of the trigger reference time cuts was in ReadDatabase method
        when it should be in Init method. Moved to the Init method before
        call to InitHitList where the reference cuts are used.
      
      2) Modified the selection of the good TDC hit for filling the TdcTimeRaw
      and TdcTime. Previosly used the TdcTime but not picks the TDC hit with the TdcTimeRaw that is within
      the time min and max windows that can be set by parameters. Default windows are min=0 and max=10000.
      If two hits in the time window then selects last hit within window.
      If not hits within time window then TdcTimeRaw=0 and TdcTime=0.
      The TdcMultiplicity is always filled.
      4a381a1d
    • Mark Jones's avatar
      Fix problems in THcTrigDet.cxx · 24235e0a
      Mark Jones authored
      1) Read-in of the trigger reference time cuts was in ReadDatabase method
        when it should be in Init method. Moved to the Init method before
        call to InitHitList where the reference cuts are used.
      
      2) Modified the selection of the good TDC hit for filling the TdcTimeRaw
      and TdcTime. Previosly used the TdcTime but not picks the TDC hit with the TdcTimeRaw that is within
      the time min and max windows that can be set by parameters. Default windows are min=0 and max=10000.
      If two hits in the time window then selects last hit within window.
      If not hits within time window then TdcTimeRaw=0 and TdcTime=0.
      The TdcMultiplicity is always filled.
      24235e0a
  20. Oct 22, 2018
    • Mark Jones's avatar
      Modify THcCoinTime and THcTrigDet · 4d4418d0
      Mark Jones authored
      1) THcTrigDet
         a) Modify code to use string vector fTrigNames to identify which of the trigger
           trigger detector TDC signals to use for coincidence timing. This
            replaces the hard-coded names. The integer array fTrigId[4] keeps
           track of the array ID in the overall fTDcNames vector that goes
            with the fTrigNames[4]
         b) The fTrigNames must be in order of SHMS ROC1, HMS ROC1, SHMS ROC2
           and HMS ROC2.
         c) Default names are "pTRIG1_ROC1","pTRIG4_ROC1","pTRIG1_ROC2","pTRIG4_ROC2"
            The parameter is t_coin_trigNames
            For example:
            t_coin_trigNames="pTRIG1_ROC1 pTRIG4_ROC1 pTRIG1_ROC2 pTRIG4_ROC2"
            This parameter is read-in and the split into a string vector fTrigNames.
         d) In HcTrigDet::ReadDatabase , all members of fTrigID array are set
      to -1 then a loop over all Tdc in the trigger detector looks for match between
      fTdcNames amd fTrigNames to set fTrigId. If match not found the fTrigId = -1.
         e) In THcTrigDet.h made new method Get_CT_TrigTime(Int_t ii) to be used
      in in THcCoinTime to get the 4 trigger times: SHMS ROC1 (ii=0), HMS ROC1 (ii=1),
      SHMS ROC2 (ii=2) and HMS ROC2 (ii=3).  If fTrigId[ii]=0 then it returns 0
      otherwise returns fTdcTime[fTrigID[ii]].
      
      2) THcCoinTime
        a) Previously used the raw trigger times and had a hard-coded 0.1 ns/channel
      conversion. Now use the trigger times which already are in ns using the
      ns/channel conversion set in the TrigDet.
        b) Now use the new TrgiDet method Get_CT_TrigTime(ii) to get the
      trigger times for SHMS ROC1, HMS ROC1, SHMS ROC2 and HMS ROC2.
      4d4418d0
Loading