WAC Notes January 12 2021

From PREX Wiki
Revision as of 12:35, 12 January 2021 by Weibin (Talk | contribs) (January 12th notes, validating respin 1)

Jump to: navigation, search
RCDB HALOG HAPLOG DocDB Online Prompt BlueJeans Link Runlist spreadsheet, respin 1 spreadsheet

PREX Main << Weekly Analysis Coordinator << WAC Notes CREX << WAC Post-Run_Meeting Notes

WAC Notes January 7 2021 << >> WAC Notes January 19 2021


Date and time: January 12, 2021, 11:00am
Bluejeans ID: 454783784
Meeting link: https://bluejeans.com/454783784
Runlist spreadsheet

January 12th notes, validating respin 1

  • Comparing cuts/good event count for respin1 vs prompt
    • Robert has a script that can do comparisons (and other variables and such)
    • Running now
  • Devi has made BPM cut checking outputs: http://ace.phys.virginia.edu/HAPPEX/4428
  • No update on BMOD or Pedestal analysis yet
  • Null asym checks have been investigated by Weibin: http://ace.phys.virginia.edu/HAPPEX/4430
    • He has many plots of useful outputs besides null asym as well
    • Slopes - BPM 1X slopes before AT running period (when the beam tune had a major change) are LARGE and bad probably (also BPM 1YM wire has clear electronics noise).

January 7th notes, updates from the respin 1

Analyses that need to be done with respin 1 data:

  • Determine changes to the data as a result of changes in map files and cuts between prompt and respin 1
  • Determine efficacy and quality of BCM, target and energy BPM cuts across all runs (and develop changes to cuts if necessary)
  • Cyclewise, runwise, and run-range-wise BMOD data quality determinations need to be solidified (AT data from respin 1 can be a ifarm script testing ground)
  • BMOD slopes calculation and map files, and Lagrange+eigenvector BPM analysis set up
  • Second pass pedestal studies, including looking at RF injected runs and beam off pedestals across all of CREX for all monitors and detectors
    • Look at charge-normalized and regression corrected detectors vs. another BCM (not bcm_target) to check for non-zero pedestals or correlations.
    • Should be consistent at < 1 or 2 % level.
    • Beam off pedestals should also not be deviated from.
  • Reclassify and update all NeedCut, Suspicious, and non-production (but "good") runs based on respin 1 data quality and known needed changes
  • Develop tools with respin 1 to evaluate beam correction, Aq, and pedestal systematics across the run
  • Generate more useful and specific slug plots, etc.
  • Pitt and Wien level plots, systematics, etc.
  • Carefully check on various time scale pull plots (multiplet wise, miniruns, slugs, pitts, wiens, etc.)
  • Null asymmetry check
  • Sub-block analysis consistency check
  • SAMs analysis (especially during AT running)

To Do:

  • Comparison of number of events/patterns per slug between Respin 1 and Prompt
    • Also check on the size of regressed error bar
    • Will be done by Robert
  • Devi can look at BPM and BCM fluctuations away from comfort ranges
  • Each WAC should scan their weeks' data to see if anything looks bad
    • Runlist verification etc. will be done by WACs
  • BMOD analysis is being done by Cameron + bmod subgroup
  • Cameron and Weibin will look over pedestal checking, etc.
  • Weibin and Sakib can help will Null asymmetry analysis
  • Looking at cuts (especially burp cuts) should happen after Devi looks at BPM ranges, etc.

Suggested Changes after respin1

  • Cuts size, extent, holdoffs?
  • Regression BPM selection?
  • Manual cuts for target and 12X BPMs need another look?
  • Pedestals need a more detailed look
  • Special runs with known tune change that get special cuts to segment miniruns properly


Tracking events and calibrations:

Respin 1 outputs


  • Any run which had special cuts applied to segment BPM 12X regions will need to be checked on after respin 1 to retune those cuts
  • BCM analog difference value doesn't compute correctly in the aggregator ... is .hw_sum an invalid leaf? Is there an assumed /ppm in the grand plots script for yield_.._mean?
  • All BCM Aqs have a much larger difference between wien states and away from 0.0 for respin1 vs. prompt. Is the pedestal wildly off during prompt or during respin1? More pedestal studies should be done to decide what is going on.
  • The main detector's regressed RMS has a drop from prompt->respin, especially around the slug 140 region.
  • The Chi2 values are all pretty small, and got smaller with respin1 vs prompt.
  • Detector asymmetry "answer" did not change value or error bar very much between prompt and respin1.

