Here you'll find links to calibration studies for the BEMC:
BTOW
2006
procedure used to set the HV online
MIP study to check HV values -- note: offline calibrations available at Run 6 BTOW Calibration
2005
final offline
2004
final offline
2003
offline slope calibration
MIPs
electrons
BSMD
2004
Dmitry & Julia - SMD correlation with BTOW for 200 GeV AuAu
BPSD
2005
Rory - CuCu PSD calibration studies
2004
Jaro - first look at PSD MIP calibration for AuAu data
This task has been picked up by Rory Clarke from TAMU. His page is here:
Parent for Run 8 BPRS Calibration done mostly by Jan
Pedestal residua for 434 zero-bias events from run 9069005.
The same pedestal for all caps was used - as implemented in the offline DB.
Fig 2. Run 9067013, excluded caps >120. All 4800 tiles, pedestal residua from 100 st_zeroBias events. Y-axis [-50,+150].
Fig 3. Run 9067013, excluded caps >120. Pedestal corrected spectra for all 4800 tiles, 10K st_physics events. Y-axis [-50,+150].
Dead MAPMT results with 4 patches 4 towers wide.
Fig 4.
Run 9067013, excluded caps >120.
Zoom-in Pedestal corrected spectra, one ped per channel.
Top 10K st_physics events (barrel often triggered)
Bottom pedestal residua 100 st_zeroBias events
Fig 5.
Run 9067013, input =100 events, accept if capID=124 , raw spectra.
There are 4 BPRS crates, so 1200 channels/crate. In terms of softIds it's
PSD1W: 1-300 + 1501-2400
PSD19W: 301-1500
PSD1E: 2401-2900 + 4101-4800
PSD20E: 2901-4100
Why only 2 channels fired in crate PSD20E ?
Run 9067013, 30K st_physics events, spectra accumulated separately for every cap.
Top plot pedestal (channel), bottom plot integral of pedestal peak to total spectrum.
Fig 1. CAP=122
Fig 2. CAP=123
Fig 3. CAP=124
Fig 4. CAP=125
Fig 5. CAP=126
Fig 6. CAP=127
Fig 7. Raw spectra for capID=125. Left: typical good pedestal, middle: very wide pedestal, right: stuck lower bit.
For run 9067013 I found: 7 tiles with ADC=0, ~47 tiles with wide ped, ~80 tiles with stuck lower bit.
Total ~130 bad BPRS tiles based on pedestal shape, TABLE w/ bad BPRS tiles
Fig 8. QA of pedestals, R9067013, capID=125. Below is 5 plots A,...,F all have BPRS soft ID on the X-axis.
A: raw spectra (scatter plot) + pedestal from the fit as black cross (with error).
B: my status table based on pedestal spectrum. 0=good, non-zero =sth bad.
C: chi2/DOF from fitting pedestal, values above 10. were flagged as bad
D: sigma of pedestal fit, values aove 2.7 were flagged as bad
E: integral of the found pedestal peak to the total # of entries. On average there was ~230 entries per channel.
Fig 9. BPRS pedestals for 'normal' caps=113,114,115 shown with different colors
Fig 10. BPRS pedestals for caps=100..127 and all softID , white means bad spectrum, typical stats of ~200 events per softID per cap
Fig 11. BPRS:" # of bad caps , only capID=100...127 were examined.
Fig 12. BPRS:" sig(ped)
Fig 13. BPRS:" examples of ped distribution for selected channels. Assuming for sing;e capID sig(ped)=1.5, the degradation of pedestal resolution if capID is not accounted for would be: sqrt(1.5^2 +0.5^2)=1.6 - perhaps it is not worth the effort on average. There still can be outliers.
Goal: tag events with desynchronized CAP id, find correct cap ID
Method:
Input: 23K st_physics events from run 9067013.
For technical reason limited range of nominal capID=[122,126] was used, what reduces data sample to 4% ( 5/128=0.04).
Results:
Fig 1. ADC-ped(capID,softID) vs. softID for crate 1 (i.e. PSD19W) as is'. No capID corruption detection.
Fig 2. ADC-ped(capID,softID) with capID detection & correction enabled. The same events.
Note, all bands are gone - the capID fix works.
Right: ADC-ped spectra: Black: 594 uncorrupted events, red: 30 corrupted & fixed events.
The integral for ADC[10,70] are 2914 and 141 for good and fixed events, respectively.
141/2914=0.048; 30/594=0.051 - close enough to call it the same (within stats).
Fig 3. Auxiliary plots.
TOP left: chi/dof for all events. About 1100 channels is used out of 1200 in served by crate 1. Rejected are bad & outliers.
TOP right: change of chi2/dof for events with corrupted & fixed capID.
BOTTOM: frequency of capID for good & fixed events, respectively.
Conclusions:
Table 1.
shows capIDs for the 4 BPRS crates for subsequent events. Looks like for the same event cap IDs are strongly correlated, but different.
Conclusion: if we discard say capID=125, we will make hole of 1/4 of barrel , different in every event. This holds for BPRS & BSMD.
capID= 83:89:87:90: eve=134 capID= 1:4:11:3: eve=135 capID= 74:74:81:72: eve=136 capID= 108:110:116:110: eve=137 capID= 68:72:73:75: eve=138 capID= 58:55:65:64: eve=139 capID= 104:110:106:101: eve=140 capID= 9:6:8:15: eve=141 capID= 43:37:47:46: eve=142 capID= 120:126:118:122: eve=143 capID= 34:41:41:40: eve=144 capID= 3:0:126:2: eve=145 capID= 28:33:28:30: eve=146 capID= 72:64:70:62: eve=147 capID= 2:6:7:5: eve=148 capID= 22:32:33:24: eve=149 capID= 8:4:5:124: eve=150 capID= 23:17:17:19: eve=151 capID= 62:57:63:61: eve=152 capID= 54:53:45:47: eve=153 capID= 68:75:70:67: eve=154 capID= 73:79:73:72: eve=155 capID= 104:98:103:103: eve=156 capID= 12:5:13:10: eve=157 capID= 5:10:10:2: eve=158 capID= 32:33:27:22: eve=159 capID= 96:102:106:97: eve=160 capID= 79:77:72:77: eve=161
The pair of plots below demonstrates BPRS pedestal residua are very clean once peds for 128 caps are used and this 5% capID corruption is detected and fixed event by event.
INPUT: run 9067013, st_phys events, stale BPRS data removed, all 38K events .
Fig 0. capID correction was enabled for the bottom plot. Soft ID is on the X-axis; rawAdc-ped(softID, capID) on the Y-axis.
Now you can believe me the BPRS pedestals are reasonable for this run. Look at the width of pedestal vs. softID, shown in Fig 1 below.
There are 2 regions with wider peds, marked by magenta(?) and red circle.
The individual spectra look fine (fig 2b, 2bb).
But the correlation of pedestal width with softID (fig 1a,1b) and phi-location of respective modules (fig 3a, 3b) suggest it could be due to the beam background at
~7 o'clock on the West and at 6-9 o'clock on the East.
INPUT: st_hysics events from run=9067013
Fig 1. Top: pedestal(softID & capID), middle: sigma of pedestal, bottom: status table, Y-axis counts how many capID had bad spectra.
Based on pedestal spectra there are 134 bad BPRS tiles.
Fig 2. Distribution of pedestals for 4 selected softIDs, one per crate.
Fig 3. Zoom-in of ped(soft,cap) spectrum to see there is more pairs of 2 capID which have high/low pedestal vs. average, similar to the known pair (124/125).
Looks like such piar like to repeat every 21 capIDs - is there a deeper meaning it?
(I mean will the World end in 21*pi days?)
Fig 4. Example of MIP spectra (bottom). MIP peak is very close to pedestal, there are worse cases than the one below.
TPC based MIP algo was devised to calibrate BPRS tiles.
Details of the algo are in 1st PDF,
example of MIP spectra for 40 tails with ID [1461,1540] are in subsequent 5 PDF files, sorted by MAPMT
Fig 1 shows collapsed ADC-ped response for all 4800 BPRS tiles. The average MIP response is only 10 ADC counts above ped wich has sigma of 1.5 ADC. The average BPRS gain is very is very low.
Fig 1. Change of BPRS pedestal over ... within the same fill, see softID~1000
Pedestal residua (Y-axis) vs. softID (X-axis), same reference pedestals used from day 67 (so some peds are wrong for both runs) were used both plots.
Only fmsslow events, no further filtering, capID corruption fixed in fly.
Top run 9066001, start 0:11 am, fill 9989
Bottom run 9066012, start 2:02 am, fill 9989
Fig 2. Run list. system config was changed between those 2 runs marked in blue.
Fig 3. zoom in of run 9066001
Fig 4. another example of BPRS ped jump between runs: 9068022 & 9068032, both in the same fill.
Comparison of accuracy of pedestal calculation using Gauss fit & plain average of all data.
The plain average method is our current scheme for ZS for BPRS & BSMD for 2009 data taking.
Fig 2. TOP: RMS of the plain average, using 13K of fmsslow-triggered events which are reasonable surrogate of minBias data for BPRS.
Middle: sigma of pedestal fit using Gauss shape
Bottom: ratio of pedestals from this 2 method. The typical pedestal value is of 170 ADC. I could not make root to display the difference, sorry.
There are large section of 'miples' BPRS tiles if default mapping is used: 3x80 tiles + 2x40 tiles=320 tiles, plus there is a lot of small mapping problems. Plots below are divided according to 4 BPRS crates - I assumed the bulk of mapping problems should be contained within single crate.
Fig 1, crate=0, Middle plot is after swap - was cured for soft id [1861-1900]
if(softID>=1861 && softID<=1880) softID+=20; else if(softID>=1881 && softID<=1900) softID-=20;
Fig2, crate=1, Middle plot is after swap - was cured for soft id [661-740]
if(softID>=661 && softID<=700) softID+=40; else if(softID>=701 && softID<=740) softID-=40;
Fig3, crate=2, Middle plot is after swap - was cured for soft id [4181-4220].
But swap in [2821-2900] is not that trivial - suggestions are welcome?
if(softID>=4181 && softID<=4220) softID+=40; else if(softID>=4221 && softID<=4260) softID-=40;
Fig4, crate=3, swap in [3781-3800] is not that trivial - suggestions are welcome?
Based on correlation plot (shown as attachment 6) I found ~230 miss-mapped BPRS tiles (after Rory's correction were applied).
Once additional swaps were added ( listed in table 1, and in more logical for in attachment 3) the correlation plot is almost diagonal, shown in attachment 1.
Few examples of discovered swaps are in fig1. The most important are 2 series of 80 strips, each shifted by 1 software ID.
Fig 2 shows MIP signal shows up after shit by 1 softID is implemented.
The ADC spectra for all 4800 strips are shown in attachment 2. Attachment 5 & 6 list basic QA of 4800 BRS tiles for 2 cases: only Rory's swaps and Rory+Jan swaps.
Fig 1. Examples of swaps, dotted line marks the diagonal. Vertical axis shows towers pointed by TPC MIP track. X-axis shows BPRS soft ID if given ADC was in the range [7,30] - the expected MIP response. Every BPRS tile was examined for every track, multiple times per event if more than 1 MIP track was found.
Left: 4 sets of 4 strips needs to be rotated. Right: shift by 1 of 80 strips overlaps with rotation of 6 strips.
Fig 2. Example of recovered 80 tiles for softID~2850-2900. Fix: softID was shifted by 1.
Fig 3. Summary of proposed here corrections to existing BPRS mapping
Table 1. List of all BPRS swaps , ver 1.0, found after Rory's corrections were applied, based on 2008 pp data from days 64-70.
The same list in human readable from is here
Identified BPRS 233 swaps. Convention: old_softID --> new_softID
389 --> 412 , 390 --> 411 , 391 --> 410 , 392 --> 409 , 409 --> 392 ,
410 --> 391 , 411 --> 390 , 412 --> 389 , 681 --> 682 , 682 --> 681 ,
685 --> 686 , 686 --> 685 ,1074 -->1094 ,1094 -->1074 ,1200 -->1240 ,
1220 -->1200 ,1240 -->1260 ,1260 -->1220 ,1301 -->1321 ,1303 -->1323 ,
1313 -->1333 ,1321 -->1301 ,1323 -->1303 ,1333 -->1313 ,1878 -->1879 ,
1879 -->1878 ,1898 -->1899 ,1899 -->1898 ,2199 -->2200 ,2200 -->2199 ,
2308 -->2326 ,2326 -->2308 ,2639 -->2640 ,2640 -->2639 ,2773 -->2793 ,
2793 -->2773 ,2821 -->2900 ,2822 -->2821 ,2823 -->2822 ,2824 -->2823 ,
2825 -->2824 ,2826 -->2825 ,2827 -->2826 ,2828 -->2827 ,2829 -->2828 ,
2830 -->2829 ,2831 -->2830 ,2832 -->2831 ,2833 -->2832 ,2834 -->2833 ,
2835 -->2834 ,2836 -->2835 ,2837 -->2836 ,2838 -->2837 ,2839 -->2838 ,
2840 -->2839 ,2841 -->2840 ,2842 -->2841 ,2843 -->2842 ,2844 -->2843 ,
2845 -->2844 ,2846 -->2845 ,2847 -->2846 ,2848 -->2847 ,2849 -->2848 ,
2850 -->2849 ,2851 -->2850 ,2852 -->2851 ,2853 -->2852 ,2854 -->2853 ,
2855 -->2854 ,2856 -->2855 ,2857 -->2856 ,2858 -->2857 ,2859 -->2858 ,
2860 -->2859 ,2861 -->2860 ,2862 -->2861 ,2863 -->2862 ,2864 -->2863 ,
2865 -->2864 ,2866 -->2865 ,2867 -->2866 ,2868 -->2867 ,2869 -->2868 ,
2870 -->2869 ,2871 -->2870 ,2872 -->2871 ,2873 -->2872 ,2874 -->2873 ,
2875 -->2874 ,2876 -->2875 ,2877 -->2876 ,2878 -->2877 ,2879 -->2878 ,
2880 -->2879 ,2881 -->2880 ,2882 -->2881 ,2883 -->2882 ,2884 -->2883 ,
2885 -->2884 ,2886 -->2885 ,2887 -->2886 ,2888 -->2887 ,2889 -->2888 ,
2890 -->2889 ,2891 -->2890 ,2892 -->2891 ,2893 -->2892 ,2894 -->2893 ,
2895 -->2894 ,2896 -->2895 ,2897 -->2896 ,2898 -->2897 ,2899 -->2898 ,
2900 -->2899 ,3121 -->3141 ,3141 -->3121 ,3309 -->3310 ,3310 -->3309 ,
3717 -->3777 ,3718 -->3778 ,3719 -->3779 ,3720 -->3780 ,3737 -->3757 ,
3738 -->3758 ,3739 -->3759 ,3740 -->3760 ,3757 -->3717 ,3758 -->3718 ,
3759 -->3719 ,3760 -->3720 ,3777 -->3737 ,3778 -->3738 ,3779 -->3739 ,
3780 -->3740 ,3781 -->3861 ,3782 -->3781 ,3783 -->3782 ,3784 -->3783 ,
3785 -->3784 ,3786 -->3785 ,3787 -->3786 ,3788 -->3787 ,3789 -->3788 ,
3790 -->3789 ,3791 -->3790 ,3792 -->3791 ,3793 -->3792 ,3794 -->3793 ,
3795 -->3794 ,3796 -->3835 ,3797 -->3836 ,3798 -->3797 ,3799 -->3798 ,
3800 -->3799 ,3801 -->3840 ,3802 -->3801 ,3803 -->3802 ,3804 -->3803 ,
3805 -->3804 ,3806 -->3805 ,3807 -->3806 ,3808 -->3807 ,3809 -->3808 ,
3810 -->3809 ,3811 -->3810 ,3812 -->3811 ,3813 -->3812 ,3814 -->3813 ,
3815 -->3814 ,3816 -->3855 ,3817 -->3856 ,3818 -->3817 ,3819 -->3818 ,
3820 -->3819 ,3821 -->3860 ,3822 -->3821 ,3823 -->3822 ,3824 -->3823 ,
3825 -->3824 ,3826 -->3825 ,3827 -->3826 ,3828 -->3827 ,3829 -->3828 ,
3830 -->3829 ,3831 -->3830 ,3832 -->3831 ,3833 -->3832 ,3834 -->3833 ,
3835 -->3834 ,3836 -->3795 ,3837 -->3796 ,3838 -->3837 ,3839 -->3838 ,
3840 -->3839 ,3841 -->3800 ,3842 -->3841 ,3843 -->3842 ,3844 -->3843 ,
3845 -->3844 ,3846 -->3845 ,3847 -->3846 ,3848 -->3847 ,3849 -->3848 ,
3850 -->3849 ,3851 -->3850 ,3852 -->3851 ,3853 -->3852 ,3854 -->3853 ,
3855 -->3854 ,3856 -->3815 ,3857 -->3816 ,3858 -->3857 ,3859 -->3858 ,
3860 -->3859 ,3861 -->3820 ,4015 -->4055 ,4016 -->4056 ,4017 -->4057 ,
4018 -->4058 ,4055 -->4015 ,4056 -->4016 ,4057 -->4017 ,4058 -->4018 ,
4545 -->4565 ,4546 -->4566 ,4549 -->4569 ,4550 -->4570 ,4565 -->4545 ,
4566 -->4546 ,4569 -->4549 ,4570 -->4550 ,
For the reference:
Identified BPRS hardware problems:
Tiles w/ ADC=0 for all events:
* 3301-4, 3322-4 - all belong to PMB44-pmt1, dead Fee in 2007
belonging to the same pmt:
3321 has pedestal only
3305-8 and 33205-8 have nice MIP peaks, work well
* 2821, 3781 , both at the end of 80-chanel shift in mapping
neighbours of 2821: 2822,... have nice MIP
similar for neighbours of 3781
* 4525, 4526 FOUND! should be readout from cr=2 position 487 & 507, respectively
I suspect all those case we are reading wrong 'positon' from the DAQ file
Pair of consecutive tiles with close 100% cross talk, see Fig 4.
35+6, 555+6, 655+6, 759+60, 1131+2, 1375+6, 1557+8,
2063+4, 2163+4, 2749+50, 3657+8,
3739 & 3740 copy value of 3738 - similar case but with 3 channels.
4174+5
Hot pixels, fire at random
1514, 1533, 1557,
block: 3621-32, 3635,3641-52 have broken fee, possible mapping problem
block: 3941-3976 have broken fee
Almost copy-cat total 21 strips in sections of 12+8+1
3021..32, 3041..48, 3052
All have very bread pedestal. 3052 may show MIP peak if its gain is low.
Fig 4. Example of pairs of correlated channels.
BPRS absolute gains from MIP, ver 1.0
Fig 1 Typical MIP signal seen by BPRS(left) & BTOW (right) for soft ID=??, BPM16.2.x (see attachment 1 for more)
Magenta line is at MIP MPV-1*sigma -> 15% false positives
Fig 2 Typical MIP signal seen by BPRS, pmt=BPM16.2
Average gain of this PMT is on the top left plot, MIP is seen in ADC=4.9, sig=2.6
Fig 3 Most desired MIP signal (ADC=16) seen by BPRS(left) & BTOW (right) for soft ID=1388, BPM12.1.8
Magenta line is at MIP MPV-1*sigma -> 15% false positives, (see attachment 2 for more)
Fig 4 Reasonable BPRS, pmt=BPM11.3, pixel to pixel gain variations is small
Fig 5 High MIP signal (ADC=28) seen by BPRS(left) & BTOW (right) , BPM11.5.14
Magenta line is at MIP MPV-1*sigma -> 15% false positives, (see attachment 3 for more)
Fig 6 High gain BPRS, pmt=BPM11.5
This is still work in progress, same algo as on previous post.
Now I run on 12M events (was 6 M) and do rudimentary QA on MIP spectra, which results with ~10% channel loss (the bottom figure). However, the average MIP response per tile is close to the final value.
Conclusion: only green & light yellow tiles have reasonable MIP response of ~15 ADC. For blue we need to rise HV, for red we can lower it (to reduce after pulsing). White area are masked/dead pixels.
Fig 1: BPRS MIP gains= gauss fit to MIP peak.
A) gains vs. eta & phi to see BPM pattern. B) gains with errors vs. softID, C) sigma MIP shape, D) tiles killed in QA
Fig 2: BTOW MIP gains= gauss fit to MIP peak. Content of this plot may change in next iteration.
A) gains vs. eta & phi. "ideal" MIP is at ADC=18, all towers. Yellow& red have significantly to high HV, light blue & blue have too low HV.
B) gains with errors vs. softID, C) sigma MIP shape, D) towers killed in QA
This is an illustration of improvement of MIP finding efficiency if ADC gates are set on BPRS & BTOW at the places matched to actual gains instead of fixed 'ideal' location.
Fig 1 is from previous iteration (item 11) with fixed location MIP gates. Note low MIP yield in BPRS (red histo) due to mismatched BTOW ADC gate (blue bar below green histo).
Fig 2 New iteration with adjusted MIP gates. (marked by blue dashed lines).
MIP ADC gate is defined (based on iteration 1) by mean value of the gauss fit +/- 1 sigma of the gauss width, but not lower than ADC=3.5 and not higher than 2* mean ADC
Note similar MIP yield in BPRS & BTOW. Also new MIP peak position from Gauss fit did not changed, meaning algo is robust. The 'ideal' MIP ADC range for BTOW is marked by magenta bar (bottom right) - is visibly too low.
Attached PDF shows similar plots for 16 towers. Have a look at page 7 & 14
BPRS absolute gains using TPC MIPs & BTOW MIP cut, ver 1.6 , 2008 pp data
Fig 1. Example of typical BPRS & BTOW MIP peak determine in this analysis.
MIP ADC gate (blue vertical lines) is defined (based on iteration 1.0) by the mean value of the gauss fit +/- 1 sigma of the gauss width, but not lower than ADC=3.5 (BPRS) or 5 (BTOW) and not higher than 2* mean ADC.
FYI, the nominal MIP ADC range for BTOW (ADC=4096 @ ET=60 GeV/c) is marked by magenta bar (bottom right).
Fig 2. ADC of MIP peak for 4800 BPRS tiles.
Top plot: mean, X-axis follows eta bin , first West then East. Y-axis follows |eta| bin, 20 is at physical eta=+/- 1.0.Large white areas are due to bad BPRS MAPMT (4x4 or 2x8 channels), single white rectangles are due to bad BPRS tile or bad BTOW tower.
Middle plot: mean +/- error of mean, X-axis =soft ID. One would wish mean MIP value is above 15 ADC to place MIP cut comfortable above the pedestal (sig=1.5-1.8 ADC counts).
Bottom plot: width of MIP distribution. Shows the width of MIP shape is comparable to the mean and we want to put MIP cut well below the mean to not loose half of discrimination power.
Note, the large # 452 of not calibrated BPRS tiles does not mean that many are broken. There are 14 known bad PMTs and e 'halves' , total=15*16=240 (see attachment 2). There rest are due broken towers (required by MIP coincidence) and isolated broken fibers, FEE channels.
Fig 3. Example of PMT with fully working 16 channels.
Top left plot shows average MIP ADC from 16 pixels. Top middle: correlation between MIP peak ADC and raw slope - can be used for relative gain change in 2009. Top right shows BTOW average MIP response.
Middle: MIP spectra for 16 pixels.
Bottom: raw spectra fro the same 16 pixels.
300 plots like this is in attachment 3.
Fig 4. Top plot: average over 16 pixels MIP ADC for 286 BPRS pmts. X axis = PMB# [1-30] + pmt #[1-5]/10. Error bars represent RMS of distribution (not error of the mean).
Middle plot : ID of 14 not calibrated PMTs. For detailed location of broken PMTs see attachment 2, the red computer-generated ovals on the top of 2007 Will's scribbles mark broken PMTs (blue ovals are repaired PMTs) found in this 2008 analysis.
Bottom plot shows # of pixels in given PMT with reasonable MIP signal (used in the top figure).
Fig 5. ADC of MIP peak for 4800 BTOW tower. Top lot: mean, middle plot: mean +/- error of mean, bottom plot: width of MIP
Note, probably 1/2 of not calibrated BTOW towers are broken, the other half is due to bad BPRS tiles, required to work by this particular algo.
Table 1. Simply dead PMT's. Raw spectra contain 16 nice pedestals, no energy above, see Fig 2.
PMB,pmt, PDF page # , 16 mapped softIDs 2,3 8, 2185 2186 2187 2188 2205 2206 2207 2208 2225 2226 2227 2228 2245 2246 2247 2248 2,4, 9, 2189 2190 2191 2192 2209 2210 2211 2212 2229 2230 2231 2232 2249 2250 2251 2252 4,5, 20, 2033 2034 2035 2036 2053 2054 2055 2056 2073 2074 2075 2076 2093 2094 2095 2096 5,1, 21, 1957 1958 1959 1960 1977 1978 1979 1980 1997 1998 1999 2000 2017 2018 2019 2020 12,2, 57, 1421 1422 1423 1424 1425 1426 1427 1428 1441 1442 1443 1444 1445 1446 1447 1448 14,1, 66, 1221 1222 1223 1224 1225 1226 1227 1228 1241 1242 1243 1244 1245 1246 1247 1248 24,4, 119, 433 434 435 436 453 454 455 456 473 474 475 476 493 494 495 496 25,4, 124, 353 354 355 356 373 374 375 376 393 394 395 396 413 414 415 416 26,4, 129, 269 270 271 272 289 290 291 292 309 310 311 312 329 330 331 332 32,3, 158, 2409 2410 2411 2412 4749 4750 4751 4752 4769 4770 4771 4772 4789 4790 4791 4792 44,5, 220, 3317 3318 3319 3320 3337 3338 3339 3340 3357 3358 3359 3360 3377 3378 3379 3380 39,2, 192, 2905 2906 2907 2908 2925 2926 2927 2928 2945 2946 2947 2948 2965 2966 2967 2968
Table 2. FEE is broken (or 8-connector has a black tape), disabling 1/2 of PMT, see Fig 3.
PMB,pmt, nUsedPix, avrMIP (adc), rmsMIP (adc),PDF page # , all mapped softIDs 7,1, 7, 19.14, 4.36, 31, 1797 1798 1799 1800 1817 1818 1819 1820 1837 1838 1839 1840 1857 1858 1859 1860 40,1, 8, 5.16, 0.53, 196, 2981 2982 2983 2984 3001 3002 3003 3004 3021 3022 3023 3024 3041 3042 3043 3044 40,2, 6, 5.44, 0.80, 197, 2985 2986 2987 2988 3005 3006 3007 3008 3025 3026 3027 3028 3045 3046 3047 3048 40,3, 12, 8.50, 1.05, 198, 2989 2990 2991 2992 3009 3010 3011 3012 3029 3030 3031 3032 3049 3050 3051 3052 44,1, 10, 13.72, 8.24, 216, 3301 3302 3303 3304 3305 3306 3307 3308 3321 3322 3323 3324 3325 3326 3327 3328 45,2, 8, 5.04, 1.55, 222, 3421 3422 3423 3424 3425 3426 3427 3428 3441 3442 3443 3444 3445 3446 3447 3448 51,5, 7, 11.37, 2.15, 255, 3877 3878 3879 3880 3897 3898 3899 3900 3917 3918 3919 3920 3937 3938 3939 3940 52,5, 8, 15.84, 4.80, 260, 3957 3958 3959 3960 3977 3978 3979 3980 3997 3998 3999 4000 4017 4018 4019 4020 60,1, 8, 15.12, 3.41, 296, 4581 4582 4583 4584 4601 4602 4603 4604 4621 4622 4623 4624 4641 4642 4643 4644
Table 3. Very low yield of MIPs (1/5 of typical), may de due to badly sitting optical connector, see Fig 4
PMB,pmt, QAflag, nUsedPix, avrMIP (adc), rmsMIP (adc),PDF page # , all mapped softIDs
10,5, 14, 0, 0.00, 0.00, 50, 1553 1554 1555 1556 1573 1574 1575 1576 1593 1594 1595 1596 1613 1614 1615 1616
31,5, 14, 0, 0.00, 0.00, 155, 4677 4678 4679 4680 4697 4698 4699 4700 4717 4718 4719 4720 4737 4738 4739 4740
37,2, 0, 10, 12.90, 7.41, 182, 2745 2746 2747 2748 2765 2766 2767 2768 2785 2786 2787 2788 2805 2806 2807 2808
49,1, 0, 16, 9.36, 3.55, 241, 3701 3702 3703 3704 3705 3706 3707 3708 3721 3722 3723 3724 3725 3726 3727 3728
Table 4. Stuck LSB in FEE, we can live with this. (do NOT mask those tiles)
PMB,pmt, QAflag, nUsedPix, avrMIP (adc), rmsMIP (adc),PDF page # , all mapped softIDs 51,1,0, 15, 8.37, 1.30, 251, 3861 3862 3863 3864 3881 3882 3883 3884 3901 3902 3903 3904 3921 3922 3923 3924 51,2,0, 16, 8.66, 1.06, 252, 3865 3866 3867 3868 3885 3886 3887 3888 3905 3906 3907 3908 3925 3926 3927 3928 51,3,0, 16, 11.08, 1.28, 253, 3869 3870 3871 3872 3889 3890 3891 3892 3909 3910 3911 3912 3929 3930 3931 3932 51,4,0, 16, 17.16, 2.70, 254, 3873 3874 3875 3876 3893 3894 3895 3896 3913 3914 3915 3916 3933 3934 3935 3936
Table 5. Other problems:
PMB,pmt, QAflag, nUsedPix, avrMIP (adc), rmsMIP (adc),PDF page # , all mapped softIDs 31,2,0, 16, 12.32, 3.73, 152,4665 4666 4667 4668 4685 4686 4687 4688 4705 4706 4707 4708 4725 4726 4727 4728
Fig 1. Example of fully functioning PMT (BPM=4, pmt=5). 16 softID are listed at the bottom o fthe X-axis.
Top plot: ADC spectra after MIP condition is imposed based on TPC track & BTOW response.
Bottom plot: raw ADC spectra for the same channels.
Fig 2. Example of dead PMT with functioning FEE.
Fig 3. Example of half-dead PMT, comes in pack, most likely broken FEE.
Fig 4. Example of weak raw ADC, perhaps optical connector got loose.
Fig 5. Example of stuck LSB, We can live with this, but gain hardware must be ~10% higher (ADC--> 18)
I selected 100 consecutive BPRS tiles, in 2 groups, from each of the 4 crates. The crate with systematic lower gain is the 4th (PSD-20E).
The same spectra from pp 2008 fmsslow events are used as for all items in the Drupal page.
Fig 1. BPRS carte=PSD-1W
Fig 2. BPRS carte=PSD-19W
Fig 3. BPRS carte=PSD-1E
Fig 4. BPRS carte=PSD-20E This one has lower MIP peak
Parent for Run 9 BPRS Calibration
Status of BPRS live channels on March 23, 2009, pp 500 data.
Input: 32K events accepted by L2W algo, from 31 runs taken on day 81 & 82.
Top fig shows high energy region for 4800 BPRS tiles
Middle fig shows pedestal region, note we have ZS & ped subtracted data in daq - plots is consistent. White area are not functioning tiles.
Bottom fig: projection of all tiles. Bad channels included. Peak at ADC~190 is from corrupted channels softID~3720. Peak at the end comes most likely form saturation of BPRS if large energy is deposited. It is OK - BPRS main use is as a MIP counter.
Attached PDF contains more detailed spectra so one can see every tile.
Collected here is information about BSMD Calibrations.
There are 36,000 BSMD channels, divided into 18,000 strips in eta and 18,000 strips in phi. They are located 5.6 radiation lengths deep in the Barrel Electromagnetic Calorimeter (BEMC).
Information about the 2008 BSMD Calibration effort will be posted below as sub-pages.
Fig 1. BSMD-E 2D mapping of soft ID. (plot for reverse mapping is attached)
To obtain muDst w/o zero suppression I run privately the following production chain:
chain="DbV20080703 B2008a ITTF IAna ppOpt VFPPV l3onl emcDY2 fpd ftpc trgd ZDCvtx NosvtIT NossdIT analysis Corr4 OSpaceZ2 OGridLeak3D beamLine BEmcDebug"
Examples of single strip pedestal residua, based on ~80K minB events from days 47-65, 30 runs. (1223 is # of bins, ignore it).
Left is typical good spectrum, see Fig2.3. Middle is also reasonable, but peds is 8 channels wide vs. typical 4 channels.
The strip shown on the right plot is probably broken.
Detailed view on first 500 strips. X=stripID for all plots.
Broader view of ... problems in BSMD-E plane. Note, status flag was taken in to account.
Top plot is sum of 30 runs from days 47-65, 80K events. Bottom plot is just 1 run, 3K events. You can't distinguish individual channels, but scatter plot works like a sum of channels, so it is clear the slopes are there, we need just more data.
Input: 1M dAu minb events from runs: 8335112+8336019
Method : fit slopes to individual strips, as discussed 01) raw spectra
Examples of raw pedestal corrected spectra for first 9 strips, 1M dAu events
Detailed view on first 500 strips. X=stripID for all plots.
BSMDE strips cover the whole barrel and eta-phi representation is better suited to present 18K strips in one plot.
For reference spectra from 1M pp events from ~12 EmcCheck runs from days 47-51. It proves I did it and it was naive on my side to expect 1M pp events is enough.
More pp events spectra - lot of problems with DB content.
This page provides more details addressing some of Will's questions.
2) fig 2: well, 500 chns is not a very "natural" unit, but I wonder
what corresponds to 50 chns (e.g., the region of fluctuation
250-300) ... I need to check my electronics readout diagrams
again, or maybe folks more expert will comment
Zoom-in of the god-to-bad region of BSMDE
'Good' strips belong to barrel module 2, crate 2, sitting at ~1 o'cloCk on the WEST
'BAD' strips belong also to barrel module 2, crate 2, sitting at ~1 o'cloCk on the WEST
Study of pedestal correlation for BSMDE
Goal: identify source of the band below main pedestals.
Figs 1,2 show pedestals 'breathe' in correlated way for channels in the same crate, but this mode is decoupled between crates. It may be enough to use individual peds for all CAPS to reduce this correlation.
Fig3 shows CAP=123 has bi-modal pedestals. FYI, CAPS 124,125 were excluded because they also are different.
Based on Fig1 & 3 one could write an algo identifying event by event in which mode CAP=123 settled, but for now I'll discard CAP123 as well.
All plots are made based on 500K d-Au events from the run 8336052.
Fig 0
Example of pedestal residua for BSMDE strips 1-500, after CAPS 124 and 125 were excluded.
Fig 1
Correlation between pedestal residua for neighbor strips. Strip 100 is used on all plots on the X-axis
Fig 2
Correlation between pedestal residua for strips in different crates. Strip 100 is used on all plots on the X-axis
Fig 3
Squared pedestal residua for strips [1,150] were summed for every event and plotted as function of CAP ID (Y-axis).
Those strips belong to the same module #1 . X-axis shoes SQRT(sum) for convenience. CAP=123 has double pedestal.
Input: 500K d-Au events from run 8336052,
Method : drop CAPS 123,124,125, subtract single ped for all other CAPS.
Fig 1 full resolution, only 6 modules , every module contains 150 strips.
Fig 2 All 18K strips (120 modules), every module contain only 6 bins, every bin is sum of 25 strips.
h->RebinX(25), h->SetMinimum(2), h->SetMaximum(1e5)
INPUT: 3M d-AU events from day ~336 of 2007.
Method: fit slopes to ADC =ped+30,ped+100.
The spectra, fits of pedestal residuum, and slopes were QAed.
Results: slopes were found for 16,577 of 18,000 strips of BSMDE.
Fig1 Good spectrum for strip ID=1. X-axis ADC-ped, CAPs=123,124,124 excluded.
Fig2 TOP: slopes distribution (Y-axis) vs. stripID within given module ( X-axis). Physical eta=0.0 is at X=0, eta=1.0 is at X=150.
BOTTOM: status tables with marked eta-phi location excluded 1423 strips of BSMDE by multi-stage QA of the spectra. Different colors denote various failed tests.
Fig3 Mapping of known BSMDE topology on chosen by us eta-phi 2D localization. Official stripID is shown in color.
Content
The automatic procedure doing QA of spectra was set up in order to preserve only good looking spectra as shown in the fig 0 below.
Fig 0 Good spectra for random strips in module=2. X-axis shows pedestal residua. It is shown to set a scale for the bad strips shown below.
INPUT: 3M d-AU events from day ~336 of 2007.
All spectra were pedestals subtracted, using one value per strip, CAPS=123,124,125 were excluded. Below I'll use term 'ped' instead of more accurate pedestal residuum.
Method: fit slopes to ADC =ped+40,ped+90 or 5*sig(ped) if too low.
The spectra, fits of pedestal residuum, and slopes were QAed.
QA method was set up as sequential series of cuts, upon failure later cuts were not checked.
Note, BSMD rate 4 had old resistors in day 366 of 2007 and was excluded from this analysis.
This reduces # of strips from 18,000 to 15,750 .
cut# | cut code | description | # of discarded strips | figure |
1 | 1 | at least 10,000 entries in the MPV bin | 4 | - |
2 | 2 | MPV position within +/-5 ADC channels | 57 | Fig 1 |
3 | 4 | sig(ped) of gauss fit in [1.6,8] ADC ch | 335 | Fig 2 |
4 | 8 | position of mean gauss within +/- 4 ADC | 11 | Fig 3 |
5 | 16 | yield from [ped+40,ped+90] out of range | 441 | Fig 4 |
6 | 32 | chi2/dof from slop fit in [0.6,2.5] | 62 | Fig 5 |
7 | 64 | slopeError/slop >16% | 4 | Fig 6 |
8 | 128 | slop within [-0.015, -0.05] | 23 | Fig 7 |
- | sum | out of processed 15,750 strips discarded | 937 ==> 5.9% |
Fig 1 Example of strips failing QA cut #2, MPV position out of range , random strip selection
Fig 2a Distribution of width of pedestal vs. eta-bin
Fig 2b Example of strips failing QA cut #3, width of pedestal out of range , random strip selection
Fig 3a Distribution of pedestal position vs. eta-bin
Fig 3b Example of strips failing QA cut #4, pedestal position out of range , random strip selection
Fig 4a Distribution of yield from the slope fit range vs. eta-bin
Fig 4b Example of strips failing QA cut #5, yield from the slope fit range out of range , random strip selection
Fig 5a Distribution of chi2/DOF from the slope fit vs. eta-bin
Fig 5b Example of strips failing QA cut #6, chi2/DOF from the slope fit out of range , random strip selection
Fig 6a Distribution of err/slope vs. eta-bin
Fig 6b Example of strips failing QA cut #7, err/slope out of range , random strip selection
Fig 7a Distribution of slope vs. eta-bin
Fig 7b Example of strips failing QA cut #8, slope out of range , random strip selection
Fig 8a Distribution of # of bad strips per module.
BSMDE modules 10,31,68 are damaged above 50%+. Ymax was set to 150, i.e. to the # of eat strips per module. Modules 16-30 served by crate 4 were not QAed.
Fig 8b 2D Distribution of # of bad strips indexed by eta & phi strip location. Z-scale denotes error code from the 2nd column from table 1.
Fig 9 2D Distribution of slope indexed by eta & phi strip location.
TOP: slopes. There is room for gain improvement in the offline analysis. At fixed eta (vertical line) there should be no color variation.
BOTTOM error of slope/slope.
Fig 10 2D Distribution of pedestal and pedestal width indexed by eta & phi strip location.
TOP: pedestal
BOTTOM: pedestal width.
Method : find average slope per eta slice, fit gauss, determine average slope : avrSlope(iEta)
Gain correction formula is used only for extreme deviations:
Fig 1 Example of 2 eta slices
Fig 2 TOP: Slope distribution vs. eta-bin, average marked by crosses
BOTTOM: predicted gain correction. Correction=1 for strips w/ undetermined gains.
Fig 3 Predicted gain correction. Correction=1 for ~14K of 18K strips.
Fig 4 The same predicted gain correction vs. stripID.
Content
The automatic procedure doing QA of spectra was set up in order to preserve only good looking spectra as shown in the fig 0 below.
Fig 0 Good spectra for random strips in module=2. X-axis shows pedestal residua. It is shown to set a scale for the bad strips shown below.
INPUT: 3M d-AU events from day ~336 of 2007.
All spectra were pedestals subtracted, using one value per strip, CAPS=123,124,125 were excluded. Below I'll use term 'ped' instead of more accurate pedestal residuum.
Method: fit slopes to ADC =ped+40,ped+90 or 5*sig(ped) if too low.
The spectra, fits of pedestal residuum, and slopes were QAed.
QA method was set up as sequential series of cuts, upon failure later cuts were not checked.
Note, BSMD rate 4 had old resistors in day 366 of 2007 and was excluded from this analysis.
This reduces # of strips from 18,000 to 15,750 .
cut# | cut code | description | # of discarded strips | figure |
1 | 1 | at least 10,000 entries in the MPV bin | 2 | - |
2 | 2 | MPV position within +/-5 ADC channels | 10 | Fig 1 |
3 | 4 | sig(ped) of gauss fit in [0.75,8] ADC ch | 32 | Fig 2 |
4 | 8 | position of mean gauss within +/- 4 ADC | 0 | Fig 3 |
5 | 16 | yield from [ped+40,ped+90] out of range | 758 | Fig 4 |
6 | 32 | chi2/dof from slop fit in [0.55,2.5] | 23 | Fig 5 |
7 | 64 | slopeError/slop >10% | 1 | Fig 6 |
8 | 128 | slop within [-0.025, -0.055] | 6 | Fig 7 |
- | sum | out of processed 15,750 strips discarded | 831 ==> 5.2% |
Fig 1 Example of strips failing QA cut #2, MPV position out of range , random strip selection
Fig 2a Distribution of width of pedestal vs. strip # inside the module. For the East side I cout strips as -1,-2, ...,-150.
Fig 2b Example of strips failing QA cut #3, width of pedestal out of range , random strip selection
Fig 3 Distribution of pedestal position vs. strip # inside the module
Fig 4a Distribution of yield from the slope fit range vs. eta-bin
Fig 4b Example of strips failing QA cut #5, yield from the slope fit range out of range , random strip selection
Fig 5a Distribution of chi2/DOF from the slope fit vs. eta-bin
Fig 5b Example of strips failing QA cut #6, chi2/DOF from the slope fit out of range , random strip selection
Fig 6 Distribution of err/slope vs. eta-bin
Fig 7a Distribution of slope vs. eta-bin
Fig 7b Example of strips failing QA cut #8, slope out of range , random strip selection
Fig 8a Distribution of # of bad strips per module.
BSMD-P modules 1,4,59,75,85 are damaged above 50%+. Ymax was set to 150, i.e. to the # of eat strips per module. Modules 16-30 served by crate 4 were not QAed.
Fig 8b 2D Distribution of # of bad strips indexed by eta & phi strip location. Z-scale denotes error code from the 2nd column from table 1.
Fig 9 2D Distribution of slope indexed by eta & phi strip location.
TOP: slopes. At fixed eta (horizontal line) there should be no color variation. red=dead strips
BOTTOM error of slope/slope. white=dead strip
Fig 10 2D Distribution of pedestal and pedestal width indexed by eta & phi strip location.
TOP: pedestal. dead strip have 0 residuum.
BOTTOM: pedestal width. white marks dead strips
Method : find average slope per eta slice, fit gauss, determine average slope : avrSlope(iEta)
Gain correction formula is used only for extreme deviations:
Fig 1 Example of 2 eta slices
Fig 2 LEFT: Slope distribution vs. eta-bin, average marked by crosses
RIGHT: predicted gain correction. Correction=1 for strips w/ undetermined gains.
Fig 3 Predicted gain correction. Correction=1 for ~14K of 18K strips.
Fig 4 The same predicted gain correction vs. stripID.
Fig 1. West BSMD-P
Fig 2. East BSMD-P
p>
The second pass through both SMDE, SMDP was performed, learning from previous mistakes.
Main changes:
INPUT: 3M d-AU events from day ~336 of 2007.
All spectra were pedestals subtracted, using one value per strip, CAPS=123,124,125 were excluded. Below I'll use term 'ped' instead of more accurate pedestal residuum.
Method: fit slopes to ADC =ped+30,ped+100 or 5*sig(ped) if too low.
The spectra, fits of pedestal residuum, and slopes were QAed.
Note, BSMD rate 4 had old resistors in day 366 of 2007 and was excluded from this analysis.
This reduces # of strips from 18,000 to 15,750 .
cut# | cut code | description | # of discarded E strips | # of discarded P strips | figure in PDF1 |
1 | 1 | at least 10,000 entries in the MPV bin | 4 | ? | - |
2 | 2 | sig(ped) of gauss fit <~13 ADC ch | 13 | 11 | Fig 1 |
3 | 4 | position of mean gauss within +/- 4 ADC | 10 | 8 | Fig 2 |
4 | 8 | yield from [ped+30,ped+100] out of range | 513 | 766 | Fig 3 |
5 | 16 | chi2/dof<2.3 from slop fit | 6 | 1 | Fig 4 |
6 | 32 | slopeError/slop >10% | 5 | 0 | Fig 5 |
7 | 64 | slope in range | 19 | 6 | Fig 6 |
- | sum | out of processed 15,750 strips discarded | 635 ==> 4.0% | 789 ==> 5.0% |
Relative gain corrections for every eta bin
Method : find average slope per eta slice, fit gauss, determine average slope : avrSlope(iEta)
Gain correction formula is used only for extreme deviations:
Summary of BSMDE,P status tales and gains , ver 1.2
Method:
from _private_ production w/o zero BSMD suppression we look at pedestal residua for raw spectra for minb events.
chain="DbV20080703 B2008a ITTF IAna ppOpt VFPPV l3onl emcDY2 fpd ftpc trgd ZDCvtx NosvtIT NossdIT analysis Corr4 OSpaceZ2 OGridLeak3D beamLine BEmcDebug"
The only QA was to require MPV of the spectrum is below 100, one run contains ~80K events.
Good spectra look like this:
TOP: MPV value from all strips. White means 0 (zero) counts. Crate 4 was not evaluated.
BOTTOM: status table: red=bad, white means MPV>100 events
TOP: MPV value from all strips. White means 0 (zero) counts
BOTTOM: status table: red=bad, white means MPV>100 events
TOP: MPV value from all strips. White means 0 (zero) counts
BOTTOM: status table: red=bad, white means MPV>100 events
Peds from run minB 17 were used as reference
Fig1 . pedestal residua for runs 17,29,31
Fig2 . pedestal residua for run 31, full P-plane
Fig3 . pedestal residua for run 31, full E-plane
Fig4 . pedestal residua for run 31, zoom in E-plane
Fig5 . pedestal residua for run 29, West, E-plane red, P-plane black, error=ped error
On August 8, BSMD peds in the offline DB where corrected for day 47.
Runs minb 34 & 74 were used to determine and upload DB peds.
Below I evaluated pedestal residua for 2 runs : 37 & 70, both belonging to the same RHIC fill.
I have used 500 zero-bias events from runs 37 & 70, for the official production w/o zero suppression.
All strips for which mTables->getStatus(iEP, id, statPed,"pedestal"); returns !=1 and all events using CAP123,124,125 were dropped.
Fig 1,2 show big picture: all 38,000 strips.
Fig 3 is zoom in on some small & big problems.
Fig 4 & 5 illustrates improvement if run-by-run pedestal is used.
Fig 1, run=9047037
Fig 2, run=9047070
Fig 3, run=9047070, zoom in
Fig 4, run=9047001,...,83 zoom in
Fig 5, run=9047001,...,83 full range
I calculated the pedestals for every PP fill for 2008. This plot shows the pedestal per stripID and fill index. The Z-axis is the value of the pedestal. Only module 13 is shown here, but the full 2D histogram (and others) are in the attached root files.
Method: identify isolated EM shower and match BSMD cluster energy to tower energy, as exercised earlier on 4) demonstration of absolute calib algo on single particle M-C
INPUT events: 7,574 events triggered by barrel HT0,1,2 (id 220500 or 220510 or 220520) from run 9047029.
Cluster finder algo (sliding window, 1+3+1 strips), smd cluster threshold set at 5 keV, use only barrel West.
Tower cluster is defined as 3x3 patch centered on the tower pointed by the SMD peak.
Assumed BSMD calibration:
Results for ~3,8K barrel triggered events (half of 7,6K was not used)
TOP: a) Cluster (Geant) energy;
b) Cluster RMS, peak at 0.5 is from low energy pair of isolated strips with almost equal energy
c) # of cluster per event,
BOTTOM: X-axis is eta location, 20 bins span eta [-1,+1]. d) cluster ene vs. eta, e) cluster RMS vs. eta,
f) cluster yield vs. eta & phi, white bands are masked modules.
see Fig 1 for details
TOP: a) cluster loss on subsequent cuts, b) # of accepted EM cluster vs. eta location,
c) ADC distribution of 3x3 tower cluster centered at SMD cluster. In principle you should see there 3 edges from bht0, bht1, and bht2 trigger.
BOTTOM: X-axis is eta location, 20 bins span eta [-1,+1].d) Eta-cluster , e) phi-cluster energy, f) hit tower ADC .
2 eta location of 0.1, 0.5 of reco EM cluster are shown in 3 panels (2x2)
1D plots are ratios of the respective 2D plots.
The mean values of 1D fits are relative gains of BSMDP/BSMDP and BSMD/BTOW .
Goal: reco isolated gammas from bht0,1,2 -triggered events
Method: identify isolated EM shower and match BSMD cluster energy to tower energy, as exercised earlier on 4) demonstration of absolute calib algo on single particle M-C
INPUT events: 100K events triggered by barrel HT0,1,2 (id 220500 or 220510 or 220520) from day 47, runs 1..83
Cluster finder algo (sliding window, 1+4+1 strips), smd cluster threshold set at 10 keV, use only barrel West, BSMD CR=4 masked out.
Tower cluster is defined as 3x3 patch centered on the tower pointed by the SMD peak, must contain 90% of energy from 5x5 cluster.
Default pedestals from offline DB used.
Assumed BSMD calibration: see table 1 column J+K
Results for ~25K barrel triggered events (7/8 of 100K was not used)
Fig 1 is above
Fig 2, Eta strips, any cluster
Fig 3 Phi strips, any cluster
Fig 4 isolated cluster (different sort). Plot c has huge peak at 0 - X-axis is chopped. Similar but smaller peak is in fig d. Magenta are event with bht0 and bht2 trigger.
Fig 5 isolated cluster :
Left: eta & phi plane coincidence--> works,
Right: eta & phi & tower 3x3>150 fials for modules 30-60, I have mapping problem??
Fig 6 Example of Eta vs. Phi and SMD vs. Tower calibrations for eta bins 0.15, 0.5, and 0.85.
Executive summary:
The purpose of BSMD absolute calibration summarized at this drupal page is to reconstruct integrated energy deposit (dE) in BSMD based on measured ADC.
By integrated dE in BSMD I mean sum over few strips forming EM cluster, no matter what is the cluster shape.
This calibration method accounts for the varying absorber in front of BSMD and between eta & phi planes.
This calibration will NOT help in reconstruction:
- full energy of EM particle which gets absorbed in BEMC ( shower development after BSMD layer does not matter for this calibration).
- partial energy of hadrons passing or showering in BEMC
- correct for the incident angle of the particle passing through detector
- saturation of BSMD readout. I only state up to which loss (DE) the formula used in reconstruction:
dE/GeV= (rawAdc-ped) * C0 * (1 +/- C1etaBin)
- determine sampling fraction (SF) of BSMD with high accuracy
Below you will find brief description of the algo, side by side comparison of selected plots for M-C and real data, finally PDF with many more plots.
Proposed absolute calibration coefficients are show in table 2.
Input events
Raw data processing based on muDst
Cluster finder algo (seed is sliding fixed window), tuned on M-C gamma events
This cluster finder process full Barrel West, more details about clustering is in one cluster topology , definition of 'barrel cell'
Isolated EM shower has been selected as follows, tuned on gamma events,
Below is listing of all cuts used by this algo:
useDbPed=1; // 0= use my private peds par_skipSpecCAP=1; // 0 means use all BSMD caps par_strWinLen=4; (3) // length of integration window, total 1+4+1, in strips par_strEneThr=1.e-6; (0.5e-6) // GeV, energy threshold for strip to start cluster search par_cluEneThr=10.0e-6; (2.0e-6) // GeV, energy threshold for cluster in window par_kSigPed=4.; (3) // ADC threshold par_isoRms=0.2; (0.11) // minimal smd 1D cluster RMS par_isoMinT3x3adc=150; //cut off for low tower response par_isoTowerEneR=0.9; // ratio of 3x3/5x4 cluster (in red are adjusted values for MIP or ET=1GeV cluster selection)
3x3 tower ET (GeV), trigger used | MIP, BHT0,1,2 | 1.0, BHT0,1,2 |
3.4, BHT0 |
4.7, BHT1 |
5.5, BHT2 |
7, BHT2 |
3x3 tower ADC sum range | 15-30 ADC | 50-75 ADC | 170-250 ADC | 250-300 ADC | 300-380 ADC | 400-500 ADC |
3x3 energy & RMS (GeV) @ eta=[0.1,0.2] | 0.34 +/- 0.06 | 0.92 +/- 0.11 | 3.1 +/- 0.3 | 4.1 +/- 0.2 | 5.1 +/- 0.3 | 6.6 +/- 0.4 |
3x3 energy & RMS (GeV) @ eta=[0.4,0.5] | 0.37 +/- 0.07 | 1.0 +/- 0.11 | 3.4 +/- 0.4 | 4.6 +/- 0.3 | 5.6 +/- 0.4 | 7.3 +/- 0.5 |
3x3 energy & RMS (GeV) @ eta=[0.8,0.9] | 0.47 +/- 0.09 | 1.3 +/- 0.16 | 4.3 +/- 0.4 | 5.7 +/- 0.3 | 7.1 +/- 0.5 | 9.3 +/- 0.6 |
Contains relative calibration of eta vs. phi plane, different for M-C vs. data,
and single absolute DATA normalization of the ratio of SMD (Eta+Phi) cluster energy vs. 3x3 tower cluster at eta=0.5 .
Table 3 shows what comes from data & M-C analysis using calibration from table 2.
Fig 2.1 BSMD "Any cluster" properties
TOP : RMS vs. energy, only Eta-plane shown, Phi-plane looks similar
BOTTOM: eta -phi distribution of found clusters. Left is M-C - only 3 modules were 'populated'. Right is data, white bands are masked modules or whole BSMD crate 4
Fig 2.2 Crucial cuts after coincidence & isolation was required for a pair BSMD Eta & Phi clusters
TOP : 3x3 tower energy (black), hit-tower energy (green) , if 3x3 energy below 150 ADC cluster is discarded
BOTTOM: eta dependence of 3x3 cluster energy. M-C has 'funny' calibration - there is no reason for U-shape, Y-value at eta=0.5 is correct by construction.
Fig 2.3 None-essential cuts, left by inertia
TOP : ratio of 3x3 tower energy to 5x5 tower energy , rejected if below 0.9
BOTTOM: RMS of Eta & Phi cluster must be above 0.2, to exclude single strip clusters
I'm showing examples for 3 eta slices of 0.15, 0.55, 0.85 - plots for all eta bins are available as PDF, posted in Table 2 at the end.
The red vertical line marks the target calibration, first 2 columns are aligned by definition, 3rd column is independent measurement confirming calibration for data holds for ~40% lower gamma energy.
Fig 3.1 Phi-cluster vs. Eta cluster for eta range [0.1,0.2]. M-C on the left, data in the middle, right.
Fig 3.2 Phi-cluster vs. Eta cluster for eta range [0.4,0.5]. M-C on the left, data in the middle, right.
Fig 3.3 Phi-cluster vs. Eta cluster for eta range [0.8,0.9]. M-C on the left, data in the middle, right.
Fig 3.4 Phi-cluster vs. Eta cluster for eta range [0.9,1.0]. M-C on the left, data in remaining columns.
I'm showing eta slices [0.4,0.5] used to set absolute scale. The red vertical line marks the target calibration, first 2 columns are aligned by definition, 3rd column is independent measurement for gammas with ~40% lower --> BSMD response is NOT proportional to gamma energy.
Fig 4.1 Phi-cluster vs. Eta cluster for eta range [0.4,0.5]. Only data are shown.
Fig 4.2 Absolute BSMD calibration for eta range [0.0,0.1] (top) and eta range [0.1,0.2] (bottom) . Only data are shown.
Left: Y-axis is BSMD(E+P) cluster energy, y-error is error of the mean; X-axis 3x3 tower cluster energy, x-error is RMS of distribution . Fit (magenta thick) is using only to 4 middle points - I trust them more. The MIP point is too high due to necessary SMD cluster threshold, the 7GeV point has very low stat. There is no artificial point at 0,0. Dashed line is extrapolation of the fit.
Right: only slope param (P1) from the left is used to compute full BSMD Phi & Eta-plane calibration using formulas:
slope P1_Eta=P1/2./(1-C1[xCell])/C0
slope P1_Phi=P1/2./(1+C1[xCell])/C0
Using C1[xCell],C0 from table 2.
Fig 4.3 Absolute BSMD calibration for eta range [0.2,0.3] (top) and eta range [0.3,0.4] (bottom) . Only data are shown, description as above.
Fig 4.4 Absolute BSMD calibration for eta range [0.4,0.5] (top) and eta range [0.5,0.6] (bottom) . Only data are shown, description as above.
Fig 4.5 Absolute BSMD calibration for eta range [0.6,0.7] (top) and eta range [0.7,0.8] (bottom) . Only data are shown, description as above.
Fig 4.6 Absolute BSMD calibration for eta range [0.8,0.9] (top) and eta range [0.9,0.95] (bottom) . Only data are shown, description as above.
I'm showing the last eta bin because it is completely different - I do not understand it at all. It was different on all plots above - just reporting here.
Fig 4.7 Expected BSMD gain dependence on HV, from Oleg document The 2008 working HV=1430 V (same for eta & phi planes) - in the middle of the measured gain curve.
Part 5
Fig 5.1 BSMD cluster energy vs. eta of the cluster.
Fig 5.2 hit tower to 3x3 cluster energy for accepted clusters. DATA, trigger BHT2, gamma ET~5.5 GeV.
Fig 5.3 hit tower to 3x3 cluster energy for accepted clusters. M-C, single gamma ET=6 GeV, flat in eta .
The isolated BSMD cluster algo allows to select different range of tower energy cluster as shown in Fig.1
Fig 1. Tower energy spectrum, marked range [1.2,1.8] GeV.
In the analysis 5 energy tower slices were selected: MIP, 1.5 GeV, and around BHT0,1,2 thresholds.
Plots below show example of calibrated BSMD (eta+phi) cluster energy vs. tower cluster energy. (I added point at zero with error as for next point to constrain the fit)
Fig 2. BSMD vs. tower energy for eta of 0.15, 0.55, and 0.85.
I'm concern we are beyond the middle of BSMD dynamic range for ~6 GeV (energy) gammas at eta 0.5. Also one may argue we se already saturation.
If we want BSMD to work up to 40 GeV ET we need to think a lot how to accomplish that.
Below is dump of one event contributing to the last dot on the middle plot. It always help me to think if I see real raw event.
BSMDE i=526, smdE-id=6085 rawADC=87.0 ped=71.4 adc=15.6 ene/keV=0.9 i=527, smdE-id=6086 rawADC=427.0 ped=65.0 adc=362.0 ene/keV=20.0 i=528, smdE-id=6087 rawADC=814.0 ped=71.8 adc=742.2 ene/keV=41.0 i=529, smdE-id=6088 rawADC=92.0 ped=66.4 adc=25.6 ene/keV=1.4 BSMDP i=422, smdP-id=6086 rawADC=204.0 ped=99.3 adc=104.7 ene/keV=7.8 i=423, smdP-id=6096 rawADC=375.0 ped=98.5 adc=276.5 ene/keV=20.3 i=424, smdP-id=6106 rawADC=692.0 ped=100.1 adc=591.9 ene/keV=47.3 2D cluster bsmdE CL meanId=6086 rms=0.80 ene/keV=66.80 inTw 1632.or.1612 bsmdP CL meanId=6106 rms=0.68 ene/keV=75.45 inTw 1631.or.1632 BTOW id=1631 rawADC=43.0 ene=0.2 ped=30.0, adc=13.0 id=1632 rawADC=401.0 ene=6.9 ped=32.4 adc=368.6 id=1633 rawADC=43.0 ene=0.1 ped=35.5 adc=7.5 gotTwId=1632 gotTwAdc=368.6 tow3x3 sum=405.7 ADC 3x3Tene=7.3GeV
Below are studies of BSMD response and calibration algo based on BMSD response to single particle M-C
Input: single particle per event, fixed ET=6 GeV, flat eta [-0.1,1.1], flat |phi| <5 deg, 500 eve per sample, Geant geometry y2006
Cluster finder algo (sliding fixed window), tuned on electron events
Example of BSMDE response for electon:
McEve BSMD-E dump, dE is Geant energy sum from given strip, in GeV
dE=1.61e-06 m=104 e=12 s=1 stripID=15462
dE=2.87e-05 m=104 e=13 s=1 stripID=15463
dE=8.35e-06 m=104 e=14 s=1 stripID=15464
dE=1.4e-06 m=104 e=15 s=1 stripID=15465
Fig 1. gamma - later, job crashed.
Fig 2. electron
Fig 3. pi0
Fig 4. eta
Fig 5. pi minus
Fig 6. mu minus
Goal: test SMDE cluster finder on single particles M-C
Input: single particle per event, fixed ET=6 GeV, flat eta [-0.1,1.1], flat |phi| <5 deg, 5k eve per sample, Geant geometry y2006
Cluster finder algo (seed is sliding fixed window), tuned on pi0 events
Example of BSMDE response for pi0:
... strID=1932 u=0 ene/keV=0 strID=1933 u=1 ene/keV=0 + strID=1934 u=1 ene/keV=2.0 * strID=1935 u=1 ene/keV=48.2 *X strID=1936 u=1 ene/keV=3.9 * strID=1937 u=1 ene/keV=0.8 + strID=1937 u=0 ene/keV=0 strID=1938 u=0 ene/keV=0 strID=1939 u=2 ene/keV=1.5 + strID=1940 u=2 ene/keV=8.2 * strID=1941 u=2 ene/keV=28.1 *X strID=1942 u=2 ene/keV=13.8 * strID=1943 u=2 ene/keV=4.0 + strID=1944 u=0 ene/keV=5.6 strID=1945 u=0 ene/keV=0.5 strID=1946 u=0 ene/keV=0 strID=1947 u=0 ene/keV=0 ...
particle | any cluster found in the module, all eventsFig 1a | only events with exactly 2 found clustersFig 1b |
e- | ||
. | Fig 2a | Fig 2b |
pi0 | ||
. | Fig 3a | Fig 3b |
eta |
Smd cluster finder with sliding window of 3 strips + one strip on each end (total 5 strips) applied to all 9000 BSMDE,P strips, one gamma per event
Method: identify isolated EM shower and match BSMD cluster energy to tower energy
INPUT events: single particle per event, fixed ET=6 GeV, flat eta [-0.1,1.1], flat |phi| <5 deg, 5k eve per sample, Geant geometry y2006
Cluster finder algo (seed is sliding fixed window), tuned on pi0 events
This cluster finder process full Barrel West, more details about clustering is in one cluster topology , definition of 'barrel cell'
Isolated EM shower has been selected as follows, tuned on gamma events,
Example of EM cluster passing all those criteria is below:
smdE: ene/keV= 40.6 inTw 451.or.471 cell(15,12), jStr=7 in xCell=15 ... id=1731 ene/keV=4.9 * id=1732 ene/keV=34.3 X * id=1733 ene/keV=1.5 * ... ---- end of SMDE dump smdP: ene/keV= 28.5 inTw 471.or.472 cell(15,12), jStr=7 in xCell=15 ... id=1746 ene/keV=2.7 * id=1756 ene/keV=22.0 X * id=1766 ene/keV=3.7 * ... ---- end of SMDE dump muDst BTOW id=451, m=12 rawADC=12.0 * id=471, m=12 rawADC=643.0 id=472, m=12 rawADC=90.0 id=473, m=12 rawADC=10.0
will be show with more details. The following PDF files contain full set of plots for all other particles.
particle | # of eve | plots |
gamma | 25K | |
e- | 50K | |
pi0 | 50K | |
eta | 50K | |
pi- | 50K |
TOP: a) Cluster (Geant) energy; b) Cluster RMS, c) # of cluster per event,
BOTTOM: X-axis is eta location, 20 bins span eta [-1,+1]. d) cluster ene vs. eta, e) cluster RMS vs. eta, f) cluster yield vs. eta & phi.
see Fig 1 for details
TOP: a) cluster loss on subsequent cuts, b) # of accepted EM cluster vs. eta location, c) ADC distribution of hit tower (some wired gains are in default M-C), tower ADC is in ET
BOTTOM: X-axis is eta location, 20 bins span eta [-1,+1]. d) Eta-cluster , e) phi-cluster energy, f) hit tower ADC .
3 eta location of 0.1, 0.5, 0.9 of reco EM cluster are shown in 3 panels (2x2)
1D plots are ratios of the respective 2D plots.
The mean values of 1D fits are relative gains of BSMDP/BSMDP and BSMD/BTOW , determine for 10 slice in pseudorapidity. Game is over :).
Fig 6, Same as above, eta=0.1, single pi minus, 50K events.
Below are PDF plots for all particles:
Correction - label on the X-axis for 1D plots is not correct. I did not apply log10() - a regular ratio is shown, sorry.
Attachment 1:
Fig 1 & 2 reminds actual (pp data based) calibration for 2 eta location of 0.1 and 0.8, presented earlier.
Table 1 shows M-C simulation of average cluster energy (deposit in BSMD plane), its spread, and width as function of electron ET, separately for eta- & phi-planes of BSMD.
As expected, BSMD sampling fraction (SF, red column) is not constant but drops with energy of electron.
The BSMD SF(ET) deviates from constant by less then 20% - it is a small effect.
Fig 3,4,5 show expected BSMD response to M-C electrons with ET of 6,20, and 40 GeV. Only for the lowest energy the majority of EM showers fit in to the dynamic range of BSMD, which ends for energy deposit of about 60 keV per plane.
I was trying to be generous and draw the red line at DE~90 keV .
The rms of BSMD cluster is about 0.5 strips, so majority of energy is measured by just 2 strips (amplifiers). Such narrow cluster lowers saturation threshold.
Fig 6, shows BSMD cluster energy for PYTHIA W-events.
Fig 7 shows similar response to PYTHIA QCD events.
Compare area marked with red oval - there is strong correlation between BSMD energy and electron energy and would be not wise to forgo it in the e/h algo.
Conclusion:
The attached slides show 2008 HV setting of BSMD would lead to full saturation of BSMD response for electrons from W decay with ET as low as 20 GeV , i.e. would reduce BSDM dynamic range to 1 bit.0
For the reference:
* absolute BSMD calibration based on 2008 pp data.
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/bsmd/2008-bsmd-calibration/19-isolated-gamma-algo-description-set-2-0
* current BSMD HV are set very high , leading to saturation of BSMD at gamma energy of 7-10 GeV, depending on eta and plane. (Lets ignore difference between E & ET for this discussion, for now).
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/bsmd/2008-bsmd-calibration/20-bsmd-saturation
* STAR priorities for 2009 pp run presented at Apex: http://www.c-ad.bnl.gov/APEX/APEXWorkshop2008/talks/Dunlop_Star_Apex_2008.pdf
* Attachment 2,3 show BSMD-E, -P response for electrons with ET: 4,6,8,10,20,30,40,50 GeV and to Pythia W, QCD events (in this order)
STAR/blog/ogrebeny/2009/jun/08/bsmd-energy-scale-uncertainty
Revised January, 26, 2009
A) Model of the physics process (defines quantities: E, eta, smdE, smdEp, smdEe, C0, C1)
To summarize
The reconstructed cluster energy in each plane with use of C0 & C1 should have eta dependence
smdE(E) =C0* sum{ ADC_i - ped_i}/[1-C1(eta)] for phi-plane cluster
smdE(E) =C0* sum{ ADC_j - ped_j}/[1+C1(eta)] for eta-plane clusterB) Determination of C1(eta) was based on 19) Absolute BSMD Calibration, table ver2.0, Isolated Gamma Algo description, from crates 1,2,and 4.
Data analysis was done for 10 pseudo-rapidity ranges [0,0.1], [0.1,0.2] ,..., as shown in table 2, row labeled 'DATA'.
For practical application analytical approximation is provided
C1(eta)= C1_0 + C1_1*|eta| + C1_2*eta*eta
symmetric versus positive/negative pseudo-rapidity.
The numerical values of expansion coefficients are: C1_0=0.014, C1_1=0.015, C1_2=0.333
C) Modeling of BSMD response in STAR M-C
For every strip we find the closest tower and determine the distance between tower center and strip center.
Both plots show strip ID on the X-axis, and tower ID on the Y-axis. Error in Y is distance between centers in CM.
It is not true 15 eta strips covers every 2 towers! It is only approximate since strip pitch is constant bimodal and tower width changes continuously.
There is still small problem, namely strip Z is calculated at R_smd and tower Z is calculated at the entrance of the tower
leading to clear paralax error - we are working on this.
Fig 1.
Top plots is for SMDE for module 1. Note E-strip always spans 2 towers and we used tower IDs in one module.
Bottom plots shows phi strips for module 1.
Fig 2.
Top plots is for SMDE for modules 1-4.
Bottom plots shows phi strips for modules 1-4.
Parent page for BSMD Run 10 Calibration
==========
We started this task by looking at BSMD in Run 10 with some MuDst files, and found the pedestals probably need to be QA-ed as well.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3500.html
and
http://www.star.bnl.gov/HyperNews-star/get/emc2/3515.html
==========
Then we started to look for Non-zero-suppressed BSMD data, and found that we have to run through the daq files to produce the NZS data files to produce the NZS data. The daq files are stored on HPSS, and we have to transfer them onto RCF. The transferred daq files were then made into root files with Willim's BSMD online monitering codes.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3533.html
==========
We decided to use same critiria and status codes as Willim used for run09 pp500GeV.
http://drupal.star.bnl.gov/STAR/blog-entry/wleight/2009/may/13/bsmd-status-cuts-and-parameters
==========
We discovered that a modification is needed to the critiria of code bit 3 (the ratio of the integral over a window to the integral over all, i.e. the pedestal integral ratio) We found about half of the BSMD strips fail the criteria of this ratio > 0.95, but nearly most of them satisfy ratio > 0.90, so the critiria is loosed to 0.90. We think this is a reasonable difference between run09 pp and run10 AuAu collisions.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3546/1/1.html
==========
The daq files are huge in size, on the order of TB for one day. In order to not disturb the run10 data production, we had to only copy 1/10~1/20 of the daq files.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3589/2.html
==========
After a long period of transffering and root files making, almost all the days between Jan/02/2010 and Mar/17/2010 are done.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3601.html
We found that another criteria has to be modified, because we use NZS data for the QA of the tail of ADC spectrum. The definition of the tail ranges and the limits are adjusted. Three ranges of the tail part of ADC are defined,
Range 1:peak+6*rms to peak+6*rms+50 channels
Range 2:6*rms+50 channels to 6*rms+150 channels
Range 3:6*rms+150 channels to 6*rms+350 channels
The entries (hits) in these three ranges are counted, and the ratios to all the entries in the whole spectrum are calculated. The limits for good ratios are selected based on the ratios distribution trough out all the days. They are
@font-face {
font-family: "Cambria";
}p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: "Times New Roman"; }div.Section1 { page: Section1; }
Range 1: 3.35~80 x0.001
Range 2: 0.95~40 x0.001
Range 3: 0.25 ~ 20 x0.001
See the attached newlimits.docx for more details and plots.
Also, bit 0 of the status code is supposed to indicate whether a channel is bad or not. Not every problem is fatal, i.e cause the channel to be regarded as bad.
Originally, only if all the 3 ratios are beyond the limits, a fetal condition is met; we addjusted this to be if more than one, i.e. >=2, out of the 3 ratios are beyond the limits, a fetal condition is met. One can also treat any channel with a code not equal to 1 as bad, regardless what the bit 0 is.
==========
A final report with sample codes in one day was presented to and approved by EMC2 group.
http://www.star.bnl.gov/HyperNews-star/get/emc2/3637/1.html
==========
Note: The map file used in bsmd montoring in run10 was with some inconsistence with the acctual hardware. An after-burn map correction was done by the EMC software coordinator, Justin.
Note: Up to now, no corrections are made to pedestals. The bad strips caused by bad pedestals are rouphly 1/3~1/4 of all the bad strips.
Wenqin Xu
16Feb2011
Parent page for BSMD Run 9 Calibration
Summary of BSMD performance on April 6. Input : 200K events tagged by L2W clust ET>13 GeV, days 85-94, ~all events, only ZS data are shown.
Attached PDFs shows zoom in spectra for individual modules. 1st page is summary, next I show 3 modules per row, 5 rows per page. Even pages shows zoom-in for low ADC<100, odd pages shows full ADC scale. Common maxZ=1000 is used for all plots , except page 1.
BSMD QA algorithm and results for pp 500, tune optimized for high energy energy response
Fig 3. # of bad strips per module.
Input:
The following plots support those observation:
Fig 1a. Example of spikes delADC=16, in the vicinity of strip 1525-P, all strips from module 11 are shown in attachment A.
Fig 1b. Example of spikes delADC=32, in the vicinity of strip 1977-P, all strips from module 14 are shown in attachment B, module 22 looks similar.
Fig 1c. Example of spikes delADC=128, in the vicinity of strip 4562-P, all strips from module 31 are shown in attachment C, modules 51,52,57 look similar
Fig 2. Phi-Phi plane correlation of P-strip 1979 with (odd) P-strips: 1977..1994. Attachment D contains correlation of P-strips [1977-80] with 24 strips in proximity.
Fig 3. Phi-Eta plane correlation of P-strip 1979 with (odd) E-strips: 1977..1994. Attachment E contains correlation of P-strips [1977-80] with 24 strips in proximity.
Fig 4.Oleg observed this stripes in raw BSMD ADC spectrum, not sure what data.
The pdf posted here has a good overview of the computation of the slope for each strip, discussing the method and the various ways in which strips were marked as bad. This page discusses the computation of the actual relative gains and statuses that went into the database.
The code used to compute the relative gains is archived at /star/institutions/mit/wleight/archive/bsmdRelGains2009/.
After looking more closely at the crate 1 channels I was forced to make serious revisions to status bit 2 from the previous update. The new status bit 2 test is as follows:
First, I scan through the strip ADC distribution looking for peaks. A peak is defined as a channel that is greater than or equal to the four or two channels to either side (if the sigma of the fit to the strip ADC distribution is greater than or less than six, respectively), has a content that is greater than 5% of the maximum of the strip ADC distribution, and has a depth greater than 5% of the maximum of the strip ADC distribution. The depth is calculated by first calculating the difference between the peak content and the channel content for each of the four or two channels on either side of the peak. The maximum of these differences is obtained for the left and right sides separately, and the depth is then equal to the lesser of these two maxima.
If the strip has more than one peak and the maximum of the depths is greater than 20% of the maximum of the strip ADC distribution, then the strip is given bad status 2. If the strip has only one peak (which is then necessarily the maximum of the entire distribution) but the distance between that peak and the peak obtained from the gaussian fit is greater than 75% of the sigma from the gaussian fit, the strip is given bad status 2 as well. Attached is a pdf that has only the pedestal plots for all channels from crate 1.
Edit: I forgot that the BSMD crates don't increase with module number: what is labeled as crate 1 is actually crate 2, as that is the crate that has the first 15 modules, and the attachment labeled as crate 2 is the 2nd 15 modules and so actually crate 1.
2nd edit: This is now out of date, please see the new update.
After further investigations -- specifically looking at strips that had a significant secondary peak, entirely separated from the main peak, with a max of ~40, which were not being caught by my cuts -- I have again revised my criteria for status bit 2. Again, I begin by looking for peaks. If a peak candidate is less than three sigma from the peak of the strip ADC distribution (strip and peak both taken from the gaussian fit), the same cuts are imposed: the candidate must be greater than the four (if sigma>6) or two (if sigma<6) channels on on either side of it, it's content must be greater than 5% of the maximum of the strip ADC distribution, and the depth must be at least 5% of the maximum of the strip ADC distribution. If the strip has two such peaks with the maximum of the depths greater than 20% of the maximum of the strip ADC distribution, or has only one peak but that peak is at least one sigma away from gaussian fit peak, it is given bad status 2. Note the only change here is that the previously a strip with only one peak could be marked bad if it was 75% of sigma away from the gaussian fit peak.
Most of the changes have to do with candidates that are at least three sigma from the gaussian fit peak. In this case the cuts are relaxed: the bin content need only be .5% of the max, not 5%, though it still must be at least 10, and the peak depth is required to only be at least 5% of the peak itself, not of the max. A more than three-sigma peak has the same requirements for the number of channels it must be greater than: however, none of those channels can have value 0. Any strip with a candidate that passes these criteria is automatically given bad status 2.
Pdfs for crates 1 and 2 are attached (but note that the crate 1 and crate 2 pdfs contain the first and second 15 modules, respectively, and therefore crate 1 should actually be labeled crate 2 and crate 2 is really crate 4).
Edited on 5/1 to reflecte new status bit assigments for bits 3 and 4.
The current BSMD status bits are as follows:
Bit 2: Bad pedestal peak/multiple pedestal peaks. This is described in more detail here. Examples can be found in crate2_ped.pdf pp 207 and 314 and crate4_ped.pdf p 133.
Bit 3: Pedestal peak has bad sigma, sigma<1 or sigma >15
Bit 4: Chi squared value from gaussian fit is greater than 1000 (i.e., pedestal has a funny shape)
Bit 5: Strip is exactly identical to the previous strip
Bit 6: The ratio of the integral of channels 300-500 to the total integral does not fall between .0001 and .02
Bit 7: The ratio of the integral of channels 500-800 to the total integral does not fall between .00004 and .02
Bit 8: The ratio of the integral of channels greater than 800 to the total integral does not fall between .00005 and .02
Note that this means that dead channels have status 111xxxx0->448 (or greater).
The attached pdfs crate2 and crate4.pdf have the pedestal distributions, taken from NZS data, and the overall distributions, taken from ZS L2W data, overlayed; crate2_ped and crate4_ped.pdf have only the pedestal distributions. The NZS data used was taken from my monitoring for fills 10415-10489. The L2W data came from fills 10383-10507. Additionally, at the beginning of each module is a summary page that has plotted the distributions for the ratios used to determine bad status bits 6, 7, and 8, and the overal distribution of status vs. strip for eta and phi.
Finally, there are a couple of possible new problems. Page 18 in crate4_ped.pdf has several examples of pedestal distributions that have shoulders. Page 20 has a few examples of pedestal distributions with a small, skinny peak perched on top of a large, broad distribution. At the moment I have no bad status bit for either of these, and any peak with either of these features would almost certainly not be marked bad (even though I did manage to catch one of the ones on page 20).
Edit: Scott suggested during the phone meeting today that perhaps the problem of a small peak on a broad distribution was due to time variation of the pedestal width, and in the plot below you can see that he was correct: the strip initially has an extremely wide pedestal which then shrinks down suddenly. Futhermore, looking at one of the strips that had a sort of shoulder to it, you can see that this is just a less-pronounced version of the double peak problem seen before: the pedestal goes up by 10 for a much shorter time frame, thus producing a shoulder rather than a second peak. This suggests that, as Scott said, these channels should still be usable, and that once we begin breaking status down by time these funny shapes should be less of a problem.
As Matt says that the maximum status is 255, I have dropped the old status bit 5 as (it was unused). Also, I have loosened the dead strip cuts based on looking at module 55 (see pages 203 or 205 in the attached crate1.pdf, for instance). The status bits are now as follows:
Bit 2: Bad pedestal peak/multiple pedestal peaks.
Bit 3: Pedestal peak has bad sigma, sigma<1 or sigma >15
Bit 4: Chi squared value from gaussian fit is greater than 1000 (this applies only for strips that do not have bad status 2 already)
Bit 5: The ratio of the integral of channels 300-500 to the total integral does not fall between .0005 and .02
Bit 6: The ratio of the integral of channels 500-800 to the total integral does not fall between .0002 and .02
Bit 7: The ratio of the integral of channels greater than 800 to the total integral does not fall between .0002 and .02
Below is a plot of status vs. eta and phi for BSMDE and BSMDP strips. Note that strips with all three of bits 5, 6, 7 bad (generally, dead strips) are given the value 8 in this plot to distinguish them from strips that may have just one of those bits bad. As some strips may have more than one bad status bit, for clarity I ranked the potential bad statuses in the order 2, 8, 7, 6, 5, 4, 3 (i.e., approximately in order of importance) and plotted for each strip only the highest-ranked status.
Additionally, I found a problem I had not seen before. On page 207 of the attached crate1.pdf you can see that in the L2W data some strips have a large peak out in the tail of the ADC distribution. However, as all these strips are caught by my code it's not a serious problem.
In essence, the 200 GeV status tables were calculated the same way as the 500 GeV tables were. Please see here for details.
BSMD Pedestals and Status for Run 9 pp 500 Data (June 2009, uploaded to offline DB)
The BSMD status analysis for the 500 GeV data proceeds as follows:
Attached is a pdf that presents the results of this study, including examples.
All code and root files are archived at /star/institutions/mit/wleight/archive/2009-pp500-bsmdStatus/.
Table 1: Pedestal correction, RMS, and status vs. fill for each module (Crates 1-4 are the West Barrel)
Table 2: BSMD spectra for 150 eta and 150 phi strips used for status determination for each module (for fills listed above). Bad strips are identified with the status (in hex): strips with red status are marked bad, strips with green failed a cut but are not necessarily bad. Note that these spectra are shifted up by 100 on the X-axis so that the pedestal is centered around 100 rather than 0.
Table 3: Fills used in this study.
# Fill Date Begin run End run LT/pb
1 F10383 2009-03-18 R10076134 R10076161 0.00
2 F10398 2009-03-20 R10078076 R10079017 0.08
3 F10399 2009-03-20 R10079027 R10079086 0.22
4 F10402 2009-03-21 R10079129 R10079139 0.04
5 F10403 2009-03-21 R10080019 R10080022 0.01
6 F10404 2009-03-22 R10080039 R10080081 0.09
7 F10407 2009-03-22 R10081007 R10081056 0.05
8 F10412 2009-03-23 R10081096 R10082095 0.23
9 F10415 2009-03-24 R10083013 R10083058 0.24
10 F10426 2009-03-25 R10084005 R10084024 0.11
11 F10434 2009-03-26 R10085016 R10085039 0.18
12 F10439 2009-03-27 R10085096 R10086046 0.26
13 F10448 2009-03-28 R10087001 R10087041 0.29
14 F10449 2009-03-28 R10087051 R10087097 0.32
15 F10450 2009-03-29 R10087110 R10088036 0.29*
16 F10454 2009-03-29 R10088058 R10088085 0.15*
17 F10455 2009-03-30 R10088096 R10089023 0.29*
18 F10463 2009-03-31 R10089079 R10090027 0.20*
19 F10464 2009-03-31 R10090037 R10090047 0.08*
20 F10465 2009-03-31 R10090071 R10090112 0.13*
21 F10471 2009-04-02 R10091089 R10092050 0.30
22 F10476 2009-04-03 R10092084 R10093036 0.28
23 F10478 2009-04-03 R10093057 R10093085 0.08
24 F10482 2009-04-04 R10093110 R10094024 0.55
25 F10486 2009-04-05 R10094063 R10094099 0.52
26 F10490 2009-04-05 R10095019 R10095057 0.40
27 F10494 2009-04-06 R10095120 R10096027 0.61
28 F10505 2009-04-07 R10096139 R10097045 0.39
29 F10507 2009-04-08 R10097086 R10097153 0.29
30 F10508 2009-04-08 R10098029 R10098046 0.17
31 F10517 2009-04-09 R10099020 R10099078 0.32**
32 F10525 2009-04-10 R10099185 R10100032 0.68
33 F10526 2009-04-10 R10100049 R10100098 0.37
34 F10527 2009-04-11 R10100164 R10101020 0.82
35 F10528 2009-04-11 R10101028 R10101040 0.31
36 F10531 2009-04-12 R10101059 R10102003 0.86
37 F10532 2009-04-12 R10102031 R10102070 0.76
38 F10535 2009-04-13 R10102094 R10103018 0.86
39 F10536 2009-04-13 R10103027 R10103046 0.43
* Crate 2 was off for this fill
** This fill had no BSMD data
The Run 9 BSMD absolute calibration was made using few-GeV TPC-identified electrons from pp500 running, and has two pieces. The first is a new CALIBRATION table in the database which will be used in the EMC slow simulator to improve the agreement of of MC ADC with data. This table starts by combining the previously-determined strip-by-strip relative gains with the existing values in the table. This is then multiplied by the ratio of the slope of a linear fit to the mean cluster ADC distribution from few-GeV isolated data electrons to the same slope in simulated electrons, where the slope is calculated in four different eta bins. The second piece is a new GAIN table in the database which allows ADC values to be converted to energy deposited in the BSMD. This table was determined by combining the strip-by-strip relative gains with a similar ratio as above, but using mean cluster energy deposited in the BSMD instead of reconstructed ADC values (the electron samples used for data and MC were the same) and it is calculated in ten eta bins instead of four. Both tables are currently in the database with flavor "Wbose2": it is hoped that eventually the CALIBRATION table will migrate to flavor "ofl", but the GAIN table will have to remain "Wbose2" because it is currently used (with values all equal to 1) in some codes to determine the change in the BSMD calibration over time. While producing two tables which are in some ways overlapping and one of which can never be flavor "ofl" is not an ideal solution, it allows us to avoid making any modifications to currently existing code (in particular the StEmcSimulator) and allows people who prefer to think of reconstructed energy from BSMD ADCs as being the full particle energy instead of the energy deposited in the BSMD to continue as they were with no change. For more details, please see:
2. Final cut list and data-MC comparison
Additionally, a link to the 2009 BSMD Calibration note will be added here once it is completed.
See also a brief presentation on why we chose not to include the BSMD gas pressure in our analysis.
I use two datasets to QA BSMD channels: zero-suppressed data from L2W events (fills 10383-10507) and non-zero-suppressed data from online monitoring (fills 10436-10507) (note that at the moment I am not examining the time dependence of BSMD status). NZS data is used to QA the pedestal peak of a channel, while high-energy ZS data is used to QA the tail.
Next, the ZS data are compared to the ZS data from the previous channel to check for copycat channels. Then three quantities are calculated: the ratios of the integrals from 300-500, 500-800, and 800-the end of the spectrum to the total integral of the channel. Each of these quantities must then fall within the following cuts: .0001-.02, .00004-.02, and .00005-.02 respectively. Here is a sample distribution:
Also, the spectra for the strips in module 3, with status, are attached. I have not had a chance to look closely at any other modules yet.
Attached file 'SMD_07.xls' contain my notes from run 7, the only things that might be useful for
you is in the red color, permanently disconnected anode wires and affected
strips (again this is not SoftIds). I think that I cut out one more wire
before Run8 started, but for that I need to check logbook.
Oleg
-----------------------
Here is a note from Oleg Tsai (and attached file "wiresup.pdf" below) concerning source
measurements of the BSMD gain behavior near the nylon wire supports:
On Fri, 18 Jul 2008, tsai@physics.ucla.edu wrote:
> Attached plot will help you to understand what you see close to
> strips 58 and 105. There are two nylon wire supports in the chamber
> at distances 34.882" and 69.213" from the (eta=0 end of the chamber,
> not from the real eta 0). Gain drops near these supports. You can
> see this in your plots also. The attached plot shows counting rate vs
> strip id for a typical chamber. Don't pay attention to channels
> near 0 and 150 - these effects are due to particular way co60 source
> was collimated (counting profile was close to 0.1/0.2/0.4/0.2/0.1)
> 0.4 in central strip. From that I estimated that eta strips
> 56-60 and 104-107 should have calib. coefficients
> (.95,.813,.875,.971,.984) (.99,.89,.84,.970.), I don't remember
> if I was using counting rate vs HV to derive these numbers...
> (this is my third and final attempt :-))
>
Fig 1. Geant simu of EM shower of one electron with ET=10 GeV at eta=0.
Note,
Hi Jan,
the only documentation I know of is the code itself --
hopefully you'll consider it human-readable. Look at
StEmcSimpleSimulator::makeRawHit() in StEmcSimulatorMaker. We use the
kSimpleMode case. The GEANT energy deposition is multiplied by a
sampling fraction that's a second-order polynomial in pseudorapidity,
and then we take pedestals, calibration jitter, etc. into account.
The exact parameters of the sampling fraction are defined in the
constructor for StEmcSimpleSimulator. I don't remember how they were
determined.
also meant to add that the width broadening is OFF by
default. To turn it on one needs to do
emcSim->setMaxCrossTalkPercentage(kBarrelEtaStripId, aNumber);
The "width broadening" only occurs
for eta strips and was implemented by Mike Betancourt in
StEmcSimulatorMaker::makeCrossTalk(). He wrote a blog post about it:
http://drupal.star.bnl.gov/STAR/blog-entry/betan/2007/nov/19/cross-talk-bsmd
Adam
Maybe I should note that the cross talk I implemented was to account
for the capacitive cross talk between the cables carrying the eta
strip signals to the readout, and not for any effects related to the
energy deposition.
-Mike
Hi Jan,
Well, Oleg should probably make the definitive reply, but I think it is like this:
The amplification happens only at the wire, it is independent of the positions of the primary ionization. Of course, there is a little effect from a small amount of recombination or capture of the charge on impurities, and there must be a (hopefully small) effect from the dependence of the mean pulse shape on the position of the ionization and the dependence of the effective gain of the electronics on the mean pulse shape. But these things can't amount to much, I would think. (Of course, I don't want to discourage you from looking in the data to confirm it!)
Gerard
These are all quite true, small effects which will be difficult
to see. The bigger effect is reading out one time bucket.
I have made some estimates before test run 98 (?) or so, see this PS
if you look at numbers still very small effect which is unpractical
to measure.
Oleg
Hi, Yes indeed, I don't know why I neglected to think of the simple effect of drift time, but it is certainly going to be a much bigger effect (~10% if I read your fig.3 correctly?) than the other two. (Perhaps still too small to see in the data, I don't know...). Anyway, given the data volume and already limited readout speed of the BSMD I am pretty sure there is no prospect to ever read more than the one fixed time sample from BSMD; this is probably something to live with. [But it is not impossible to have 2 or 3 point readout, and if we want to seriously consider it it should be brought up ~now, well that is in case we are given the green light to work on BSMD readout "mini-upgrade". If not, well it will just wait until then. But keep in mind, more points readout would offer slightly better gain accuracy but will complicate offline and calibrations too, probably you really don't want it anyway!]
Gerard
p.s. Jan I don't know if it adds anything to the wider discussion on BSMD gain/cal but if you feel so you may surely post to hn.
p.p.s. Oleg, an important question - in your note you don't specify exactly how you obtain the drift time... I mean, yes you show a drift velocity curve, but really of course you must mean there was a calculation such as with garfield to get a drift time out of this... _So_, was that calculation done with the magnetic field on? [The wires are parallel to the magnetic field, right? So it will make possibly a very big difference in drift times.] Jan, do you/others realize the BSMD gain will probably have some systematic dependence on the magnetic field, including the sign thereof? So if you care about gain calibration it should be separated out according to the state of STAR magnet, fortunately there are only a few running states, right?
Gerard
One dimensional BSMD cluster finder is insensitive to single dead strips and module boundaries for the phi strip.
However certain class of Phi-strip clusters (marked as red) are artificial split and reco as 2 phi-clusters.
One could use the Eta-strip cluster to recover from such phi-plane split if occupancy is low and relative scale of eta & phi cluster energy known.
Plots below also introduce a concept of 'barrel cell' which has approximate size of 0.1 in eta & phi physical units and is aligned with barrel modules. 'barrel cell' is the smallest common unit in eta-phi space for SMD and BTOW tower topologies.
'Barrel cell' has 2 coordinates : x[0,19] and y[0,59] . If such object is already defined for the Barrel, uniform for East & West let me know and I'll adjust numbering scheme.
Back to recovery of split phi cluster, shown below as red oval. Green clusters are shown to 'calibrate' yourself to this type of representation.
Fig 1.
Fig 2.
Here you will find the calibration procedure for the BTOW (as of 2013).
Additional documentation about BTOW gain calibrations in previous years can be found here:
Report from the STAR EMC Calibrations Workshop (2008)
2006 BEMC Tower Calibration Report
2009 BEMC Tower Calibration Report
As well as in BEMC > Calibrations section on Drupal here.
Getting Started
The files which are used for this are from L2 and they're stored on the online "starp" network. You will need to request an account on those machines. Following the instructions here, you should request an account on the "onlldap.starp.bnl.gov" host with the "onlmon" username (you should also request an account with your username if you can). After your request is approved you can log in with the commands shown here:
ssh-agent > agent.sh
source agent.sh
ssh-add
ssh -X -A aohlson@rssh.rhic.bnl.gov % using your own username, of course
ssh -X -A stargw.starp.bnl.gov
ssh -X -A onlmon@onl05.starp.bnl.gov
It is also necessary to set up the proper directory structure and files.
% after logging in you should be in /ldaphome/onlmon/
mkdir emcstatus2013 % make a directory for the appropriate year
cd emcstatus2013
mkdir pp500 % make a directory for the species/energy
cd pp500
cp ../../emcstatus2012/pp500/l2status.py ./ % copy files from a previous year
cp ../../emcstatus2012/pp500/indexWrite.py ./
cp ../../emcstatus2012/pp500/l2status2012.sqlite3 ./l2status2013.sqlite3
cp ../../emcstatus2012/pp500/empty.sqlite3 ./
cp ../../emcstatus2012/pp500/mapping.sqlite3 ./
cp ../../emcstatus2012/pp500/star_env ./
mkdir db
mkdir db/bemc
mkdir db/eemc
mkdir histoFiles
mkdir /onlineweb/www/emcStatus2013 % make the directories where the online files will be written by indexWrite.py
mkdir /onlineweb/www/emcStatus2013/pp500
mkdir /onlineweb/www/emcStatus2013/pp500/pdf
mkdir /onlineweb/www/emcStatus2013/pp500/details
cd /onlineweb/www
ln -s emcStatus2013 emcStatus % make a softlink from emcStatus to the current year's directory
cd -
Now you should go through l2status.py and indexWrite.py and change each instance of the year and species/energy to the current ones. Also there are some lines in l2status.py which refer to runnumbers, these should be changed as well. I also like to start fresh with the QA every year, and comment out the lines which hard-code bad channels. The variable "minimumMedianCounts" should be changed to a value appropriate for the species/energy that is being run.
Generating Status/Pedestal Tables with L2
In each run, as part of the L2 algorithm, a 2D histogram is filled with (channel# + 160*crate#) vs. (ADC-l2ped+20). This histogram is named "h22" and is contained within the root files located here: /ldaphome/onlmon/L2algo2013/l2ped/output/ The python macro named "l2status.py" takes this histogram as an input, and generates individual 1D histograms of the ADC spectra for every tower. These histograms are analyzed to determine the tower status, the ADC value of the pedestal peak, and the sigma of the pedestal peak. See below for the status code definitions and examples.
To execute the code do:
source star_env
python l2status.py
You can monitor the progress of the script by looking at l2status.log (for example, by opening another terminal and doing 'tail l2status.log -n50' periodically). As the script progresses you will see the summary pdf files posted to the webpage http://online.star.bnl.gov/emcStatus/pp500/ (for the relevant species/energy), the status and pedestal tables will be written as text files into db/bemc and db/eemc, the actual root histograms will be written into the histoFiles directory, and the results will be written into the database file l2status2013.sqlite3. The statuses and pedestals should be generated once for every good fill.
In a perfect world you would run over the code over the entire dataset once and you would have the status tables which are then uploaded to the STAR database. However, its usually not that simple. There are often problems with a handful of channels that aren't caught by the status checking code, or some that are flagged as bad, but shouldn't be. My suggestion would be to run the code over all the files first and then then we can use the information in the pdfs and in l2status2013.sqlite3 to isolate problem channels. Some of the parameters in the code you may need to tweak to improve the status tables, and some channels you may have to hard code as a bad status for a period of time.
If you want to clear everything and start fresh, you can do this: clean out the folders db/bemc/ and db/eemc/, remove the log file, remove runList.list, and do 'cp empty.sqlite3 l2status2013.sqlite3'
So as a first step, let l2status.py run for a while (it will take time, I often run it in screen so that I don't have to keep a terminal open). You should kill it manually (ctrl+c) when it reaches the end of the runs that you want to look at. When you start it running again it should just pick up (approximately) where it left off.
The code only computes status/pedestal tables if there are enough hits to get good-quality calibrations. The median number of hits above the pedestal must surpass some threshold (minimumMedianHits) in a given fill; this parameter should be set to an appropriate value in l2status.py (not too high that we miss a lot of fills, and not too low that we don't get good calibrations -- there are some examples for appropriate values given in the code). When the threshold is reached you will see some messages in the log file like
2012-06-07 00:26:36 PID: 21394 INFO medianHits = 635
2012-06-07 00:26:36 PID: 21394 INFO begin status computation
2012-06-07 00:28:05 PID: 21394 INFO end status computation -- found 122 bad channels
2012-06-07 00:28:05 PID: 21394 INFO begin endcap status computation
2012-06-07 00:28:05 PID: 21394 INFO 04TB07 status=136 nonzerohists=22
2012-06-07 00:28:05 PID: 21394 INFO 06TA07 status=136 nonzerohists=18
2012-06-07 00:28:05 PID: 21394 INFO 08TB07 status=136 nonzerohists=21
2012-06-07 00:28:06 PID: 21394 INFO 11TA12 status=0 nonzerohists=60
2012-06-07 00:28:06 PID: 21394 INFO end status computation -- found 11 bad endcap channels
2012-06-07 00:28:10 PID: 21394 INFO current state has been saved to disk
2012-06-07 00:28:10 PID: 21394 INFO creating PostScript file
2012-06-07 00:29:09 PID: 21394 INFO calling pstopdf
2012-06-07 00:29:42 PID: 21394 INFO removing ps file
2012-06-07 00:29:43 PID: 21394 INFO creating endcap PostScript file
2012-06-07 00:29:52 PID: 21394 INFO calling pstopdf
2012-06-07 00:29:57 PID: 21394 INFO removing ps file
2012-06-07 00:29:58 PID: 21394 INFO Finished writing details webpage for F16732_R13108069_R13108080
2012-06-07 00:30:00 PID: 21394 INFO goodnight -- going to sleep now
To evaluate the status of each BEMC tower, its ADC spectrum is tested for various features. If a test fails, then a bit (or multiple bits) is flipped to indicate the nature of the problem with the tower. It is possible for a tower to fail multiple tests and therefore have a status code which indicates multiple problems. I show examples of towers which fail each of the basic tests and are therefore assigned specific status codes.
Status Code Definitions
000 == channel does not exist or is masked in L2ped
001 == channel is good
002 == channel is either hot or cold (see bit 16)
004 == channel has a weird pedestal (see bit 32)
008 == channel has a stuck bit (see bits 64 and 128)
016 == if off, hot (10x as many hits); if on, cold tower (10x fewer hits)
032 == if off, pedestal mean is out of bounds; if on, pedestal width is too large/small
064 == bit stuck on
128 == bit stuck off
254 == identical channel
These codes can be seen by going to the EMC Status webpage and clicking on any of the Details pages.
I show examples from a heavy ion (U+U) run where the numbers of counts in the histograms are higher than in p+p, for clarity. All these plots come from the pdf here.
status = 1 (normal ADC spectrum)
status = 0 (channel is masked out)
Note: MOST of the channels marked with a zero status are (or were) hot channels that were caught and masked out.
status = 2 (hot channel)
Hot channels look like the above plot, and most of them are caught in realtime and masked out, and thus assigned a status of zero. It is unusual to actually catch a really hot channel after the fact.
status = 18 = 2+16 (cold channel)
status = 4 or 36 (bad pedestal)
This status catches a range of problems, from weird-looking spectra (like shown here), to wide pedestals, etc.
status = 72 = 8+64 (stuck bit - on)
status = 136 = 8+128 (stuck bit - off)
status = 254 (identical channels)
Once the ped/stat tables have been generated, they must be QAed. I do the QA in two parts:
1) I spot check the pdf files by eye. I pick about 5 or 6 fills evenly spaced throughout the run and go through each page of the pdf files looking for any strange-looking towers (for example, towers with stuck bits are pretty easy to see, and they don't always get caught by the algorithm). Yes, this takes a while, but we don't have to look at the pdfs for every fill!
For examples of the bad channels you are looking for, have a look at Suvarna's nice QA of the tables last year:
https://drupal.star.bnl.gov/STAR/blog/sra233/2012/dec/05/bemc-statuscuau200hard-coded-towers
https://drupal.star.bnl.gov/STAR/blog/sra233/2012/aug/15/bemc-statuspp200towers-with-status-marked-oscillating
2) The status and pedestal information is stored in the sqlite database file, and we can spin over this quickly in order to look at the data over many runs/fills. I have attached a script which is used to analyze the database file l2status2013.sqlite3. The first step is to download l2status2013.sqlite3 somewhere *locally* where you can look at it, and save statusCheckfill2.py in the same place. In statusCheckfill2.py you should change line 27 to the appropriate run range that you are analyzing, and change 2012-->2013 if necessary. Then all you need to do to run the code is something like:
setenv PYTHONPATH $ROOTSYS/lib
python statusCheckfill2.py
This python code allows you to look at the statuses and pedestals from run to run. At the moment I make lists of the statuses and pedestals for each tower (in the variables u and y -- sorry for my horrible naming scheme!), and then I can print these lists to the screen or graph them. At the moment I have the code so that it prints the statuses for any tower that has status 1 some, but not all, of the time (line 138). This script can be used to find channels which change status frequently over the course of the run... for example, sometimes there are channels which are right on the edge of satisfying the criteria for being marked as "cold" and therefore their status alternates 1 18 1 1 18 18 1 1 18 1 18 etc. Then we can look at the pdf files to see if the tower always looks cold, or if its behavior really changes frequently. If it is truly cold, then at that point we can either adjust the criteria for being marked as cold, or hard-code the channel as status 18 (I typically just hard-code it).
Also I can look at the histograms histoPedRatio and histoPedRatioGood (which are saved out in histogramBEMCfill.root), which are plots of the ratio of the pedestal for a given run to the pedestal of the first run as a function of tower id. histoPedRatio is filled for every tower for every run (unless the pedestal for that tower in the first run is zero), and histoPedRatioGood is only filled if the tower's status is 1. I haven't needed to cut out any towers based on these plots, but I think they would be a good way to find any towers whose pedestals are fluctuating wildly over time (or maybe you might want want to plot the difference, not the ratio).
So you can take a look at the code and play around with it so that it allows you to do the QA that you think is best.
If you look at l2status.py, you can see where I've hard-coded a bunch of channels I thought were bad (the lines which hard-code bad channels are commented out right now because I prefer to start from scratch each year). I've pasted the code here too:
## hard code few bad/hot channels
#if int(tower.softId)==939 : ##hard code hot channel
# tower.status |= 2
#if (int(tower.softId)==3481 or int(tower.softId)==3737) : ##hard code wide ped
# tower.status |= 36
#if (int(tower.softId)==220 or int(tower.softId)==2415 or int(tower.softId)==1612 or int(tower.softId)==4059): ##hard code stuck bit
# tower.status |= 72
if (int(tower.softId)==671 or int(tower.softId)==1612 or int(tower.softId)==2415 or int(tower.softId)==4059) : ##hard code stuck bit (not sure which bit, or stuck on/off)
tower.status |= 8
if (int(self.currentFill) > 16664 and (int(tower.softId)==1957 or int(tower.softId)==1958 or int(tower.softId)==1977 or int(tower.softId)==1978 or int(tower.softId)==1979 or int(tower.softId)==1980 or int(tower.softId)==1997 or int(tower.softId)==1998 or int(tower.softId)==1999 or int(tower.softId)==2000 or int(tower.softId)==2017 or int(tower.softId)==2018 or int(tower.softId)==2019 or int(tower.softId)==2020)) : ##hard code stuck bit
tower.status |= 8
if (int(tower.softId)==410 or int(tower.softId)==504 or int(tower.softId)==939 or int(tower.softId)==1221 or int(tower.softId)==1409 or int(tower.softId)==1567 or int(tower.softId)==2092) : ##hard code cold channel
tower.status |= 18
if (int(tower.softId)==875 or int(tower.softId)==2305 or int(tower.softId)==2822 or int(tower.softId)==3668 or int(tower.softId)==629 or int(tower.softId)==2969 or int(tower.softId)==4006) : ##either cold or otherwise looks weird
tower.status |= 18
Some of these channels are persistently problematic, so I expect that your list of bad channels will look similar to mine from previous years.
It may take a few iterations of generating the tables, finding bad towers, tweaking the code or hard-coding the bad channels, regenerating the tables, etc before you are satisfied with the quality of the tables. Once you have run l2status.py one last time and are satisfied with the quality of the tables you have generated, they are ready to be uploaded to the database by the software coordinator.
Once the ped/stat tables have been QAed satisfactorily, the values need to be uploaded to the database.
First, the files in /db/bemc/ need to be moved to RCF, where the upload will take place. This can be done with the following commands:
ssh-agent > agent.sh
source agent.sh
ssh-add
ssh -X -A aohlson@rssh.rhic.bnl.gov % using your own username
rterm -i
mkdir bemcUpload2013 % make a directory to work in
mkdir bemcUpload2013/tables
cd bemcUpload2013/tables/
scp onlmon@onl05.starp.bnl.gov:'/ldaphome/onlmon/emcstatus2013/pp500/db/bemc/*.txt' ./
cd ../
The scripts bemcPedTxtUpload.C and bemcStatTxtUpload.C are used to perform the upload. They take as input the name of a file which contains a list of the files to be uploaded. To create the file lists:
% in bemcUpload2013/
mkdir lists
cd tables
ls bemcStatus*.txt > ../lists/bemcStatus.list
ls bemcPed*.txt > ../lists/bemcPed.list
cd ../
Once the file lists have been created, the scripts can be run with:
stardev
setenv DB_ACCESS_MODE write
root4star bemcStatTxtUpload.C
root4star bemcPedTxtUpload.C
Important!
1) The upload scripts (bemc*TxtUpload.C) contain return statements to prevent accidental uploads. Make sure everything is working properly by running the scripts with the return statements included (nothing will be uploaded to the db) first. When you are sure that you're ready to upload, then comment out the return statements. After uploading, don't forget to uncomment the return statements!
2) Try uploading one table first, and then check that it is uploaded correctly (see below), before uploading all the tables for the whole run. If a table is uploaded wrongly, it can be disactivated by the software team, but this is not something we want to do often. (In the case of a single table, it may be more efficient to just upload the correct table with a timestamp one second after the incorrect table.)
3) Reminder: this is not a task many people should need to do but should be limited to one or two "experts", who will be given special DB writing priviledges by Dmitry Arkhipkin (arkhipkin@bnl.gov).
Uploaded tables can be viewed with the online BEMC DB browser. I find it helpful to spot-check some tables to make sure they have been uploaded correctly. I find a table with the browser, copy it into an text file, and compare it to the text file I uploaded (in tables/). For the status tables, this can be done with a simple diff command. For the pedestal tables, the script checkPeds.C can be used.
At the beginning of the run (after physics has been declared, L2 is running, etc), it is good to generate a set of ped/stat tables and upload them to the database one second after the initialized values (for example, at 20131220.000001). (Reminder: The procedure for initializing the timeline with ideal values can be found here.) This can be done with the bemc*TxtUpload.C scripts; you will see a commented-out line that shows how to set the timestamp manually. It is good to do this periodically throughout the run, especially if something changes with the detector or beam configuration, so that FastOffline reconstruction can pick up decent DB values. Each time, the tables should be uploaded one second after the previous tables, so that when we upload the fully-QAed tables at the end of the run, the temporary ones will no longer be picked up.
Getting Started
1) The code needed to perform the gain calibrations can be checked out from CVS and compiled. In your working directory, do:
cvs co StRoot/StEmcPool/StEmcOfflineCalibrationMaker/
cons
You can move the required files to your working directory, or make soft links. You need the following files, which are in the macros/ directory:
-- bemcCalibMacro.C
-- btow_mapping.20030401.0.txt
-- CalibrationHelperFunctions.cxx
-- CalibrationHelperFunctions.h
-- electron_drawfits.C
-- electron_histogram_maker.C
-- electron_master.C
-- electron_master_alt.C
-- electron_tree_maker.C
-- geant_fits.root
-- mip_histogram_fitter.C
-- mip_histogram_maker.C
-- SubmitCalibJobs.pl
-- runMIPjobs.sh
-- runElecJobs.sh
-- runFinalElecJobs.sh
Some of the files have lists of triggers which need to be hard-coded in for each year. In particular, in bemcCalibrationMacro.C you should ensure that the correct trigger list is present, and the trigger IDs for the HT triggers need to be written in StEmcOfflineCalibrationMaker.cxx. (In most cases I have already typed in the values for Run 11, but they are commented out while the Run 9 values are commented in.) If you want to use the TOF information (in Run 11 and beyond), there are some lines of code that need to be commented in in StEmcOfflineCalibrationMaker.cxx.
Generating Trees
2) Generate the list of runs with the following command (for Run 9)
get_file_list.pl -keys "runnumber" -distinct -cond "production=P11id,filetype=daq_reco_MuDst,sanity=1,trgsetupname=production2009_200GeV_Single,filename~st_physics,tpx=1,emc=1,storage!=HPSS" -limit 0 | sort -u > runlist.txt
or similar for other years.
3) Run SubmitCalibJobs.pl, which will execute the bemcCalibMacro.C macro. Make sure that the correct catalog query lines are commented in/out in the submit script. Also ensure that the appropriate directories exist ($workingDir, $schedDir, $outDir, $logDir, $scriptDir) as specified at the top of the submit script.
This macro creates trees which store primary tracks which will be further analyzed for the calibration. For each primary track we write out the track information from the TPC, the EMC information for the 3x3 tower cluster around the track, the TOF information (in Run 11 and beyond), and the trigger information.
The trees created by this step are stored on HPSS here:
Run 9: /home/aohlson/bemcCalib2009_x.tar where x=0,...,9
Run 11: /home/aohlson/bemcCalib2011_05_x.tar where x=0,...,14 and /home/aohlson/bemcCalib2011_07_x.tar where x=0,...,18
MIP calibration
The relative gain calibration is obtained by finding the MIP peak in each of the 4800 BEMC towers.
The MIP energy deposit has the following functional form, which was determined from test beam data and simulations:
MIP = (264 MeV)×(1+0.056η2)/sin(θ)
From this expression we can calculate a calibration constant
C = 0.264×(1+0.056η2)/(ADCMIP×sin(θ))
where ADCMIP is the location of the MIP peak in the ADC spectrum. This allows us to combine towers at the same η and thus find the absolute gain calibration in each crate-slice using electrons (see next section).
The procedure for obtaining the MIP calibration is as follows...
4) Make the MIP histograms with runMIPjobs.sh which executes mip_histogram_maker.C Ensure that the correct output filenames are specified in the submit script.
Events with |vz| < 30 cm are selected, and any towers that have multiple tracks associated with them are excluded. We select tracks with p > 1 GeV/c, and require that they enter and exit the same tower. We require that the towers surrounding the central tower do not contain a large energy deposition. We require that ADC-ped > 1.5*pedRMS. After these track quality cuts we fill histograms with the ADC-ped values for each tower.
5) Make a list of the output files from step (4) called mips.list. Run mip_histogram_fitter.C
We fit each histogram with a gaussian on a pedestal; the histograms and fits are shown in mip.pdf. If the fit values fail basic quality cuts (such as if the mean is < 5), then the tower is assigned a bad status (!=1). These fits are marked as red in mip.pdf. For each tower we record the mean and sigma of the gaussian fit, and the status.
6) Check mip.pdf by eye to look for any other towers which were obviously bad. Write a function like isBadTower2009(int id) (see examples in the code) which identifies these bad towers so that they can be assigned a bad status. You can either put this function in mip_histogram_fitter and re-run it, or you can put it in the electron codes. Note that most of the towers with bad MIP peaks were marked as bad (cold/hot/stuck bit) towers when the status/pedestal tables were originally computed.
Electron calibration
The absolute gain calibration is done by identifying electrons and finding the E/p peak for small groupings of towers. It is desirable to find the E/p peak for as small groupings as possible. In 2006 the calibration was done in rings in η, while in 2009 it was done for "crate-slices", which are groups of 8 towers in the same crate in the same η ring.
The procedure is as follows...
7) Make the electron trees with runElecJobs.sh which will execute electron_tree_maker.C Ensure that the correct output filenames are specified in the submit script.
The macro electron_tree_maker.C makes slimmer trees of electron candidates which satisfy the following criteria:
-- event vertex |vz| < 60
-- track must come from reconstructed vertex (ranking >= 0)
-- 1.5 < p < 20 GeV/c
-- nhits >= 10
-- matched tower status = 1
-- dE/dx > 3e-6
-- ADC-ped > 1.5*pedRMS
In this macro, if the electron track points towards a HT trigger tower then it is assigned htTrig = 2
8)
In the old calibration: Make a list of the output files from step (5) called electrons.list. Run electron_master.C.
---- OR ----
In the new calibration: Run runFinalElec.sh, which executes electron_master_alt.C (make sure that the input/output filenames and directories are correct). Hadd the resulting output files, and use this file as the input to electron_drawfits.C
In this macro even more stringent cuts are placed on the electron candidates:
-- ADC-ped > 2.5*pedRMS
-- track must enter and exit the same tower
-- p < 6 GeV/c
-- track does not point towards a tower which fired the HT trigger (htTrig != 2)
-- dR < 0.025 (distance from the center of the tower)
-- dE/dx > 3.4e-6
-- the maximum Et in the 3x3 cluster of towers must be in the central tower
-- there are no other tracks pointing to the central tower
The resulting histograms of E/p in each crate-slice are drawn and fit with a Gaussian plus a first-order polynomial. If the calibration is already correct, then the E/p peak should be at 1. The deviation from unity establishes the absolute gain calibration which, combined with the relative gain calibration from the MIP procedure, defines the overall BEMC gain calibration.
This is parent page that will hold all informationa about the run12 BEMC gain calibration
This calibration was done with the 200 GeV proton-proton data collected in 2012. The calibration trees are backed up on HPSS and can be found here:
/home/jkadkins/bemcCalibrations/2012/pp200/bemcCaibTrees2012-0XX.tar
where XX = 0, 1, 2, .... , 34
I plan on "Drupalizing" these pages soon, but for now here are links to Marco's slope calibration and Alex's MIP and Electron calibrations for the 2003 run:
Marco's tower slope calibrationThe recalibration of the BEMC towers for Run 4 includes the following improvements:
Notes:
The offline calibration of the BEMC towers for Run 4 is accomplished in three steps. In the first step, MIPs are collected for each tower and their pedestal-subtracted ADC spectra are plotted. The MPV of the distribution for each tower is translated into a gain using an equation originally established by test-beam data (SN 0433). In the second step, electrons are collected for each eta-ring and the ratio of their momentum and energy (with the energy calculated using the MIP gains from step 1) is plotted as a function of the distance between the track and the center of the tower. The calculated curve is fit to a GEANT simulation curve, allowing extraction of scale factors for the MIP gains in each eta ring. Finally, all electrons in all eta-rings are grouped together and the ratio of their energy and momentum (E/p) is plotted, with the energy calculated from the rescaled gains in the second step. The distribution is fit with a Gaussian and a scale factor is applied so that this Gaussian is centered exactly on 1.000.
<inputURL="catalog:star.bnl.gov?production=P05ia||P05ib||P05ic,sanity=1,tpc=1,emc=1, trgsetupname=ProductionMinBias||productionLow||productionMid||productionHigh,filename~physics, filetype=daq_reco_mudst,magscale~FullField,storage!~HPSS,runnumber>=5028057" nFiles="all" />
/star/u/kocolosk/emc/offline_tower_calibration/2004/jan25_2004mip/
/star/u/kocolosk/emc/offline_tower_calibration/2004/jan30_2004electron/
The final BTOW calibration for Run 5 offers the following improvements over previous database calibrations:
p0 = 0.00696912 for the fit parameter implies an <ET> = 28.3 GeV on the west side, but the gains do not seem to be well described by the 1/sin(theta) fit
3997/4240 = 94.3% of commissioned towers have nonzero gains
The offline calibration of the BEMC towers for Run 5 is accomplished in three steps. In the first step, MIPs are collected for each tower and their pedestal-subtracted ADC spectra are plotted. The MPV of the distribution for each tower is translated into a gain using an equation originally established by test-beam data (SN 0433). In the second step, electrons are collected for each eta-ring and the ratio of their momentum and energy (with the energy calculated using the MIP gains from step 1) is plotted as a function of the distance between the track and the center of the tower. The calculated curve is fit to a GEANT simulation curve, allowing extraction of scale factors for the MIP gains in each eta ring. Finally, electrons in all eta-rings that pass through the center of a tower are grouped together and the ratio of their energy and momentum (E/p) is plotted, using the energy calculated from the rescaled gains in the second step. The ditribution is fit with a Gaussian and a scale factor is applied so that this Gaussian is centered exactly on 1.000.
<input URL="catalog:star.bnl.gov?production=P05if,tpc=1,emc=1, trgsetupname=ppProduction||ppTransProduction||ppProductionMinBias, filename~st_physics,filetype=daq_reco_mudst,storage!~HPSS" nFiles="all" />
/star/u/kocolosk/emc/offline_tower_calibration/2005/feb08_2005/
/star/u/kocolosk/emc/offline_tower_calibration/2005/feb08_earlyfiles/
The 2005 directory contains jobs run using Dave Relyea's offline pedestals (the bulk of the data), while the earlyfiles directory uses online pedestals for runs before April 26th that are not included in the offline pedestal calculations.
Detailed information on this and other BTOW calibrations, including tower-by-tower MIP and p/E spectra and a summary of outstanding issues, is available at
http://www.star.bnl.gov/protected/spin/kocolosk/barrel_calibration/saved_tables/
The calibration summarized here has the timestamp 20050101.000001.
The procedure for performing the relative calibration can be divided into 3 steps:
Using Mike's code from the calibration of the 2004 data, an executable was created to run over the 62GeV CuCu data from Run 5, produce the 2400 histograms, and calculate a new gain for each tower. It was necessary to check these histograms by hand to identify the working towers. The output of the executable is available as a 200 page PDF file:
2005_mip_spec.pdf (2400 towers - 21.6 MB)
Towers marked red or yellow are excluded from the calibration. Condensed PDFs of the excluded towers are available at the bottom of the page ("bad" and "weird"). In all, we have included 2212 / 2400 = 92% of the towers in the calibration.
The first plot in the top left shows the excluded towers (white blocks) in eta_phi space
In the second plot we collect the towers into 20 eta-rings (delta-eta = 0.05) and look at the change in gain as we move out in eta. This plot shows the expected increase in gain as we move into the forward region (except for eta-rings 19 and 20).
Finally we look at each individual eta-ring for for systematic variations in azimuth. There appears to be some structure around phi=0.2 and phi=3.
We have made an attempt to realize the absolute energy scales using electrons. Unfortunately, there does not appear to be a sufficient number of electrons in the processed 62GeV data to do this for each eta-ring. We will revisit this later when more statistics are available, but in the meantime we have established the following workaround:
The results of this procedure are seen in an updated plot of gain vs. eta:
Here are new bemcCalib and bemcStatus .root files created using these rescaled gains:
bemcCalib.20050113.053235.root
bemcStatus.20050113.053235.root
The text file is a list of tower-gain pairs. A gain of zero indicates a tower that has been masked out. Finally, we have a plot of p/E summed over all eta:
We have calculated new gains for the 1200 towers in the east half of the barrel that were turned on by March 22. Only data from March 22 were used in this calibration. The results can be found in 2005_mip_spec_newtowers.pdf
bemcCalib.20050322.000000.root
bemcStatus.20050322.000000.root
The gains for towers 1-2400 are the same as before. These files include those entries, as well as new gains for towers 2401-4800. No attempt has been made to get an absolute energy scale for the east towers, so we still see the drop in gain for large eta:
Previously we had calibrated the BEMC using data from all triggers. We now have enough data to restrict ourselves to minimum-bias triggers. Additionally, we have implemented a cut that requires the pedestal-subtracted ADC value of neighboring towers to be less than twice the width of the pedestal. This cut does an excellent job of removing background, especially in the high-eta region:
The cut is used in the bottom plot. Unfortunately there is also a small subset of towers where the isolation cut breaks the calibration:
Again the cut is used in the bottom plot. We have decided to use the isolation cut when possible, and use the full minimum-bias data in the case of the (55) towers for which the cut breaks the calibration. This new calibration is able to recover ~30 towers that were previously too noisy to calibrate. We are in the process of reviewing the remaining bad towers found in 2005_MinBiasBadTowers.pdf. Towers 671,1612, and 4672 appear to have problems with stuck bits in the electronics, and there are a few other strange towers, but the majority of these towers just seem to have gains that are far too high. We plan on reviewing the HV settings for these towers. An ASCII file of the bad towers is attached below.
note: 3915/4240 = 92.3% of the available towers were able to be used in the calibration. Lists of bad/weird towers in the pp run are available by tower id:
bad_towers_20050914.txt
weirdtowers_20050914.txt
The relative calibration procedure for pp data is identical to the procedure we used to calibrate the barrel with CuCu data (described below). The difference between pp and CuCu lies in the electron calibration. In the pp data we were able to collect enough electrons on the west side to get an absolute calibration. On the east side we used the procedure that we had done for the west side in CuCu. We used a function that goes like 1/sin(theta) to fit the first 17 eta rings, extrapolated this function to the last three eta rings, and calculated the scale factors that we should get in that region. Here is a summary plot comparing the cucu and pp calibrations for the 2005 run:
Comparing the first two plots, one notices immediately that many of the pp gains on the east (eta < 0) side are quite high. A glance at the last plot on the summary canvas reveals a collection of towers with phi < -pi/2 that have unusually high gains. These towers were added during the pp run and hence their gains are based on nominal HV values without any iteration (thanks Mike, Stephen). If we mask out those towers in the summary plot, the plots look much more balanced:
The bottom plot clearly shows that the final pp gains are ~10% higher than the gains established from the mip calibration using the cucu data. Moreover, the cucu data closely follows a 1/sin(theta) curve, while the curve through the pp data is flatter. This is revealed in the shape of the bottom plot. Note that we never scaled the gains near eta=-1 for the cucu data, which is why there is still a significant drop-off in the ratio of the mean gains in that region.
New calibration and status tables (including the gains for the new towers that were turned on during pp running) are available at
bemcCalib.20050322.000001.root
bemcStatus.20050322.000001.root
It should be noted that the scale factors we used to get the final gains near eta=-1 on the east side were calculated without the new towers since they were throwing off the fit function. However, those new towers still had their final gains scaled before we produced the calibration and status tables.
This is not the final calibration for the 2006 data, but it's a big improvement over what's currently in the DB. It uses MIPs to set relative gains for the towers in an eta ring, and then the absolute scale is set by electron E/p.
This is a problem that we encountered in 2005, where several pairs of towers had good-looking spectra until the isolation cut was applied, and then quickly lost all their counts. Well, all of the towers that I had tagged with this problem in 2005 still have it in 2006, with one exception. Towers 1897 and 1898 seem to have miraculously recovered, and now towers 1877 and 1878 appear to have isolation failures. Perhaps this is a clue to the source of the isolation failures?
everything I could find on nov07:
<input URL="catalog:star.bnl.gov?production=P06ie,sanity=1,tpc=1,emc=1,trgsetupname= ppProduction||ppProductionTrans||ppProductionLong||pp2006MinBias||ppProductionJPsi||ppProduction62||ppProductionMB62, filename~st_physics,filetype=daq_reco_mudst" nFiles="all" />
Same as 2005. All MIP fits are basic Gaussians over the range 5..250 ADC-PED. Electron fits are Gaussian + linear in a very crude attempt to estimate hadronic background.
/star/u/kocolosk/emc/offline_tower_calibration/2006/nov07/
The gains look pretty balanced on the east side and west side. Note that I didn't multiply by sin(theta), so we expect an eta-dependence here. The widths plot is interesting because it picks out one very badly behaved crate on the east side at phi=0. I believe it is 0x0C, EC24E (towers 4020-4180). The tower fits are attached below if you're interested. Bad towers are marked in red.
E/p plots for all 40 eta-rings (first 20 on west side, 21-40 on east side) are attached below. In general, the electrons indicate a 9-10% increase in the MIP gains is appropriate. In the last two eta rings on each side, that number jumps to 20% and 40%. This is more or less consistent with the scale factors found in the 2003 calibration (the last time we used a full-scale energy of 60 GeV. If I scale the MIP gains and plot the full-scale E_T I get the plot on the left. Fitting the eta dependence with a pol0 over the middle 36 eta rings results in a ~62 GeV scale and a nasty chi2.
So after scaling with the electrons it looks like we are actually a couple of GeV high on the absolute scale. I'll see if this holds up once I've made the background treatment a little more sophisticated there. I also have to figure out what went wrong with the electrons out at the edges. I didn't E/p would be that sensitive to the extra material out there, but for some reason the normalization factors out there are far too large. Next step will be to comapre this calibration to one using electrons exclusively.
Calibration Uncertainty:
Here are some links that address different parts of the calibration uncertainty that are not linked from this page:
drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/run6/btow/calibration-uncertainty-calculation
drupal.star.bnl.gov/STAR/blog-entry/mattheww/2009/apr/09/2006-calibration-uncertainty
drupal.star.bnl.gov/STAR/blog-entry/mattheww/2009/apr/27/crate-systematic-2006
~300k events processed using fastOffline:
Run 7079034 ~189K
Run 7079035 ~115K
Number of events with nonzero primary tracks = 109k / 309k = 35%
Still a few problems with pedestal widths in the database, although now they appear to be restricted to id > 4200. If I don't cut on adc>2*rms, the software id distribution of MIPs looks pretty isotropic:
The distribution of primary tracks also looks a lot better:
I was able to calculate MIP gains for each of the 40 eta-rings. The plot at the top fits a line to the full-scale transverse energies extracted from the gains (excluding the outer two eta-rings on each side). For the error calculations I used the error on the extraction of the mean of the MIP ADC peak and propagated this through the calculation. This is not exactly correct, but it's a pretty close approximation. In a couple of cases the error was exceedingly small (10^-5 ADC counts), so I forced it to an error of 1 GeV (the fit failed if I didn't).
As you can see in the text file, an error of 1 ADC in the MIP peak leads to an error of 3 GeV in the full-scale transverse energy. Therefore I would say that pedestal fluctuations (1-2 ADCs) give an additional error of 5 GeV to my calculations, which means that the majority of these eta-rings are consistent with a 60 GeV full-scale.
Note: The first attempt at this analysis was plagued by poor TPC tracking and also problems with corrupted BTOW pedestal widths in the database. I'm including the content of the original page here just to document those problems.
250k events processed using fastOffline:
Run 7069023 100K
Run 7069024 100K
Run 7069025 50K
Number of events with nGlobalTracks > 0 = 30166 (12%)
On the left you see the software id distribution of slope candidates (adc-ped>3*rms, no tracking cuts). There's a sharp cutoff at id==1800. But before you go blaming the BEMC for the missing MIPs, the plot on the right shows eta-phi distribution of global tracks without any EMC coincidence. The hot region in red corresponds to 0<id<1800:
As it turns out, the missing slope candidates are likely due to wide pedestals. The pedestal values look fine, but if I plot pedrms for id<1800 and id>1800 using the slope candidates that did survive:
Is it possible that the TPC track distribution is connected to this problem?
Using the gains we calculated for 2006 tower by tower from the MIPs and then corrected with the electron eta rings, I calculated how it differed from the ideal gain assuming containment of an EM shower with 60 GeV ET. After removing bad towers, we can fit the distribution of this ratio to a gaussian and we find there is approximately a 6% variation in the gains.
Summary:
The uncertainty on the 2006 BTOW Calibration is 1.6%. This value is the combination of a 1.3% overall uncertainty and a 0.9% uncertainty caused by variations in the different crates. This uncertainty should be treated as a measure of the bias in the 2006 Calibration.
Plan:
Attached is a document how the calibration uncertainty for 2006 will be calculated:
The uncertainty on the calibration will be assigned as the maximum between |E/p −1.0| and the uncertainty on the peak position.
Method:
We did some initial studies to determine the magnitude of each of these effects, and then we generated calibration trees covering the entire 200 GeV pp run from 2006. The code used to generate these trees is available in StRoot/StEmcPool/StEmcOfflineCalibrationMaker.
We made the following cuts on the tracks to select good electrons and an unbiased sample.
List 1:
After making these cuts, we fit the remaining sample to a gaussian plus a first order polynomial, based on a study of how to fit the background best.
Figure 1 uses an isolation cut to find a background rich sample to fit:
Figure 2 shows the stability of the E/p location (on the y-axis) between our fit and just a gaussian for different windows in dEdx (x-axis)
Figure 3 shows the E/p location (y-axis) for different annuli in dR (x-axis/1000), which motivated our dR cut to stay in a flat region:
After making all of these cuts, we fit E/p to the entire sample of all our electrons. We then add different cuts based on the trigger information to see how that might affect the bias. We looked at four scenarios:
List 2:
From these scenarios we chose the largest deviation from E/p = 1.0 as the overall uncertainty on the calibration. This happens to be scenario 3, working out to 1.3%.
Figure 4: E/p for different scenarios
We also observed a possible crate systematic by fitting E/p for each crate separately.
Figure 5 E/p for each crate:
According to the chi^2, there is a non statistical fluctuation. To figure out how much that is, we compared the RMS of these points to that when the data is randomly put into 30 partitions. It turns out that all of it is due to that one outlier, crate 12. Since crate 12 contributes 1/15 to each eta ring that it touches, the deviation of this point from the fit causes an uncertainty of 0.9%. This additional uncertainty increases the total uncertainty to 1.6%.
Side Note - Linearity:
After removing HT/HTTP events, we took a look at this plot of p (y-axis) vs E/p (x-axis). By eye, it looks pretty flat, which we verified by splitting into p bins.
Figure 6 p vs E/p
Figure 7 E/p vs p
Eta Dependence:
There was some question about whether there was eta dependence. This was investigated and found to be inconsequential: http://drupal.star.bnl.gov/STAR/node/14147/
Figure 8: Divided the sample into 3 separate time periods. Period 1 goes is before run 7110000. Period 2 is between runs 7110000 and 7130000. Period 3 is after run 7130000. The deviations are below 1.6%.
Figure 9: Agreement between east and west barrel:
Figure 10: ZDC Rate vs. energy/p
Figure 11: E/p fits for three different regions in ZDC rate: 0 - 8000, 8000-10000, 10000-20000 Hz.
Goal: study eta dependence of 2008 BTOW HV
Formulas used to map tower ID in to eta-phi location int id0=id-1; int iwe=0; // West/East switch if(id>2400) iwe=1; int id0=id0%2400; int iphi=id0/20; int ieta=id0%20; if(iwe==0) ieta=ieta+20; else ieta=19-ieta;
eta=0.05 mean HV=821 +/- 5 sigHV=60 eta=0.15 mean HV=820 +/- 5 sigHV=60 eta=0.25 mean HV=815 +/- 5 sigHV=62 eta=0.35 mean HV=811 +/- 5 sigHV=66 eta=0.45 mean HV=817 +/- 5 sigHV=66 eta=0.55 mean HV=820 +/- 5 sigHV=57 eta=0.65 mean HV=820 +/- 5 sigHV=59 eta=0.75 mean HV=806 +/- 5 sigHV=62 eta=0.85 mean HV=807 +/- 5 sigHV=58 eta=0.95 mean HV=829 +/- 5 sigHV=65
eta=0.05 mean HV=759 +/- 6 sigHV=56 eta=0.15 mean HV=760 +/- 7 sigHV=62 eta=0.25 mean HV=756 +/- 6 sigHV=53 eta=0.35 mean HV=763 +/- 6 sigHV=55 eta=0.45 mean HV=756 +/- 7 sigHV=58 eta=0.55 mean HV=760 +/- 6 sigHV=54 eta=0.65 mean HV=743 +/- 6 sigHV=52 eta=0.75 mean HV=754 +/- 6 sigHV=54 eta=0.85 mean HV=754 +/- 7 sigHV=64 eta=0.95 mean HV=769 +/- 7 sigHV=59
eta=-0.95 mean HV=730 +/- 4 sigHV=57 eta=-0.85 mean HV=723 +/- 4 sigHV=57 eta=-0.75 mean HV=727 +/- 4 sigHV=59 eta=-0.65 mean HV=718 +/- 4 sigHV=58 eta=-0.55 mean HV=723 +/- 4 sigHV=58 eta=-0.45 mean HV=720 +/- 4 sigHV=56 eta=-0.35 mean HV=727 +/- 4 sigHV=54 eta=-0.25 mean HV=724 +/- 4 sigHV=60 eta=-0.15 mean HV=735 +/- 4 sigHV=59 eta=-0.05 mean HV=729 +/- 4 sigHV=60
Example of MIP peak for BTOW towers pointed by TPC MIP track: Spectra for 4800 towers (raw & MIP) are in attachment 1.
Method of finding MIP signal in towers:
Table 1
BTOW swaps, very likely, ver 1.3, based on 2008 pp data, fmsslow-production 266 --> 286 , 267 --> 287 , 286 --> 266 , 287 --> 267 , 389 --> 412 , 390 --> 411 , 391 --> 410 , 392 --> 409 , 409 --> 392 , 410 --> 391 , 411 --> 390 , 412 --> 389 , 633 --> 653 , 653 --> 633 , 837 --> 857 , 857 --> 837 ,1026 -->1046 ,1028 -->1048 ,1046 -->1026 ,1048 -->1028 , 1080 -->1100 ,1100 -->1080 ,1141 -->1153 ,1142 -->1154 ,1143 -->1155 , 1144 -->1156 ,1153 -->1141 ,1154 -->1142 ,1155 -->1143 ,1156 -->1144 , 1161 -->1173 ,1162 -->1174 ,1163 -->1175 ,1164 -->1176 ,1173 -->1161 , 1174 -->1162 ,1175 -->1163 ,1176 -->1164 ,1753 -->1773 ,1773 -->1753 , 2077 -->2097 ,2097 -->2077 ,3678 -->3679 ,3679 -->3678 ,3745 -->3746 , 3746 -->3745 ,4014 -->4054 ,4015 -->4055 ,4016 -->4056 ,4017 -->4057 , 4054 -->4014 ,4055 -->4015 ,4056 -->4016 ,4057 -->4017 ,4549 -->4569 , 4569 -->4549 ,
Details for all swaps are shown in attached 2.
Other problems found during analysis, not corrected for, FYI
I examined runs from 2008 pp (list attached below) to create calibration trees (using StRoot/StEmcPool/StEmcOfflineCalibrationMaker). The code loops over the primary tracks in the event and selects the global track associated with it, if available. If the track can be associated to a tower and has outermomentum > 1 GeV, it is saved.
I then loop over those tracks and choose ones that fall within a certain criteria:
We can sum over all runs to produce MIP spectrum in 4445 towers. Of those, 4350 pass current QA requirements. An example MIP spectrum with fit is shown below. All MIP peaks can be seen in the attached PDF. It's important to note that the uncertainty on the MIP peak location with these statistics is on average 5%. This number is a lower limit on the calibration coefficient uncertainty that can only be improved with statistics.
Fig 1. Typical MIP peak. Plots like this for all 4800 towers are in attachment 1.
The following plot shows MIP peak location in ADCs (in eta, phi space) of all of towers where such a peak could be found.
Fig 2. MIP Peak (Z-axis) for all towers
This plot shows the status codes of the towers. White are the towers that had 0 entries in their histograms. Red are the good towers (pushed them off scale to see the rest of the entries). Towers in the outermost eta bin received different treatment. The fit range was between [6,100] for those towers (vs [6,50] for the rest). The cuts applied for QA were slightly loosened. The rest of the codes follow this scheme:
Fig 3. status of towers
Spectra of towers rejected by rudimentary automatic QA were manually inspected and 91 were found to contain reasonable MIP peak and have bin re-qualified as good. PLots for those towers are in attachment 2.
Determination of relative gains BTOW gains based on MIP peak for the purpose of balancing HV for 2009 run
Procedure:
In this stage of calibration process 4430 towers with well visible MIP peak were use. The remaining 370 towers will be called 'blank towers' . There are many reasons MIP peak doe snot show up e.g. dead hardware. ~60 of the 'blank towers' are 02 BTOW swaps ver=1.3- as identified earlier and not corrected in this analysis.
Fig 1. Left: MIP peak (Z-axis) was found for 4430 towers shown in color. White means no peak was found - those are "blank towers". Right: eta-phi distribution of blank towers. On both plots East (West) barrel is show on etaBins [1-20], (21,40).
The (iEta, iPhi ) coordinates were computed based on softID as follows:
int jeta= 1+(id-1)%20; // range [1-20] int jphi= 1+(id-1)/20; // range [1-240] if(jphi<=120) { // West barrel keta=jeta+20; kphi=jphi; } else { // East barrel keta=-jeta+21; kphi=jphi-120; }
Fig 2. Average MIP position as function of eta bin. West-barrel gains are higher even of average.
Gain corrections (GC1) were computed as
GC1(iEta,iPhi)= MIP(iEta,iPhi) / avrMip(iEta)
For the East-barrel we used values of avrMip(iEta)from symmetric eta-bins from the West barrel.
If computed correction was between [0.95,1.05] or if towers was "blank" GC1=1.00 was used.
Fig 3. Left distribution of gain corrections GC1(iEta). Right: value of GC1(iEta,iPhi).
Attached spreadsheet contains computed GC1(softID) in column 'D' together with MIP peak parameters (columns H-P) for all 4800 towers. Below is just first 14 towers.
Used .C macro is attached as well.
We use the MIP ADC location calculated in part 03 to get a preliminary measure of the energy scale for each tower.
The following formula from SN436 provides the calibration coefficient:
C =
where E = C * (ADC - ped).
For the electron sample I select tracks with:
Here is one of the E/p distributions. Note the error on the mean is about 2%, which is about average.
For each electron we calculate E/p and sum over eta rings. Here is the peak of E/p for each eta bin. The error bars show the error on the mean value, and the shaded bar is the sigma. I fit over the range [-0.9,0.0] and [0.0,0.9] separately. The fit for the east reports the mean is 0.9299 +/- 0.0037. For the west, I get 0.9417 +/- 0.0035.
The location of the E/p peak tells us the correction that needs to be applied to the calibration coefficients of towers in each eta ring to get the correct absolute energy.
Reference plot (electron showers):
The ideal gain for each tower satisfies the following relation, where E_T = 60 GeV when ADC is max scale (~4095 - ped):
(1)
We want to calculate the total energy deposited in a tower, which is the following in the ideal case:
(2)
In reality, we calculate the calibration according to the following formula:
(3)
where there is an electron correction for each eta ring, and the MIP location is determined for all towers.
Thus, to have ideal gains, we want the following relation to hold
(4)
To make this relation true, we need to adjust the high voltage for each tower according to the following relation:
(5)
We can check the changes using slopes.
Conclusion:
We will NOT change average gain of West BTOW for eta bins[1,18]. For all other eta bins we will aim at the average West Btow marked as red dashed line.
Full presentation is in attachment 1.
Detailed E/P spectra for 40 eta bins are in attachment 2 & 3.
The 2008 Calibraton has been uploaded into the database. I was able to find calibration coefficients for 4420 towers. Of the remaining towers, 353 were MIPless and 27 had spectrums that I could not recover by hand.
This year, differently from previous years, known sources of bias are removed. If an event had a nonHT trigger, the tracks from that event were used for the calibration (even if it had an HT trigger). Most of the triggers were fms slow triggered events. Each eta ring was calibrated separately, and then a correction for each crate was applied. After these corrections, I once again made the cuts on the electrons more stringent. No deviation from E/p =1 was found. With the biases eliminated, we now quote a systematic variance instead of a systematic bias as the uncertainty on the calibration.
The source of this uncertainty are the uncertainties on various fits used for each calibration, namely the MIP peak for each tower, the absolute calibration for each eta ring, and the correction for each crate. These uncertainties are highly correlated. I have completed this calibration by recalculating the calibration table 3,000 times varying the MIP peaks, the eta ring corrrections and the crate corrections each time. Using this method, I was able to determine the correlated uncertainty for each calibrated tower. This uncertainty is, on average, 5%.
This uncertainty is different than the systematic bias quoted for 2005 and 2006. It is a true variance on the calibration. To use this uncertainty, analyzers should recalculated their analysis using test tables generated for this purpose. The variance in the results of these multiple analyses will give a direct measure of the uncertainty due to the calibration scale uncertainty. These tables will be uploaded to the database with the names "sysNN". They should be used before clustering, jet finding, etc.
Parent page for BTOW 2009 Calibrations
We started at the beginning of the run to verify the mapping between the HV cell Id and the softId it corresponds to. To begin, Stephen took 7 runs with all towers at 300V below nominal voltage except for softId % 7 == i, where i was different for each run. Here are the runs that were used:
softId%7 | Run Number | Events |
1 | 10062047 | 31k |
2 | 10062048 | 50k |
3 | 10062049 | 50k |
4 | 10062050 | 50k |
5 | 10062051 | 50k |
6 | 10062060 | 100k |
0 | 10062061 | 100k |
We used the attached file 2009_i0.txt (converted to csv) as the HV file. This file uses the voltages from 2008 and has swaps from 2007 applied. Swaps indentified were not applied and will be used to verify the map check.
File 2009_i0c.txt contains some swaps identified by the analysis of these runs.
File 2009_i1c.txt contains adjusted HV settings based on the electron/mip analysis with same mapping as 2009_i0c.txt.
Final 2009 BTOW HV set on March 14=day=73, Run 10073039 , HV file: 2009_i2d.csv
_________________________________________________________________
Here is my measurement of 'kappa' from 2007 data. I get from 7-8, depending on how stringent the cuts are. I think this method of determining kappa is dependent on the ADC fitting range. In theory, we should approach kappa~10.6 as we converge to smaller voltage shifts.
So which ones should we adjust? Here is a fit of the slope distribution to a gaussian.
As we can see, the distribution has an excess of towers with slopes >+/-20% from the average. I checked that these problem towers are not overwhelmingly swapped towers (15/114 outliers are swapped towers; 191/4712 are swapped towers). Here is an eta:phi distribution (phi is SoftId/20%120, NOT angle!). The graph on the left gives ALL outliers, the graph on the right gives outliers with high slopes only (low voltage). There are slightly more than expected in the eta~1 ring, indicating that the voltages for this ring are set to accept few particles than the center of the barrel.
______________________________________________________________________
So Oleg Tsai and I propose to change only those outliers which satisfy the criteria:
|slope/ave_slope - 1|>0.2 && |eta|<0.8. (Total of 84 tubes)
We then looked one-by-one thru the spectra for all these tubes (Run 10066010) and found 12 tubes (not 13 as I stated in my email) with strange spectra:
Bad ADC Channels: Mask HV to Zero
We then calculated the proposed changes to the 2009_i1c.csv HV using the exponent kappa=5. Direct inspection of the spectra made us feel as though the predicted voltage changes were too large, so we recomputed them using kappa=10.48. We give a file containing a summary of these changes:
Proposed HV Changes (SoftId SwappedID Slope(i1c) Ave Slope Voltage(i1c) New Voltage
(We have identified 3 extra tubes with |eta|>0.8 which were masked out of the HT trigger to make it cleaner....we propose to add them to list to make a total of 87-7 = 80 HV changes.)
PS. We would also like to add SoftId-3017 HV800 -> 650. This make 81 HV changes.
_____________________________________________________________________
A word about stability of the PMT High Voltage and these measurements. I compared several pairs of measurements in 2007 taken days apart. Here is an intercomparison of 3 measurements (4,5 and 7) taken in 2007. The slopes have a statistical accuracy of 1.4%, so the distribution of the ratio of the two measurements should have a width of sqrt(2)*1.4 = 2% The comparison of the two measurements is just what we expect from the statistical accuracy of the slope measurements.
Comparing the two recent measurements in 2009, we have a set of about 600 tubes with a very small voltage change. The slopes were measured with an accuracy of 3.7%, so the width of the slope ratio distribution should be sqrt(2)*3.7% =5.2%. Again, this is exactly what we see. I do not find any evidence that (a large percentage of) the voltages are unstable!
___________________________________________________________________
Short answer: we undershoot by a factor of 2 in HV power- see fig 4 left.
Input runs: 10066160 (new HV) and 10066163 (old HV)
Fig 1. Pedestal distribution and difference of peds between runs - perfect. Peds are stable, we can use the same slope fit range (ped+20,ped+60) blindly for old & new HV.
Fig 2. Chosen HV change and resulting ratio of slopes - we got the sign of HV change correctly!
Fig 3. Stability test. Plots as in fig 2, but for a subset of towers we change HV almost nothing (below 2V) but yield was large. One would hope slope stay put. They don't. This means either slopes are not as reliable as we think or HV is not as stable as we think.
Fig 4. Computed 'kappa' : sl2/sl1=g1/g2=V1/V2^kappa for towers with good stats and HV change of at least 10 Volts, i.e. the relative HV change is more than 1%. Right plot shows kappa as function of eta - no trend but the distribution is getting wider - no clue why?
Fig 5. Computed 'kappa' as on fig 4. Now negative, none physical values of kappa are allowed.
We set the HV = 800 Volts for all channels which have been masked out, repaired, or otherwise had problems in 2008. I have examined the spectra for these channels and give pdfs with each of these spectra:
drupal.star.bnl.gov/STAR/system/files/2009_800_1_12.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_13_24.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_25_36.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_37_48.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_49_60.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_61_72.pdf
drupal.star.bnl.gov/STAR/system/files/2009_800_72_78.pdf
I identify 37 tubes which are dead, 39 tubes which can be adjusted, and 1 with a bit problem. We should pay careful attention to these tubes in the next iteration.
Summary of process used to change the HV for 2009 in BTOW:HV Files: Version indicates interation/mapping (numeral/letter)
1) 2009_i0.csv HV/Mapping as set in 2008. Calibration determined from 2008 data electrons/MIPS.
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/run-8-btow-calibration-2008/05-absolute-calibration-electrons
2) 2009_i0d.csv Map of SoftId/CellId determined by taking 6 data sets with all voltages set to 300 V, except for SoftId%6=0,1,2,3,4,5,6, successively. (link to Joe's pages)
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/run-8-btow-calibration-2008/08-btow-hv-mapping
drupal.star.bnl.gov/STAR/blog-entry/seelej/2009/mar/10/run9-btow-hv-mapping-analysis-summary
drupal.star.bnl.gov/STAR/blog-entry/seelej/2009/mar/05/run9-btow-hv-mapping-analysis
drupal.star.bnl.gov/STAR/blog-entry/seelej/2009/mar/08/run9-btow-hv-mapping-analysis-part-2
3) 2009_i1d.csv HV change determined from 2008 data electrons/MIPS (g1/g2)=(V2/V1)**k, with k=10.6 (determined from LED data).
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/run-8-btow-calibration-2008/06-calculating-2009-hv-electron-calibrations
4) 2009_i2d.csv Slopes measured for all channels. Outliers defined as |slope/<slope> -1|>0.2 (deviation of channel slope from average slope over barrel >20%:Approx 114 channels. Outliers corrected according to (s1/s2)=(V1/V2)**k as above. Hot towers HV reduced by hand. (Approx 10 towers)
http://drupal.star.bnl.gov/STAR/subsys/bemc/calibrations/run-9-btow-calibration-page/02-comparing-2007-2008-and-2009-btow-slopes
Comparison of BTOW status tables generated based on minB spectra collected by L2ped ( conventional method) vs. analysis of BHT3 triggered , inclusive spectra.
Fig 1. Fill F10343 thres=1.0 (red line)
There are 108 towers below the red line, tagged as bad. Comparison to minB-based tower QA which tagged 100 towers. There are 4 combinations for tagging bad towers with 2 different algos. Table 1 shows break down, checking every tower. Attachments a, b show bad & good spectra.
|
|
Conclusion 1: some the additional 8 towers tagged as bad based on BHT3 spectra are either very low HV towers, or optical fiber is partially broken. If those towers are kept for W analysis any ADC recorded by them would yield huge energy. I'd like to exclude them from W analysis anyhow.
To preserve similarity to minB-based BTOW status code Matt agreed we tag as bad-for-everybody all towers rejected by BHT3 status code using lower threshold of 0.2. Towers between BHT3 QA-thresholds [0.2,1.0] will be tagged with new bit in the offline DB and I'll reject them from W-analysis if looking for W-signal but not necessary if calculating the away side ET for vetoing of away side jet.
|
|
Spectra are in attachment c). Majority of towers for which this 2 methods do not agree have softID ~500 - where this 2 holes reside (see 3rd page in PDF)
Tower 220 has stuck lower bits, needs special treatment - I'll add detection (and Rebin()) for such cases.
Automated generation of BTOW status tables for fills listed in Table 3 has been done, attachment d) shows summary of all towers and examples of bad towers for all those fills.
Table 3 1 # F10398w nBadTw=112 totEve=12194 2 # F10399w nBadTw=111 totEve=22226 3 # F10403w nBadTw=136 totEve=3380 4 # F10404w nBadTw=115 totEve=9762 5 # F10407w nBadTw=116 totEve=7353 6 # F10412w nBadTw=112 totEve=27518 7 # F10415w nBadTw=185 totEve=19581 8 # F10434w nBadTw=108 totEve=15854 9 # F10439w nBadTw=188 totEve=21358 10 # F10448w nBadTw=190 totEve=18809 11 # F10449w nBadTw=192 totEve=18048 12 # F10450w nBadTw=115 totEve=14129 13 # F10454w nBadTw=121 totEve=6804 14 # F10455w nBadTw=113 totEve=16971 15 # F10463w nBadTw=114 totEve=12214 16 # F10465w nBadTw=112 totEve=8825 17 # F10471w nBadTw=193 totEve=21003 18 # F10476w nBadTw=194 totEve=9067 19 # F10482w nBadTw=114 totEve=39315 20 # F10486w nBadTw=191 totEve=37155 21 # F10490w nBadTw=154 totEve=31083 22 # F10494w nBadTw=149 totEve=40130 23 # F10505w nBadTw=146 totEve=37358 24 # F10507w nBadTw=147 totEve=15814 25 # F10508w nBadTw=150 totEve=16049 26 # F10525w nBadTw=147 totEve=50666 27 # F10526w nBadTw=147 totEve=32340 28 # F10527w nBadTw=149 totEve=27351 29 # F10528w nBadTw=147 totEve=22466 30 # F10531w nBadTw=145 totEve=9210 31 # F10532w nBadTw=150 totEve=11961 32 # F10535w nBadTw=176 totEve=8605 33 # F10536w nBadTw=177 totEve=10434
BTOW status tables for 39 RHIC fills have been determined (see previous entry) and uploaded to DB.
To verify mayor features are masked I process first 5K and last 5K events for every fill , now all is correct. # plots below show example of pedestal residua for not masked BTOW towers, 5K L2W events from the end of the fill. Attachment a) contains 39 such plots (it is large and may crash your machine).
Fig 1, Fill 10398, the first on, most of tower were working
Fig 2, Fill 10478, in the middle, the worst one
Fig 3, Fill 10536, the last one, typical for last ~4 days, ~1/3 of acquired LT
Attached are slopes plotted for run 10171078 which was towards the end of Run 9.
The MIP peaks plotted in the attachment come from the L2W data. 4564 towers had a good MIP peak, 157 towers did not have enough counts in the spectra to fit, and 79 towers had fitting failures. 52 were recovered by hand for inclusion into calibration.
Also attached is a list of the 236 towers with bad or missing peaks.
I compared the 157 empty spectra with towers that did not have good slopes for relative gains calculated by Joe. Of the 157 towers, 52 had good slopes from his calculation. Those are in an attached list.
Fig 1 MIP peak position:
I ran the usual calibration code over the L2W data produced for the W measurement.
To find an enriched electron sample, I applied the following cuts to the tracks, the tower that the track projects to, the 3x3 tower cluster, and the 11 BSMD strips in both planes under the track:
central tower adc - pedestal > 2.5*rms
enter tower = exit tower
track p < 6 and track p > 1.5
dR between track and center of tower < 0.025
track dEdx > 3.4 keV/cm
bsmde or bsmdp adc total > 50 ADC
no other tracks in the 3x3 cluster
highest energy in 3x3 is the central tower
The energies were calculated using ideal gains and relative gains calculated by Joe Seele from tower slopes.
The corrections were calculated for every 2 eta rings and each crate. The corrections for each 2 rings were calculated first and then applied. The analysis was rerun, then the E/p was calculated for each crate.
The calibration constants will be uploaded to a different flavor to be used with the preliminary W analysis.
Fig. 1 E/p spectrum for all electrons
Fig. 2 p vs E/p spectrum for all electrons
Fig. 3 BSMDP vs BSMDE for all electrons
Fig. 4 corrections by eta ring
Fig. 5 Crate corrections
Fig. 6 difference between positrons (blue) and electrons (red):
Update: I reran the code but allowed the width of the gaussian to only be in the range 0.17 - 0.175. This region agrees with almost all of the previously found widths within the uncertainties. The goal was to fix a couple fits that misbehaved. The updated corrections as a function of eta are shown below.
Fig. U1
Update 09/30/2009: Added 2 more plots.
Fig. V1 East vs. West (no difference observed)
Fig. V2 slices in momentum (not much difference)
Attached are the histograms for each ring and crate.
After examining the Z invariant mass peak calculated using the L2W data stream with the offline calibration applied, it seemed like there was a problem. The simplest explanation was that the relative gains were reversed, so that hypothesis was tested by examining the Z peak with the data reversed.
The slopes were also recalculated comparing the original histogram to histograms corrected with the relative gains and the inverse of the relative gains.
In the following two figures, black is the original value of the slopes, red has the relative gain applied, and blue has the inverse of the relative gain applied.
Fig 1 Means of slope by eta ring with RMS
Fig 2 RMS of slope by eta ring
The E/p calculation improves after making the change to the inverse of the relative slopes because the effect of outliers is reduced instead of amplified.
Fig 3 E/p by eta ring with corrected relative gains
Update:
After last week's discussion at the EMC meeting, I recalculated all of the slopes and relative gains.
Fig 4 Update Slope RMS calculation
I then used these relative gains to recalculate the absolute calibration. Jan used the calibration to rerun the Z analysis.
Fig 5 Updated Z analysis
The updated calibration constants will now supercede the current calibration constatns.
I recalculated the Barrel calibration using the latest L2W production, which relies on the latest TPC calibration. It is suggested that this calibration be used to update the current calibration.
Fit Details:
Negative Peak location: 0.941
Negative Sigma: 0.14
Positive Peak location: 0.933
Positive Sigma: 0.17
<p> = 3.24 GeV
Fig 1. E/p for all electron (black), positive charged (blue), negative charged (red)
I selected 634 runs for calibration from the Run 9 production, processing over 300M events. The runs are listed in this list, with their field designation.
The MIP peak for each tower was calculated. 4663 towers had MIP peaks found. 38 were marked as bad. 99 were marked as MIPless. The MIP peak fits are here.
The electrons were selected using the following cuts:
Fig. 1: Here is a comparison of all electrons from RFF (blue) and FF (red):
The RFF fit mean comes to 0.965 +/- 0.001. The FF fit mean comes to 0.957 +/- 0.001. The total fit is 0.957 +/- 0.0004.
Fig. 2 Comparison of electron (red) positron (blue):
Positron fit results: 0.951 +/- 0.001. Electron fit results: 0.971 +/- 0.001
Calibration was calculated using MIPs for relative calibration and absolute calibration done for eta slices by crate (30 crates, 20 eta slices per crate).
The outer ring on each side was calibrated using the entire ring.
2 towers were marked bad: 2439 2459 due to a peculiar E/p compared to the other in their crate slice. It is suggested this is due to bad bases.
Fig 3 Crate Slice E/p correction to MIPs (eta on x axis, phi on y axis):
New GEANT correction
A new geant correction was calculated using new simulation studies done by Mike Betancourt. The energy and pseudorapidity dependence of the correction was studied, and the energy dependence is small over the range of the calibration electron energies.
A PDF of the new corrections are here.
Is it statistical?
From this plot, it can be seen that most of the rings have a nonstatistical distribution of E/p values in the slices. The actual E/p values for each ring (for arbitrary slice value) can be seen here.
Comparison to previous years
Fig 4 Eta/phi of (data calibration)/(ideal calibration)
Fig 5 Eta ring average of (data calibration)/(ideal calibration)
Issues: