Skip to content
Snippets Groups Projects
  1. 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
    • Stephen A. Wood's avatar
      6f9aa533
    • 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
  2. Jan 06, 2019
  3. Dec 20, 2018
  4. Dec 19, 2018
  5. Nov 28, 2018
  6. 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
  7. Nov 19, 2018
    • 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
  8. 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
    • Stephen A. Wood's avatar
  9. 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
  10. Nov 01, 2018
    • Eric Pooser's avatar
      Merge pull request #414 from JeffersonLab/fall-2018-ver2 · aa18926f
      Eric Pooser authored
      Fix problems in THcTrigDet.cxx
      Unverified
      aa18926f
    • Eric Pooser's avatar
      Merge branch 'develop' into fall-2018-ver2 · 15231c9c
      Eric Pooser authored
      Unverified
      15231c9c
    • 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
  11. 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
  12. Oct 05, 2018
    • Mark Jones's avatar
      Modify THcDriftChamberPlane · 1555f422
      Mark Jones authored
      Added TClonesArray* fRawHits which an array of THcDCHit object for all
      hits in the drift chamber. This is filled during Process method.
      
      Added tree variable raw.wirenum whihc is array of wire numbers for all hits in the drift chamber.
      1555f422
  13. Sep 20, 2018
    • Yero1990's avatar
      Mispoint param (#408) · f5dfd245
      Yero1990 authored
      * updated mispointing calculations
      
      * added TMath::Abs() for HMS angles, since it has a '-' sign in the kin. file
      f5dfd245
    • Stephen A. Wood's avatar
      Bug fixes borrowed from THaScalerEventHandler · 0d5b2a80
      Stephen A. Wood authored
      Don't confuse index of scalers with slot number
      
      See https://github.com/JeffersonLab/analyzer/commit/cd7c26b5b1161115a0e35a4824148b78a189e986
      
      NOTE:
      This changes the format of the "variable" lines in the db map file that
      defines the scaler layout.
      
      The number after the variable directive is now the slot number instead of
      the index of which scaler module (starting from zero) is being used.
      Updated DBASE/db_PScalevt.dat and DBASE/db_HScalevt.dat files which have
      been generated by an updated MAPS/SCALERS/make_scaler_db.py.  This change is
      made so that the "variable" line format is the same as used in
      THaScalerEvtHandler.cxx.
      0d5b2a80
  14. Sep 17, 2018
  15. Sep 14, 2018
  16. Sep 07, 2018
  17. Aug 30, 2018
    • Mark Jones's avatar
      Modify THCRaster · 03fe48f6
      Mark Jones authored
      Main change was to allow the beam X and Y positions and angle
      at the target to be read in through parameters instead of
      always using the EPICS data. This gives added flexibility.
      
      If either of the beam position parameters (gbeam_xoff or
      gbeam_yoff) are read-in as parameters, then the code uses
      the read-in parameters as the BPM position at target. If
      there are other beam position or angle parameter that are
      not read in then they are set to zero.
      
      
      1) Modify THcRaster.h
         a) Added variables for X and Y beam angles at target.
         b) Added variable fFlag_use_EPICS_bpm which is a flag
           that is determines whether the code uses the parameters
           or EPICS reads.
      
      2) Modified THcRaster.cxx
         a) set default BPM z-positions to Fall 2018 survey.
         b) Modified Process method so that the BPM position/angle variables
           that are set by parameters are no longer recalculated. Just
           use the existing variables fXbpm_tar, fYbpm_tar, fXpbpm_tar
            and fYPbpm_tar throughout the method.
      03fe48f6
    • Mark Jones's avatar
      Modify THcRaster to add variable of EPICS beam energy · c8dc9e87
      Mark Jones authored
      Add the variable ebeam_epics to the tree. This is the EPICS
      value of HALLC:p  . For now this is good for monitoring changes in the
      beam energy but needs to be check how it compares to the Hall C
      beam energy measurement.
      c8dc9e87
    • hallc-online's avatar
  18. Aug 26, 2018
    • Carlos Yero's avatar
      Updated DC Classes to have DC Sigma per wire · 4a7af64c
      Carlos Yero authored
      1) THcDCWire.h
        a) added sigma to THcDCWire constructor which fills fSigmaWire
        b) added GetSimga method
        c) added SetSigma method
      
      2) THcDCHit.h
       a) Added GetWireSigma method
      
      3) THcDriftChamberPlane.h
       a) Added flag fUsingSigmaPerWire
       b) Added array fSigmaWire
      
      4) THcDriftChamberPlane.cxx
       a) In ReadDatabase, set fUsingSigmaPerWire=0 by default
          with reading of parameter h_using_sigma_per_wire optional
          for setting fUsingSigmaPerWire.
       b) If fUsingSigmaPerWire=0 then sets all wires in array fSigmaWire to
         fSigma ( which is the simga per plane).
       c) If fUsingSigmaPerWire=1 then reads in the sigma per wire from
         a parameter file.
       d) Used new THcDCWire constructor to set the sigma for wire to fSigmaWire[nwire]
       e) Also change code so that the tzero offset is set in the  THcDCWire constructor
       f) In ProcessHits , use wire->GetTOffSet instead of the fTzeroWire array when setting
          the time.
      
      5) THcDC.cxx
       a) In TrackFit, replace fSigma with hit->GetWireSigma()
      4a7af64c
  19. Aug 25, 2018
    • hallc-online's avatar
      Modify THcHodoEff · d658b180
      hallc-online authored
      1) add variable fHodoEff_CalEnergy_Cut
      
      2) THcHodoEff::ReadDatabase
         Optionally read in parameter hHodoEff_CalEnergy_Cut (HMS) or
              pHodoEff_CalEnergy_Cut (SHMS) and fill fHodoEff_CalEnergy_Cut
         If no parameter then defaults to fHodoEff_CalEnergy_Cut = 0.050
      
      3) fHodoEff_CalEnergy_Cut
          In "if" statements that select events for hodoscope efficiency
          replay hard-coded "0.05" with fHodoEff_CalEnergy_Cut
      d658b180
  20. Aug 24, 2018
  21. Aug 23, 2018
    • Stephen A. Wood's avatar
      Update podd version · c2a98fef
      Stephen A. Wood authored
      c2a98fef
    • Stephen A. Wood's avatar
      In THcParmList::Load only look for run ranges in top file. · 234512dc
      Stephen A. Wood authored
        Previously, if load was called with a run number, array continuation
        lines in included files were being interpreted as lists of run numbers.
        Still we have the limitation that in the top file, if we define an array
        with multiple lines, the continuation lines will be interpreted as
        run number lists and mess things up.  But it is unlikely that we would
        need to define arrays in the top file when we are in run number
        mode.
      234512dc
  22. Aug 19, 2018
    • hallc-online's avatar
      Update THcHallCSpectrometer.cxx · 5a558673
      hallc-online authored
      Added setting of spectrometer mispointing according the the input
      spectrometer angle if the mispointing is not set by a parameter.
      
      The formulas for deteriming the mispointing comes from fits to sureys.
      
      If one wants to use different spectrometer mispointings then
      it is best to set hmispointing_x,hmispointing_y for HMS
      and pmispointing_x,pmispointing_y for SHMS in the kinematics setting file
      such as standard.kinematics .
      5a558673
Loading