Runs for checking later

Missing runs in respin1:

  • Ifarm failed
    • 6784,147,ALL_PREX,Good,OUT,FLIP-LEFT,0
  • Have been marked as junk more recently
    • 8428,221,ALL_PREX,NoFlag,IN,FLIP-RIGHT,0
    • 8429,221,ALL_PREX,NoFlag,IN,FLIP-RIGHT,0
    • 8431,221,ALL_PREX,NoFlag,IN,FLIP-RIGHT,0
    • 8483,222,ALL_PREX,NoFlag,OUT,FLIP-RIGHT,0
    • 8559,223,ALL_PREX,NoFlag,OUT,FLIP-RIGHT,0

Prompt labeled as NeedCut:


  • 5939 - Suggest relabel as Calibration run_type - It is a 60 uA run, at this point worrying about calibrations for this run is more expensive than losing the 4 miniruns (1.5 miniruns of 150 uA statistical equivalent) data that this run contains
  • 5940 - Suggest relabel as Calibration run_type - It is a 60 uA run
  • 5941 - Suggest relabel as Calibration run_type - It is a 60 uA run, 1200 patterns at 120 uA...
  • 6030 - Suggest relabel as Calibration run_type - It is a 50 uA run
  • 6031 - Suggest relabel as Calibration run_type - It is a 50 uA run







Prompt labeled as Suspicious:


  • 5437 - Suggest relabel as Calibration run_type - Too short run, 2000 patterns
  • 5452 - Suggest relabel as Good run_flag - Had some BCM Aq noise (off of the injector laser) - totally normal and OK.
  • 5951 - Suggest relabel as Junk run_type - No good data, 1 arm running anyway
  • 5972 - Suggest relabel as Good run_flag - It is 1 minirun, all BMOD anyway, looks great
  • 6035 - Suggest relabel as Junk run_type - It is a polluted run - Trigger Supervisor broke and the asymmetry calculation has the wrong synchronization. NOTE this run is currently NOT included in the slug plots, but is included in the Aggregator outputs (can be removed after this decision)






  • 7626 - Suggest relabel as Calibration run_type - It is a large charge asymmetry run, no Aq feedback - 18ppm (5 sigma != 0) - but, otherwise this run is fine... 2 miniruns




Special run cases

Special conditions

  • 6852 - Marked as good production, looks good. Still has large 12X noise (brief 1mm excursion)
    • Has been cut to keep only evnts with Ca-48 target in position - cut out event=20000:
  • 7402 - Marked as needcut production, looks good. Has 1 single event with 1mm 12X excursion
    • Has a cut for IHWP change after starting the run - cut out 0:2000
  • 7842 - 460 Patterns in second range of the BPM 12X pass cuts with BurstCounter==1 (should be 0). The starting CodaEventNumber is 272202, and final is 274038 (so if we respin this with exactly the same BPM and BCM cuts and pedestals, etc. then the final CodaEventNumber in the cut to accomplish the minirun-segmentation at 12X yield should be 274038)
    • Split two 12X domains, needs revisiting
  • 7860 - Event cut fails to kill all bad beam motion events (Entry$ != CodaEventNumber???)... probably should have the cut extended to event 375k to accomodate?
    • blinder.force-target-blindable=1
  • 8321 - Respin 1 appears to have analyzed this run as 2 segments (although I thought we had set the chainfiles=1 setting appropriately to avoid this, or did that only avoid split ROOT outputs?)

other while the pass 0, 1, and 2 were being executed (BUT, if the two segments were analyzed in sequence rather than parallel everything should be fine)

    • Note: The aggregator hasn't been set up to analyze segment != 0 (Although it can be done by hand just fine). Meaning the minirun from segment 001 is not included in aggregator outputs at this time
  • 8507 - Looks good now
    • Has a cut to keep only events with Ca-40 target in position - cut out event=20000:, blinder.force-target-out=1

