-
Notifications
You must be signed in to change notification settings - Fork 32
CRDC Mask Calibration
A pdf of the drawing of the crdc masks can be viewed here
NOTE-> The GValue "names" that we are using (currently) for mask calibrations are called
- CRDC1_Y_SLOPE
- CRDC1_Y_OFFSET
The slope and offset the CRDC_X values are always the same:
- CRDC#_X_SLOPE = 2.54
- CRDC#_X_OFFSET = -281.94
To get the initial slope Y values you must use the known values from the map pdf above and correlate them to the values you see in your map run file.
Notable points on the map pdf:
Hole Number | Local Position [inches] | Centered Position [inches] | Centered Position [mm] |
---|---|---|---|
29 | (12.3015,8.886) | (0,1.9685) | (0,50) |
61 | (12.3015,7.9018) | (0,0.9843) | (0,25) |
36 | (12.3015,6.9175) | (0,0) | a |
62 | (12.3015,5.9332) | (0,-0.9843) | (0,-25) |
46 | (12.3015,4.9490) | (0,-1.9685) | (0,-50) |
58 | (14.0742,8.0986) | (1.7727,1.1811) | (45,30) |
59 | (14.0742,7.7049) | (1.7727,0.7874) | (45,20) |
60 | (14.0742,7.3112) | (1.7727,0.3937) | (45,10) |
37 | (14.0742,6.9175) | (1.7727,0) | (45,0) |
55 | (9.3477,8.0986) | (-4.7265,1.1811) | (-120,30) |
56 | (9.3477,7.7049) | (-4.7265,0.7874) | (-120,20) |
57 | (9.3477,7.3112) | (-4.7265,0.3937) | (-120,10) |
35 | (9.3477,6.9175) | (-4.7265,0) | (-120,0) |
28 | (6.3960,8.8860) | (-7.6782,1.9685) | (-195,50) |
34 | (6.3960,6.9175) | (-7.6782,0) | (-195,0) |
45 | (6.3960,4.9490) | (-7.6782,-1.9685) | (-195,-50) |
30 | (18.2070,8.8860) | (4.1328,1.9685) | (150,50) |
41 | (18.2070,6.9175) | (4.1328,0) | (150,0) |
47 | (18.2070,4.9490) | (4.1328,-1.9685) | (150,-50) |
If you need more points for your fit you can determine the conversion between coordinate systems given the above table and us the map pdf to get the relevant values.
To obtain your slope and offset values simply get the raw values of all of the points you see from your mask calibration runs and compare them to the values in mm listed above (or obtained from the map pdf). Next perform a linear fit and take the slope of your linear fit and use if for your CRDC1_Y_SLOPE value in your .val file.
NOTE The CRDC1_Y_OFFSET is NOT!! taken from the linear fit described above. To get this value sort the run immediately after the mask run and look at the CRDCY value (through CRDC(0/1)->GetNonDispersiveY() in GRUTinizer) and take the negative of this value to be the offset from zero.
There are some marcro files available in the util directory that will make this more convenient if you wish. In the macro "CheckUnCalCRDCY.C" there are # functions. NOTE For the functions in this macro to be useful you must have a histogram file with the correct histogram names. Currently, these histogram files with good names are created from "MakeHistos_e15040_Mask.cxx". The relevant functions are listed below, with a brief outline of how to use them and what they can do to make your life easier.
- CheckUnShiftedCRDCY(low,high) -> This function does as its name suggests. You feed it the low and high points for the fit in absolute value. It is best used when you have made a histogram file out of the run immediately after your CRDC Mask runs. In this case you have your slope set from your linear fit, and your offset is set to 0 for the Y values. The X values are set. This function will take the 1D projection of histograms that are titled "CRDC#_Y_vs_S800Timestamp". It will then fit these 1D projections, and get the centroid of the fit. All of the relevant histograms are displayed (so you can tell if your fit is good) and if everything is ok you now have the values you need for your CRDCY offsets.
- CheckCalibratedCRDCY(low,high) -> This operates largely in the same way as the function above. The peaks should now be largely centered around zero so you put in one set of low and high, usually centering on zero. You can load multiple histogram files to a grutinizer session and this function will loop over them. It will make the same plots, and from this you will know how your CRDCY values change over time.
- GetNewSlopes(slope1,offset1,slope2,offset2) -> This will help you determine what the new slopes are on a run by run basis. Like the function above, this can and should handle multiple histogram files. You must give it the original slope and offset values as arguments, otherwise it does not work. NOTE You must run CheckCalibratedCRDCY(low,high) and have good fits before running this function, otherwise it will not work.
The final part of this calibration is to determine if the calibration drifts throughout the experiment. If this happens it means that it is something changing with the detector (aka the drift time for the electrons has changed). The way to correct for this is with a SLOPE correction. This needs to be performed on a run by run basis, and the way this is achieved is simply by changing the CRDC#_Y_SLOPE for the run in your .val file.
The result is the final calibration is AWLAYS of the form: m*x+b
where m = CRDC#_Y_SLOPE and b = CRDC#_Y_OFFSET