- Apr 23, 2020
-
-
Mark Jones authored
-
Mark Jones authored
-
Mark Jones authored
add Reftime
-
Mark Jones authored
Check the Fptime is good
-
Mark Jones authored
1) Add Reftime 2) change code to fix raw amp =0 problem 3) add PedDefault needed for raw amp=0 problem
-
Mark Jones authored
Add code to deal with raw amp = 0 Add code to read in default ped to use when raw amp = 0
-
- Mar 04, 2020
-
-
Mark Jones authored
Dave Mack introduced two new variables to the calculation of beam current to described correction for the nonlinearity above 60uA in BCM1 and BCM2 seen in the Fall 18, Spring 19 and Summer 19running. See for example summer 2019 hallcweb.jlab.org/doc-private/ShowDocument?docid=1037 Fall 18/Spring 19 hallcweb.jlab.org/doc-private/ShowDocument?docid=1042 For a BCM scaler read the difference, Dcounts, from the previous scaler and get the time difference, Dtime. Original calculation is: I = (Dcounts/Dtime-fBCMOffset)/BCM_Gain Now add an non-linearity correction I = I + fBCM_SatQuadratic*Max(I-fBCM_SatOffset,0.0)^2 Add parameters fBCM_SatOffset and fBCM_SatQuadratic that can be optional read-in. If parameters are not read-in the parameters are set to zero, so there is no correction. Add the non-linearity correction to all BCM current calculations.
-
- Jan 17, 2020
-
-
Stephen A. Wood authored
1. If THcHelicity is told about the THcHelicityScaler object with the SetHelicityScaler method, it will use helicity scaler events to jump start generating the seed 2. When beam off, helicity decoding can get lost if the helicity_freq parameter is not very close to the actual helicity reversal frequency (which seems to drift). THcHelicity now calculates a recommended value of helicity_freq.
-
- Dec 21, 2019
-
-
Stephen A. Wood authored
Add parameters to hold helicity scaler results: g%s_hscaler_plus[%d] g%s_hscaler_minus[%d] g%s_hscaler_sum[%d] g%s_hscaler_asy[%d] g%s_hscaler_asyerr[%d] g%s_hscaler_time (Time with defined helicity) g%s_hscaler_time_asy g%s_hscaler_triggers (All triggers including where helicity not decoded) g%s_hscaler_triggers_plus g%s_hscaler_triggers_minus (plus+minus is slightly less than triggers) g%s_hscaler_trigger_asy %s is name assigned to THcHelicityScaler object %d is scaler channel #. 0-31
-
- Dec 16, 2019
-
-
Stephen A. Wood authored
-
Stephen A. Wood authored
Now for 30 Hz, need to override in parameter file
-
- Dec 15, 2019
-
-
Stephen A. Wood authored
-
- Dec 09, 2019
-
-
Stephen A. Wood authored
-
- Dec 05, 2019
-
-
Stephen A. Wood authored
Fix case where fActualHelicity doesn't get defined (even as unknown) Report when helicity pattern from helcity scaler does not agree with pattern found from physics events
-
- Dec 02, 2019
-
-
Stephen A. Wood authored
Use qrt signal to identify quartets, find pattern if it doesn't. Fail over to HMS helicity signals if SHMS not found Add pcheck and cycle global vars (for fine tuning frequency) Start a helicity scaler class. Just compares seeds for now.
-
- Nov 25, 2019
-
-
Stephen A. Wood authored
-
- Nov 22, 2019
-
-
WmHenryTemple authored
-
- Nov 21, 2019
-
-
Cdaq User authored
THcTrigDet::Decode change the ADC/TDC window limits to be ">=" instead of ">". THcTrigDet::ReadDatabase change default upper ADC/TDC window limit to 100000 so that the DC are not cut by default setting.
-
- May 31, 2019
-
-
Mark Jones authored
1) THcDC a) Add variable to tree called dc.InsideDipoleExit which is a Bool_t flag that is kTRUE if golden track is inside the dipole exit. Uses THcHallCSpectrometer::InsideDipoleExitWindow in THcDC::SetFocalPlaneBestTrack to set variable. 2) THcHallCSpectrometer a) Add method Bool_t InsideDipoleExitWindow which checks whether the track is within the dipole exit window. Checks prefix used for database to set flag fUseSHMSDipoleExitWindow or fUseHMSDipoleExitWindow to be true which is used in InsideDipoleExitWindow to select either SHMSDipoleExitWindow or HMSDipoleExitWindow method to be used as the test. b) Hardcoded z distance from spectrometer focal plane to dipole exit window. c) Methods Bool_t SHMSDipoleExitWindow and Bool_t HMSDipoleExitWindow return true/false if the track was inside/outside the dipole exit window. d) Added dipole exit window test to the BestTrackUsingPrune method. Need to set parameter hprune_DipoleExit=1 or pprune_DipoleExit=1 to use the test in the method. By default it is turned off.
-
- May 12, 2019
-
-
Mark Jones authored
The LeftRight method determines the sign of the wire distance for each hit in the spacepoint by looping through all combinations of wire signs and fitting each combination with a line and selecting the combination with the lowest chi-squared. The fit to the line is known as the "stub" which is an array of the x,dx/dz, y and dy/dz of the fit and is associated each spacepoint. The stubs are used later in LinkStubs method to match spacepoints between two chambers to give a possible tracks. Previously the LeftRight method would only fit a stub for a spacepoint with 4 hits in the chamber if the parameter flag HMSStyleChamber was true. HMSStyleChamber refers to the 6 GeV HMS chambers and we do not have them anymore. But not fitting the spacepoint, the stub was filled with zeros for x,dx/dz,y and dy/dz and these spacepoints would never be matched with other spacepoints to form a possible track.
-
Mark Jones authored
In method TrackCalc get the proper THcDCTrack array index from the golden track by using method GetTrkNum for use in the THcDC method SetFocalPlaneBestTrack. When creating the THaTrack array in THcDC::CoarseTrack the array index between THaTrack and THcDCTrack arrays match. The THaTrack is also associated with the THcDCTrack array index with the call SetTrkNum(index+1) When selecting best track by lowest chi-squared the THaTrack are sorted from lowest to highest chi-squared The code made a mistake in the index used in SetFocalPlaneBestTrack. It used the array index of the THaTrack which is now not in sync with the THcDCTrack. Fixed problem by using the THaTrack method GetTrkNum which gets the proper THcDCTrack array index. This did NOT effect reconstructed target variables or physics variables. It only effected the focal plane varaiables that were selected as the "best" or "golden" to be used for the tree for dc.x_fp , dc.xp_fp, dc.y_fp , dc.yp_fp and for the residuals.
-
- May 02, 2019
-
-
Mark Jones authored
THcScintPlaneCluster is a new class to hold information about scintillator plane clusters of paddle hits. The clusters of paddles for each plane are formed in THcHodoscope::TrackEffTest which is used in the tracking efficiency. Modify THcScintillatorPlane so that the cluster information (number of clusters, size,pos, flag if cluster used) is in the tree. Modify THcHodoscope::TrackEffTest so position difference are taken for all clusters in X1 (or Y1) with all clusters in X2 (Y2).
-
Mark Jones authored
In THcDC.h change MAXTRACKS from 10 to 50. The maximum number of tracks is set by parameter ntracks_max_fp Previously the LinkStubs method would not create a track if the total number of spacepoints in the two chambers was larger than 10. Now LinkStubs will create a vector of THcSpacePoints of up to 100 spacepoints with no more than 50 spacepoints from chamber 1 and use that to find possible tracks. I
-
Mark Jones authored
Add variable fPruneSelect which is a flag for which prune test selected the good track. Put into tree as tr.PruneSelect PruneSelect = -1 if no track found PruneSelect = 0 if only one track found PruneSelect > 0 when more then one track found. Method BestTrackUsingPrune goes through the tests in order and if a track fails the test then it is flagged as bad and not tested in the subsequent tests. When only one track is left then fPruneSelect is set to the number of the test. fPruneSelect = 1 if xptar fPruneSelect = 2 if yptar fPruneSelect = 3 if ytar fPruneSelect = 4 if delta fPruneSelect = 5 if track beta fPruneSelect = 6 if track reduced degrees of freedom (NHits-4) fPruneSelect = 7 if Number of PMT fPruneSelect = 8 if track beta chi2 fPruneSelect = 9 if track focal plane time fPruneSelect = 10 if track hit S2Y plane fPruneSelect = 11 if track hit S2X plane fPruneSelect = 12 if track chisq
-
Mark Jones authored
Add variable fTRIG1_RAW_CoinTime for raw cointime calculated by difference in SHMS trigger (TRIG1) in ROC1 minus SHMS trigger in ROC2. Add variable fTRIG4_RAW_CoinTime for raw cointime calculated by difference in HMS trigger (TRIG4) in ROC1 minus HMS trigger in ROC2. Add new variables using these raw time differences fTRIG1_epCoinTime fTRIG4_epCoinTime fTRIG1_eKCoinTime fTRIG4_eKCoinTime fTRIG1_ePiCoinTime fTRIG4_ePiCoinTime fTRIG1_ePosCoinTime fTRIG4_ePosCoinTime
-
- Apr 25, 2019
-
-
Stephen A. Wood authored
Previously the helicity code was not always setting the actual helicity. It would then just use the helicity from the last event. This was almost always OK. With this change, the helicity (T.helicity.hel) should be always defined. It is now sufficient to use just this variable when sorting events into plus and minus helicity. The helicity value will be zero if the event occured during the settle period, or if the helicity decoder has not got enough data to have a seed.
-
Stephen A. Wood authored
-
- Apr 11, 2019
-
-
Mark Jones authored
The pTRIG1_TdcTime_ROC1, pTRIG4_TdcTime_ROC1 and pTRIG1_TdcTime_ROC2, pTRIG4_TdcTime_ROC2 should have been Double_t instead of Int_t since the THcTrigDet.h function Get_CT_Trigtime returns a Double_t which is the time convert to ns.
-
- Feb 17, 2019
-
-
Mark K Jones authored
-
- Feb 16, 2019
-
-
Mark K Jones authored
Do HMS pathlength correction using xptar and delta instead of the focal plane quantities. Fixed sign typo in fROC1_ePosCoinTime and fROC2_ePosCoinTime Fix sign error in DeltaSHMSpathLength and DeltaHMSpathLength Add tree variables DeltaSHMSPathLength DeltaHMSPathLength had_coinCorr_Positron elec_coinCorr
-
- Feb 13, 2019
-
-
Stephen A. Wood authored
-
- Jan 10, 2019
-
-
Stephen A. Wood authored
-
- Jan 07, 2019
-
-
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.
-
Stephen A. Wood authored
-
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 ...)
-
Ole Hansen authored
This includes a particularly nasty leak in the shower code that caused several hundred bytes to be lost _per event_.
-
- Jan 06, 2019
-
-
Ole Hansen authored
-
- Dec 20, 2018
-
-
Stephen A. Wood authored
-
- Dec 19, 2018
-
-
Ole Hansen authored
-
Ole Hansen authored
Currently both CMake and SCons build not only libPodd, but also libHallA, even though it is not required for hcana. hcana is linked only against libPodd, however, so libHallA is simply a spurious byproduct.
-