Too short runs (nentries <2000), probably should be cut out retroactively:

  • 5941 - 1194 entries
  • 6105 - 1696 entries
  • 6607 - 978 entries
  • 8295 - 905 entries

ifarm failed job runs:

  • 6784 - ifarm failed
  • 8035 - has output plots
  • 8033 - has output plots
  • 7962 - has output plots
  • 8260 - has output plots

December 10th notes, updates from Dec 3

  • Pedestal update (a temporary placeholder) summarized in HAPLOG 4417
  • Prompt data set summarized in HAPLOG 4418
  • Cuts and other Respin updates summarized in HAPLOG 4419
    • Added bcm_an_diff device to all CREX runs, resolving issue that was especially bad in runs 8350-8370: https://logbooks.jlab.org/entry/3845576
      • Added bcm_an_diff cut to all CREX runs already having reasonable current cuts
combinedbcm, bcm_an_diff,       -10,     +10,    g,      0,   0.15
  • Weibin added a bcm_an_diff plot to ifarm install of prompt plots
    • He'll update the cut to only do can events when (bcm_an_diff.Device_ErrorCode&0x40001c00)!=0 && (ErrorFlag&0x8000000)==0
    • If possible edit the asyms to diffs in their plots
  • Cameron updated the Error Counter macro on the ifarm install
    • Will change the general cut information to show Beam Trip and All Else separately -> (ErrorFlag&0x8000000)==0 cuts out beam trip data
    • And change percentages to N events
  • The target BPMs are not easily diagnosable from minirun plots (thanks Weibin), but will be analyzed similarly to the BPM12X data after respin1
    • Note that at run 6500 we have a major change in our optics and beam delivery, which produces similar beam instability as we saw at the beginning of the experiment in slug 100 or so
    • Some documentation of pedestal investigations during that time here: https://logbooks.jlab.org/entry/3787428
  • Some commits of changes on adaq computer may conflict with committed or uncommitted changes on the ifarm (due to push pull privileges and edits testing)
  • Weibin created a run list of runs included in prompt runlist text files but disagreeing in the RCDB: https://docs.google.com/spreadsheets/d/1l5qA0u9KhLIFA-MbcEpI3ezUD9saq6g1kzB_eTJD_po/edit#gid=214727289
  • Robert made a run list for respin 1 with generous filters: respin 1 spreadsheet

How to use Aggregator


Now updated to include "rcdb_[run_condition]" branches (converted to doubles, string entries have a lookup table given in the camDataFrame.hh source code).

  • slug
    • Ex. Int 223
  • run_type
    • Ex. Str 'Production'
    • Conversion to NTuple doubles/integers (for cutting within ROOT):
      • Production = 1.0
      • Pedestal = 2.0
      • Calibration = 3.0
      • ParityScan = 4.0
      • Test = 5.0
      • Else (all other run types) = -1.0
  • run_flag
    • Ex. Str 'Good'
    • Conversion to NTuple doubles/integers (for cutting within ROOT):
      • Good = 1.0
      • NeedCut or NeedCuts = 2.0
      • Suspicious = 3.0
      • Bad = 4.0
      • Else (all other flags, including NULL) = -1.0
  • ihwp
    • Ex. Str 'IN' or 'OUT'
    • Conversion to NTuple doubles/integers (for cutting within ROOT):
      • IN = 1.0
      • OUT = 2.0
      • Else (all other flags, including NULL) = -1.0
  • flip_state
    • Ex. Str 'FLIP-RIGHT' or 'FLIP-LEFT'
    • Conversion to NTuple doubles/integers (for cutting within ROOT):
      • FLIP-RIGHT = 1.0
      • FLIP-LEFT = 2.0
      • Vertical(UP) = 3.0 (This is the AT data)
      • Else (all other flags, including NULL) = -1.0
  • horizontal_wien
    • Ex. Double -29.6402
  • vertical_wien
    • Ex. Double 88.0008
  • rhwp
    • Ex. Double 1500.0
  • arm_flag
    • Ex. Int 0, or 1, or 2
  • beam_current
    • Ex. Double 109.044
  • total_charge
    • Ex. Double 584807.0
  • target_type
    • Ex. Str '48Ca', or '40Ca'
    • Conversion to NTuple doubles/integers (for cutting within ROOT):
      • 48Ca = 1.0
      • 40Ca = 2.0
      • ...Carbon 1... = 3.0
      • ...Pb... of any type = 4.0
      • Home = 5.0
      • Else (all other flags, including NULL) = -1.0
  • target_45encoder
    • Ex. Double 2.0
  • target_90encoder
    • Ex. Double 13163100.0
  • dpp
    • Ex. Double 0.000142342
  • dpp_stdev
    • Ex. Double 1.4e-6
  • energy_avg
    • Ex. Double 2.156234
  • energy_sig
    • Ex. Double 1.4e-6

