chini13
Hi Chini,
Although the python-based U-Pb example is significantly simplified from the built-in U-Pb DRS, the fundamentals are largely the same. So, let me point out a few parts of that code that I think will help to answer your questions. You can find the python example here.
The first part you should pay attention to is how the 'DC' ratio is calculated from the raw ratio, ~ line 140:
dc = rawRatio/(1 + (params[1]/params[0])*beamSeconds + (params[2]/params[0])*np.exp(-params[3]*beamSeconds))
where the params
come from the fit. This just flattens out the raw ratio, but the value may be way off.
Next around line ~ 160:
rm = data.referenceMaterialData(settings["ReferenceMaterial"])
rmValue = rm[ratio['rmName']].value()
rmSpline = data.spline(settings['ReferenceMaterial'], ratioToCalibrateName).data()
finalRatio = (rmValue/rmSpline)*ratioToCalibrate
Here ratio['rmName']
would be something like 'Pb206/U238', settings['ReferenceMaterial']
would be something like 'Z_91500' and ratioToCalibrateName
would be something like 'DC Pb206/U238'. Making those substitutions helps to see what is happening:
rm = data.referenceMaterialData('Z_91500')
rmValue = rm['Pb206/U238'].value()
rmSpline = data.spline('Z_91500', 'DC Pb206/U238').data()
finalRatio = (rmValue/rmSpline)*ratioToCalibrate
Here, ratioToCalibrate
is the actual array of data for the 'DC Pb206/U238' channel. So, the final ratio is simply the RM value divided by the RM spline (an array of data that models how the RM DC 206/U238 data is changing throughout the session) multiplied by the entire array of DC Pb206/U238.
So, to answer your question: yes, it does just figure out the (time resolved) factor to multiply by to get the specified value for your reference material. And to answer your second question, no, the age is not used for the calibration, just the ratios.
All the best,