- 1 Additions to the AnaInfo Tables
- 2 AnaInfo Tables
- 3 ChangeLog
- 3.1 UnStable Septum Field
- 3.2 Short Carbon Runs
- 3.3 Missing Runs
- 3.4 Runs without Trigger Efficiency
- 3.5 RHRS runs that are mysteriously not on the HALOG
- 3.6 Runs won't have a trigger efficiency but still need deadtime calculated
- 3.7 Updated Beam Energy and Beam Energy STD
- 3.8 Missing Runs from Min
- 3.9 Update to Trigger Efficiency
- 3.10 Two missing runs 6217/6218
- 3.11 Swapped Target Type Expert Comment for 5860/5862
- 3.12 Swapped Target Type Expert Comment for more runs
- 3.13 Target Pol Update
- 3.14 Target Pol Update
- 3.15 Target Pol Update
- 3.16 1.7 GeV Run Update
- 3.17 Longitudinal Acc. Cuts
Additions to the AnaInfo Tables
The AnaInfo tables will be updated with new fields as they are ready. Potential fields are listed below:
- Run Start/Stop times from raw data - Added
- Beam polarization from Moller measurements: Added my Melissa 3/12/13
- Ammonia target material cup number
- Cerenkov and Pre-shower/Shower PID cuts : Added by Melissa 2/15/13
- Scaler normalization analysis
- BCM Charge(micro-Coulomb)/Current
- Deadtime : Added 11/26/12 (Not helicity dependent)
- Helicity Dependent Deadtime and livetime asymmetry added 8/14/13
- Detector Efficiency : Added 11/26/12
- Target Polarization Anaylsis results provided by Toby: May 2013
- Sieve Slit Status
- Target Field Strength: Added 8/14/13 -> Not from data, so don't use it to do analysis. Just for sorting runs!
- Target Orientation: Added 8/14/13
- VDC-One Track Efficiency: Provided by Jie 6/24/13 (Updated on 10/30/15 with missing runs for dilution/PF)
- Top/Bottom Target Cup: Provided by Toby 5/7/14
- Target Material ID Number: Added by Melissa 5/20/14
- Ungated QTotal added into DB: 10/30/14
- Pengjia updated the helicity gated charge values to include cuts on helicity error (hel_error = 0). Around 12/3/14. See slides
- At some point in time Pengjia added BPM info into DB but he didn't tell me when he was doing it so there is no specific backup for it.
- Added in average beam current for each run. The averages have beam trips removed (a cut on current below 2nA). Pengjia calculated these values and I believe he also updated the RunInfo 'Current' columns with these values two years ago. RunInfo is in general a snapshot of the experiment and should not be used for analysis so don't be confused if you find the current from the two tables matching. Added 05/09/16.
- Added in TargetPolSys and TargetPolStat errors to the database. Both are absolute errors. TargetPolError is now the total uncertainty (relative %). Added 02/15/17
Below is a snapshot of the AnaInfo tables on 8/13/12. More fields will be added as time goes on.
mysql> show Tables; +---------------+ | Tables_in_g2p | +---------------+ | AnaInfoL | | AnaInfoR | | RunInfoL | | RunInfoR | | RunInfoT | +---------------+ 5 rows in set (0.00 sec)
mysql> describe AnaInfoL; +---------------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-----------+------+-----+-------------------+-----------------------------+ | RunNumber | int(11) | NO | PRI | 0 | | | RunStartTime | datetime | YES | | NULL | | Determined from Raw data files | EntryTime | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | ps3 | float | YES | | NULL | | Copied directly from RunInfo | ps4 | float | YES | | NULL | | Copied directly from RunInfo | ps7 | float | YES | | NULL | | Copied directly from RunInfo | ps8 | float | YES | | NULL | | Copied directly from RunInfo | TargetEncoder | float | YES | | NULL | | Avg value from EPICS/raw data | SeptaStatus | int(11) | YES | | NULL | | Expert Determined | RunStatus | int(11) | YES | | NULL | | Expert Determined | RunQuality | int(11) | YES | | NULL | | Expert Determined | Q1p | float | YES | | NULL | | Avg value from EPICS/raw data | Q1pSTD | float | YES | | NULL | | Avg value from EPICS/raw data | Q2p | float | YES | | NULL | | Avg value from EPICS/raw data | Q2pSTD | float | YES | | NULL | | Avg value from EPICS/raw data | D1p | float | YES | | NULL | | Avg value from EPICS/raw data | D1pSTD | float | YES | | NULL | | Avg value from EPICS/raw data | Q3p | float | YES | | NULL | | Avg value from EPICS/raw data | Q3pSTD | float | YES | | NULL | | Avg value from EPICS/raw data | SeptaI | float | YES | | NULL | | Avg value from EPICS/raw data | SeptaSTD | float | YES | | NULL | | Avg value from EPICS/raw data | TargetSTD | float | YES | | NULL | | Avg value from EPICS/raw data | Ihwp | int(11) | YES | | NULL | | Avg value from EPICS/raw data | IhwpSTD | float | YES | | NULL | | Avg value from EPICS/raw data | Energy | float | YES | | NULL | | Avg value from EPICS/raw data (HALLA:p) | EnergySTD | float | YES | | NULL | | Avg value from EPICS/raw data (HALLA:p) | ExpertC | longtext | YES | | NULL | | Expert Determined | RunStopTime | datetime | YES | | NULL | | Determined from Raw data files +---------------+-----------+------+-----+-------------------+-----------------------------+ 27 rows in set (0.00 sec)
mysql> describe AnaInfoR; +---------------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-----------+------+-----+-------------------+-----------------------------+ | RunNumber | int(11) | NO | PRI | 0 | | | RunStartTime | datetime | YES | | NULL | | | EntryTime | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | ps1 | float | YES | | NULL | | | ps2 | float | YES | | NULL | | | ps7 | float | YES | | NULL | | | ps8 | float | YES | | NULL | | | TargetEncoder | float | YES | | NULL | | | SeptaStatus | int(11) | YES | | NULL | | | RunStatus | int(11) | YES | | NULL | | | RunQuality | int(11) | YES | | NULL | | | Q1p | float | YES | | NULL | | | Q1pSTD | float | YES | | NULL | | | Q2p | float | YES | | NULL | | | Q2pSTD | float | YES | | NULL | | | D1p | float | YES | | NULL | | | D1pSTD | float | YES | | NULL | | | Q3p | float | YES | | NULL | | | Q3pSTD | float | YES | | NULL | | | SeptaI | float | YES | | NULL | | | SeptaSTD | float | YES | | NULL | | | TargetSTD | float | YES | | NULL | | | Ihwp | int(11) | YES | | NULL | | | IhwpSTD | float | YES | | NULL | | | Energy | float | YES | | NULL | | | EnergySTD | float | YES | | NULL | | | ExpertC | longtext | YES | | NULL | | | RunStopTime | datetime | YES | | NULL | | +---------------+-----------+------+-----+-------------------+-----------------------------+ 27 rows in set (0.00 sec)
Organization of AnaInfo
Currently (8/13/12) four fields in the AnaInfo tables are expert determined and by expert determined I mean they do not directly tie back to an EPICS variable. These are, SeptaStatus,RunStatus,RunQuality and ExpertC (or Expert Comment). I will briefly describe the function of each one and how it is determined.
During the running of the experiment the RHRS Septa magnet experienced two separate issues which damaged the coil packages. This field exists for both LHRS and RHRS. The SeptaStatus field takes the following values:
- 0 - RHRS septa operating with all coil packages (48-48-16)
- 1 - RHRS septa after 1st issue but before 2nd (40-32-16)
- 2 - RHRS septa after the 2nd problem (40-00-16)
The field values were determined by reading the HALOG to determine when the problems occurred. During transition periods from one status to another it is possible that SeptaStatus value maybe incorrect but this does not affect Production or Optics running, only calibration runs taking with no beam in the Hall.
This is similar to the RunType field in RunInfo except here it is Expert determined instead of Shift Worker controlled. RunStatus takes the following values:
- 1 - g2p Production
- 2 - gep Production
- 3 - Dilution
- 4 - g2p Optics
- 5 - gep Optics
- 6 - Packing Fraction
- 7 - Cosmic
- 8 - BCM Calibration
- 9 - BPM Calibration
- 10 - Pedestal
- 11 - DAQ Test
- 12 - Large Charge Asymmetry
- 13 - Other
These were determined from a combination of the Student Run Sheets, Shift Worker Run Sheets and HALOG.
The RunQuality field distinguishes runs based upon 5 categories. This categories are listed below:
- -1 - Production Run with wrong Septa or Q1
- 0 - Junk/Garbage Run
- 1 - Calibration Run
- 2 - Production/Dilution Run with some minor problems (eg. One BCM not working)
- 3 - Production/Dilution Run with no obvious problems
RunQuality was determined from a combination of Student Run Sheets (SRS), Shift Worker Run Sheets (SWRS) and the HaLog. For the determination of production run quality, it was assumed that any run on the SRS was either a 2 or 3. Runs during a production run period which were not on the SRS were then checked on the SWRS, if they appeared on this list and were flagged as a good run they were a 2 or 3. If a run during a production period was not on either the SRS or SWRS it was considered on a case by case basis.
The ExpertC or Expert Comment field is where the student experts can make comments. These comments serve to explain decisions made in regards to RunQuality and RunStatus made by the student experts. For example, they should give reason for a production run's RunQuality flag if it is something other than 3. The expert comment is also used to provide further information on the RunStatus, such as what kind of optics run or BPM run, for example.
Listed below are changes made to the database values and the reasoning for this. This is all after the initial population of the DB.
UnStable Septum Field
- 1/30/13 Email from Melissa on 9/11/12:
Hey Ryan, As promised, here is a list of runs that seem to be affected by the "mystery" problem: 22477 - 22480 (2.2 GeV, p0 = 2.228) 22481 - 22487 (2.2 GeV, p0 = 2.228, dilution runs) 22491 - 22501 (2.2 GeV, p0 = 2.072) By run 22502, the problem seems to be gone (at least, I can't see anything suspicious in the vdc wire distribution). I may have add to this list once I actually figure out what was going on. As far as a flag to put on it - since I don't know exactly what the problem was, I don't know what to put. I guess you can just label it "unstable septum field" for now. Let me know if you need anything else - thanks!! Melissa
- Going to change RunQuality to runs in question to a 2, if it wasn't already. And update ExpertComment to reflect this change.
Plots from Runs in Question There should be only 2 peaks, one for e-nitrogen elastic and the other for eP elastic events. This issue happened to the data set when the right septum is under 40-32-16 configuration. Melissa found some strange behavior of the RHRS VDC distributions. There are 4 peaks on NH3 elastic data set.
Short Carbon Runs
6/14/13: Re-label short-cell carbon runs so they aren't confused with standard ammonia production runs. These are at 1.1 GeV and the last set of runs we took at this setting. I believe they are only on the L-HRS. Going to label them as RunStatus = 14.
6/14/13: Some runs weren't added to mysql using my script because they didn't have a start of run entry in the HALOG. This means that these runs were never given entries in the DB. I've manually added the runs: 3778, 5698, 22553 . Now they also need to be updated for prescale (usually comes from beginning of run), deadtime, trigger efficiency and also beam polarization and PID cuts.
>So...if something exists in your spreadsheet, but doesn't exist in the >mysql, it's just a matter of manually fixing it? If it doesn't exist in >your spreadsheet, maybe its lost forever? > >For run 22928: RunStatus=1 (production), RunQuality=1 (calibration). Only >runs with RunQuality=2 or 3 were replayed. I guess I could fix this with >the online editor thing you set up. > >At the end of the day, its only 9 runs. Even if we ignore them all its >probably not such a big deal! > >Melissa > > 3778: Exists in the spreadsheet I used to create the MYSQL. > 3826: Doesn't exist in spreadsheet. That means Chao didnt' compute EPICS > averages for it. Raw data file may not exist? Not sure. > 4350: Blame Toby > 5698: Exists in spreadsheet. > 5963: Doesn't exist in spreadsheet > 6218: Doesn't exist in spreadsheet > > > 24735: > 22928: This is labelled as production in the spreadsheet and DB. Did you > mean another run? > 22533: It's in my spreadsheet. > > If it didn't have a start of run, it most likely never had a row created > for it in the table. I can fix this. > > Hope this helps! > Ryan > > > On 4/30/13 10:53 AM, Melissa Cummings wrote: >> Hey Ryan and Toby, >> >> During data quality checks I found 9 runs that didn't have rootfiles. >> I'm >> sending this to both of you because some of the runs don't exist in the >> mysql, but some of them just weren't replayed for whatever reason. >> >> LHRS: >> 3778: DNE in mysql (start of run script DNE) >> 3826: entries are "NULL" in mysql >> 4350: exists in mysql, not replayed >> 5698: DNE in mysql (start of run script DNE) >> 5963: DNE in mysql (short run - probably junk anyway) >> 6218: DNE in mysql (LAST run) >> >> RHRS: >> 24735: exists in mysql, not replayed >> 22928: labelled as calibration, from HALOG it looks like production >> 22553: DNE in mysql (start of run script DNE) >> >> Are you guys taking finals now? Good luck with that! >> >> Thanks! >> Melissa
Also changed 22928 RunQuality from 1 to 2. I tried to replay 3826 but it said data file not found, which is what I would've expected. If the runs don't exist in Chao's spreadsheet then I don't believe there is a data file for them.
24795 is a junk production run and 24794 is a dilution run on ammonia with 0% polarization
Runs without Trigger Efficiency
6/20/13: I found runs that didn't have a calculated trigger efficiency for some reason. Calculating the efficiency and adding it to the DB for the following runs:
Production: 6161 6007 5996 5957 5902 5892 5887 5828 5792 5255 5246 5227 5228 5222 5185 5184 5138 5084 5009 4988 4971 4493 4466 4373 3547 4374 5289
Dilution: 4443 4534 5022 5722 5778 5948 6091
Packing Fraction: 4781
Production: 23219 23695 23766 23904 23931 24491 24653 24654
RHRS runs that are mysteriously not on the HALOG
6/20/13: It looks like these runs were taken when the Hall was open so I don't think they're anything but it's still good to catalogue them. Run flag is "15" in t he mysql database.
21933 21934 21935 21936 21937 21938 21939 21940 21941 21942 21943 21944 21945 21946 21947 21948 21949 21950 21952 21958 22083 22091
Runs won't have a trigger efficiency but still need deadtime calculated
I calculated deadtime on the way to getting a final trigger efficiency so if TEff was not calculated for a run then neither was the deadtime. This is the case for runs where the prescale on the efficiency trigger was set to 0 or when T2 was broken. Going to calculate just the deadtime for these runs.
LHRS: 3282 3283 3284 3285 3288 3289 3290 3291 3292 3293 3686 3687 3688 3689 3690 3691 2993 2994 2996 2997
Updated Beam Energy and Beam Energy STD
6/25/13 Updated beam energy and beam energy STD from the latest calculations from Chao. I did this for all runs. The file is result.csv and it has other epics information but I only updated the beam energy for now.
Missing Runs from Min
7/24/13 Found an old email from Min that had a list of runs missing from the database. Added in all the runs that were listed as existing in the spreadsheet from Chao. Nothing done about the ?-runs for now. I don't believe any of these runs are production runs.
2749 - Exists in epics_csv.csv 2750 - Exists in epics_csv.csv 2751 - Exists in epics_csv.csv 2810 - Exists in epics_csv.csv 2811 - Exists in epics_csv.csv 2812 - Exists in epics_csv.csv 2813 - Exists in epics_csv.csv 2814 - Exists in epics_csv.csv 21950 - Exists in epics_csv.csv 21951 - ? 21952 - Exists in epics_csv.csv 21955 - ? 21956 - ? 2930 - Exists in epics_csv.csv 2932 - Exists in epics_csv.csv 22028 - Exists in epics_csv.csv 2933 - Exists in epics_csv.csv 2934 - Exists in epics_csv.csv 2998 - Exists in epics_csv.csv 2999 - Exists in epics_csv.csv 22073 - ? 3000 - Exists in epics_csv.csv 22090 - ? 22091 - Exists in epics_csv.csv 22142 - ? 22148 - Exists in epics_csv.csv 22249 - Exists in epics_csv.csv 3202 - Exists in epics_csv.csv 22276 - Exists in epics_csv.csv 22277 - Exists in epics_csv.csv 3203 - Exists in epics_csv.csv 22312 - ? 3296 - ? 3297 - ? 3298 - ? 3299 - ? 3300 - ? 3301 - ? 3302 - ? 3303 - ? 3304 - ? 3305 - ? 3306 - ? 22376 - ? 22377 - ? 22378 - ? 3307 - ? 3308 - ? 22379 - ? 22380 - ? 3309 - ? 3310 - ? 3311 - ? 3312 - ? 3313 - ? 3314 - ? 3315 - ? 22381 - Exists in epics_csv.csv 22382 - Exists in epics_csv.csv 22383 - Exists in epics_csv.csv 22385 - Exists in epics_csv.csv 22386 - Exists in epics_csv.csv 3319 - ? 22387 - ? 22389 - Exists in epics_csv.csv 3323 - ? 3324 - ? 22390 - ? 22391 - ? 3325 - ? 3326 - ? 3327 - ? 3328 - ? 3329 - ? 3330 - ? 3331 - ? 3332 - ? 3333 - ? 3334 - ? 3335 - ? 3336 - ? 3337 - ? 3338 - ? 22553 - Exists in epics_csv.csv 3640 - ? 3650 22689 - ? 3778 - Exists in epics_csv.csv 22818 - ? 3795 - ? 3926 - Exists in epics_csv.csv 3996 - ? 4005 - ? 23317 - ? 4698 - Exists in epics_csv.csv 23964 - Exists in epics_csv.csv 5171 - Exists in epics_csv.csv 24058 - ? 5441 - ? 24240 - Exists in epics_csv.csv 24241 - Exists in epics_csv.csv 24242 - Exists in epics_csv.csv 24243 - Exists in epics_csv.csv 24244 - Exists in epics_csv.csv 24245 - Exists in epics_csv.csv 24246 - Exists in epics_csv.csv 5659 - ? 24377 - ? 5698 - Exists in epics_csv.csv 5865 - Exists in epics_csv.csv 5988 - Exists in epics_csv.csv 5990 - Exists in epics_csv.csv 24713 - ? 6203 - ?
Update to Trigger Efficiency
9/17/13 - I redid the trigger efficiency calculation using the PID cuts from Melissa's Cherenkov/PR/SH/PS analysis. I also tried a different method to calculate the deadtime. This new method and the old method agree, which is good. I updated all production/dilution/packing fraction runs with new efficiencies. Also updated the deadtimes because I found one or two errors (99% DT) in the previous calculation.
Two missing runs 6217/6218
4/21/14 - Toby found two runs with missing information in the mysql. Melissa and I have updated our respective table fields. EPICS information was not been updated from Chao yet.
Swapped Target Type Expert Comment for 5860/5862
2/23/15 - Toby found that the expert comment for two runs were swapped. 5860 should be empty and 5862 should be dummy
Swapped Target Type Expert Comment for more runs
04/07/15 - Toby found more runs with the wrong target comment. 4921 Empty (not dummy), 4924 Dummy (not empty), 4925 Dummy (not empty), 4424 Dummy (not carbon), 4380 Empty (not dummy), 4379 Dummy (not empty)
Target Pol Update
11/13/15 - Updated the target polarizations with the updated analysis from Toby for both HRS. Updated the systematics and the polarizations themselves. Also found that some runs have no polarization info due to PDP crashes. An expert comment has been added for each of these runs. They are: 3611 3612 3812 3821 6218 22638 22639 22672 24479
Target Pol Update
08/19/16 - Updated the target polarizations with the updated analysis from Toby for both HRS. Found a mistake in the previous polarizations where for similar RunStart and RunStop times the two HRS polarizations were significantly different. Both HRS's are updated now. Hopefully these are the FINAL polarizations and uncertainties. Updated the systematics and the polarizations themselves. Also found that some runs have no polarization info due to PDP crashes. An expert comment has been added for each of these runs. They are: 3611 3612 3812 3821 6218 22638 22639 22672 24479
Target Pol Update
02/15/17 - Pretty sure this is the final update to the target polarizations. There was a general error in the calculation of the uncertainties in the target polarizations. This has been fixed. Also two new columns were added to the database. TargetPolSys and TargetPolStat are the respective absolute errors. The column TargetError is now the total relative uncertainty in %.
1.7 GeV Run Update
06/22/17 - Updated helicity dependent info (it didn't exist before) for the mismatched septa runs at the 1.7 GeV setting. Also updated the target polarization for these runs to match the 02/15/17 update. Efficiencies still don't exist for these runs but that should be OK because they will only be used for asymmetries.
Longitudinal Acc. Cuts
12/19/17 - Added in acceptance cuts for the 5T longitudinal setting for the LHRS. RHRS does not have cuts because we will not do a cross section on that arm. The description of the cuts is detailed in an email from Chao which is quoted below. xBeam = x_beam, yBeam = y_beam, rBeam = r_beam, x0_sr_raw = xSR, y0_sr_raw = ySR, r_sr_raw = rSR.
The major problem for our acceptance is that it only works within a certain cut. The theta angle cut should be (-10, 30) mrad and the phi cut should be (-15, 15) mrad. These two cuts are universal for all runs in the longitudinal setting. However, we need a slow raster current cut. Currently I set it to 50%. I would say a bit more about this cut.
Attached is a file contains the raster current cuts for longitudinal setting. The first column is the run number. The 2nd and 3rd column is the x and y coordinates (in mm) of the beam (x_beam and y_beam) and the 4th column is the radius of the raster in mm (r_beam). The 5th and 6th column is the x and y average values of the slow raster current (x0_sr_raw and y0_sr_raw) and the 7th column is the maximum value of the slow raster current (r_sr_raw) equivalent to the raster radius (they do not have unit since they are ADC values). The slow raster current cut should be (Lrb.Raster.rawcurSL.x - x0_sr_raw)^2 + (Lrb.Raster.rawcurSL.y - y0_sr_raw)^2 < 50% * r_sr_raw^2 in the data and (gen.beam.l_x - x_beam)^2 + (gen.beam.l_y - y_beam)^2 < 50% * r_beam^2 in the simulation. The simulation and the data is compared within these cuts so we have some confidence to the calculated acceptance with our simulation. The numbers in the attached database should be include in our sql database sometime later.