Then there is an "rcdb_sign" variable

  • rcdb_sign
    • Ex. Int +1 or -1
    • This is calculated internally as (wien*ihwp), where
      • Wien Left = -1
      • Wien Right = +1
      • Wien Vertical(UP) = +1
      • IHWP IN = +1
      • IHWP OUT = -1

  • n_runs == Slug number branch. Was originally intended to denote how many runs had been TChained to derive a given file's outputs, but we just do miniruns and such these days instead.
  • run_number == Run number branch
  • minirun_n == Minirun ID branch (starts at 0 for first minirun of each run)
  • split_n == Nothing for now. Was originally intended to denote split runs in JAPAN analysis, but other scripts never fully supported it and it rarely comes up
  • All of the data in these aggregator files is exactly ErrorFlag==0 passing data, meaning it cuts out BMOD ON data and also fails to properly consider AT and SAM error flags (in prompt outputs, see respins for proper global error flag on those).
  • The individual data fields for a given device are as follows:
    • _mean == mean value for a given minirun
    • _mean_error == the error on the mean
    • _rms == the RMS from the histogram for a given minirun
    • _rms_error == the error on RMS calculation (probably not really useful)
    • _nentries == the number of Multiplet entries used in the minirun for the histogram to obtain the above numbers
    • Some of the EPICS and slopes and such have _slope and maybe _slope_error or _mean and are what you would expect

Data from Respin 1 is located in these places:

  • ErrorFlag
    • Minirun aggregator root files: /lustre19/expphy/volatile/halla/parity/crex-respin1/aggRootfiles/ErrorFlag/
    • Slug hadded and slug-plots pol1 averaged output root files: same, subfolder /slugRootfiles/
    • Full CREX hadded minirun-wise grand rootfile: same, subfolder /slugRootfiles/CREX-Blessed-miniruns.root
  • IncludeBMOD
    • Minirun aggregator root files: /lustre19/expphy/volatile/halla/parity/crex-respin1/aggRootfiles/IncludeBMOD/
    • Slug hadded and slug-plots pol1 averaged output root files: same, subfolder /slugRootfiles/
    • Full CREX hadded minirun-wise grand rootfile: same, subfolder /slugRootfiles/CREX-Blessed-miniruns.root
  • OnlyBMOD
    • Minirun aggregator root files: /lustre19/expphy/volatile/halla/parity/crex-respin1/aggRootfiles/OnlyBMOD/
    • Slug hadded and slug-plots pol1 averaged output root files: same, subfolder /slugRootfiles/
    • Full CREX hadded minirun-wise grand rootfile: same, subfolder /slugRootfiles/CREX-Blessed-miniruns.root

Example plots that are now possible with RCDB info:

  • Sign corrected, main detector, with error weighting, utilizing arm flag to show the "good" data for a given run"
root /lustre19/expphy/volatile/halla/parity/crex-respin1/aggRootfiles/ErrorFlag/slugRootfiles/CREX-Blessed-miniruns.root
root [0] agg->Draw("rcdb_sign*((rcdb_arm_flag==0)*cor_asym_us_avg_mean + (rcdb_arm_flag==1)*cor_asym_usr_mean + (rcdb_arm_flag==2)*cor_asym_usl_mean)/ppb","(1/(sqrt((rcdb_arm_flag==0)*cor_asym_us_avg_mean_error + (rcdb_arm_flag==1)*cor_asym_usr_mean_error + (rcdb_arm_flag==2)*cor_asym_usl_mean_error)/ppb))","")


Cameron, Devi, Paul, Robert, Ryan, Victoria, Weibin