mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-11 12:27:14 +02:00
manual-main fixed, detaildoc not, but for developers and in next release
This commit is contained in:
@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>In what consists the energy calibration of the detector?</TITLE>
|
||||
<META NAME="description" CONTENT="In what consists the energy calibration of the detector?">
|
||||
<TITLE>How do I chose the comparator threshold?</TITLE>
|
||||
<META NAME="description" CONTENT="How do I chose the comparator threshold?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@ -20,166 +20,292 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node20.html">
|
||||
<LINK REL="previous" HREF="node18.html">
|
||||
<LINK REL="up" HREF="node14.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node20.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html351"
|
||||
<A NAME="tex2html407"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html347"
|
||||
HREF="node14.html">
|
||||
<A NAME="tex2html403"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html341"
|
||||
<A NAME="tex2html397"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html349"
|
||||
<A NAME="tex2html405"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html352"
|
||||
HREF="node20.html">Why should I change</A>
|
||||
<B> Up:</B> <A NAME="tex2html348"
|
||||
HREF="node14.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html342"
|
||||
HREF="node18.html">What happens when I</A>
|
||||
<B> <A NAME="tex2html350"
|
||||
<B> Next:</B> <A NAME="tex2html408"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> Up:</B> <A NAME="tex2html404"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html398"
|
||||
HREF="node18.html">Which detector settings should</A>
|
||||
<B> <A NAME="tex2html406"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html353"
|
||||
HREF="node19.html#SECTION00351000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00350000000000000000"></A><A NAME="sec:encal"></A>
|
||||
<BR>
|
||||
In what consists the energy calibration of the detector?
|
||||
<H1><A NAME="SECTION00420000000000000000">
|
||||
How do I chose the comparator threshold?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
General remarks about DAC to energy conversion
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thrscan"></A><A NAME="1156"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.2:</STRONG>
|
||||
Number of counts as a function of the threshold detected in an ideal case.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img18.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/thr_scan_expl}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00351000000000000000">
|
||||
MYTHEN</A>
|
||||
</H2>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thrscanfluo"></A><A NAME="1163"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.3:</STRONG>
|
||||
Number of counts as a function of the threshold detected in presence of fluorescent radiation</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img19.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/thr_scan_fluo}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
Since the conversion between the threshold DAC units and energy depends on the gain and offset of the channels the energy calibration has to be done for all settings (high gain, standard and fast). For each setting follow this procedure:
|
||||
|
||||
<UL>
|
||||
<LI>Select the setting in the <I>Initialization</I> tab.
|
||||
</LI>
|
||||
<LI>Enter in expert mode by clicking the <I>Advanced</I> radiobutton in the <I>Global settings</I> box in the <I>Initialization</I> tab.
|
||||
</LI>
|
||||
<LI>If the trimfiles are in the correct location and with the correct name, they should be loaded by default every time you select the corresponding settings in the <I>global settings</I> box in the <I>initialization</I> tab <A NAME="tex2html17"
|
||||
HREF="footnode.html#foot1241"><SUP>2.1</SUP></A>.
|
||||
If the trim files do not yet exist generate them as explained in section <A HREF="node18.html#sec:noisetrim">2.4.1</A>.
|
||||
</LI>
|
||||
<LI>Execute a threshold scan of the detector with at least three different energies. The more monochromatic are the X-rays, the better the calibration will be (i.e. scattered X-rays are better than the fluorescent emission).
|
||||
Once selected the settings, the threshold should be selected.
|
||||
Figure <A HREF="#fig:thrscan">3.2</A> shows the number of counts as a function of the threshold value in the ideal case of monoenergetix X-rays of energy <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
=10 keV.
|
||||
For thresholds larger than the X-ray energy the detector should always count 0 and for lower thresholds it should always count all the photons. However the curve is smoothed around <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
because of the electronic noise (ENC) and is not perfectly flat for lower energies because the photons absorbed in the region between two strips distribute their energy between them and it is not flully collected by a single channel (charge sharing).
|
||||
<BR>
|
||||
The scan should range from where all modules count 0 (estimate 850-20<IMG
|
||||
WIDTH="9" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img36.png"
|
||||
ALT="$ \cdot$">
|
||||
energy(keV) DAcu) and where all modules start having a lot of noise (usually 800 DACu) with a step of 1 or 2 DACu. The acquisition time should be chosen so that there are at least 1000 counts per strip on the plateau.
|
||||
</LI>
|
||||
<LI>Open the file <I>root/CalAllModules.C</I> for editing. Change the value of the following global variables according to your needs:
|
||||
In order to count once al X-rays the threshold should be set at half of the X-ray energy <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
: if the threshold would be higher some photons would not be counted, leading to a loss of efficiency, while if it would be lower some photons would be counted twice leading to a loss of spatial resolution.
|
||||
|
||||
<UL>
|
||||
<LI><I>nmod</I> is the number of modules of your system.
|
||||
<P>
|
||||
Since the detector threshold can't be precisely set at the same value for all channels but there will always be some spread of the order of 200 eV (threshold dispersion) there will always be some fluctuations on the number of counts between channels, which however should be corrected by the flat field correction.
|
||||
|
||||
<P>
|
||||
The choice of the threshold should also depend from considerations regarding the emission of fluorescent radiation from the sample.
|
||||
<BR>
|
||||
Figure <A HREF="#fig:thrscanfluo">3.3</A> shows how the curve of the counts would look like for monochromatic X-rays of energy <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
in presence of radiation of energy <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
emitted by the sample. The curve would show a second step at <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
.
|
||||
|
||||
<P>
|
||||
Since the fluorecence emission is not present in the flat field data, the difference of counts between the channels due to the fluorescent radiation cannot be corrected and the threshold <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
should be set at an energy larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
. This also helps to cut down the background.
|
||||
<BR>
|
||||
The difference of counts between the channels will be particularly large if the threshold is set in some ``steep'' part of the curve i.e. close to <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
or to <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
(but in this case it would be corrected by the flat field, at cost of loss of efficiency).
|
||||
Because of the presence of the electronic noise, <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
should be at least 3 keV larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
.
|
||||
|
||||
<P>
|
||||
Here is a short list of rules to select the appropriate working threshold in order of importance (and eventually modify the X-ray energy):
|
||||
|
||||
<OL>
|
||||
<LI>List the fluorescent emission lines <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
that you expect from your sample.
|
||||
</LI>
|
||||
<LI><I>nscan</I> is the number of different threshold scans you acquired.
|
||||
<LI>If there is no fluorescent emission (<IMG
|
||||
WIDTH="65" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img24.png"
|
||||
ALT="$ E_f<E_0$">
|
||||
) <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
|
||||
</LI>
|
||||
<LI><I>en</I> is the array with the energies at which you acquired the scans, in keV.
|
||||
<LI>If there is fluorescent emission
|
||||
|
||||
<OL>
|
||||
<LI><IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="$ E_t>E_f+3$">
|
||||
keV
|
||||
</LI>
|
||||
<LI><I>een</I> is the array with the errors on the energies at which you acquired the scans, in keV. It is usually small, but can be some hundreds eV in case of dirty fluorescent samples.
|
||||
<LI><IMG
|
||||
WIDTH="89" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$ E_t<E_0-3$">
|
||||
keV
|
||||
</LI>
|
||||
<LI><I>fn</I> is the array containing the location and root file name of your data.
|
||||
</OL>
|
||||
If the range where both requirements are satisfied is large, try to increase the distance of <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
from <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
up to 5 keV and then set <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
as close as possible to the ideal value <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
|
||||
</LI>
|
||||
<LI><I>run</I> is the array containing the run index of your data.
|
||||
<LI>If it is not possible to satisfy the previous minimal requirements:
|
||||
|
||||
<OL>
|
||||
<LI>If you need high quality data and you can sacrifice detector efficiency (a lot!) <IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="$ E_t>E_f+3$">
|
||||
keV
|
||||
</LI>
|
||||
<LI><I>startscan</I> is the array containing the threshold value at which you started the scans.
|
||||
<LI>If you need fast measurments and you can sacrifice detector uniformity (difficult to say how much) and increase the background <IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img27.png"
|
||||
ALT="$ E_t<E_f-3$">
|
||||
keV. Remember that <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
is klimited by the electronic noise <IMG
|
||||
WIDTH="51" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$ E_t>4$">
|
||||
keV (3 keV for <I>High gain</I> settings).
|
||||
</LI>
|
||||
<LI><I>stopscan</I> is the array containing the threshold value at which you finished the scans.
|
||||
<LI>Consider to change <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
to values lower than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
or at least 6-8 keV larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
|
||||
</LI>
|
||||
<LI><I>stepscan</I> is the array containing the threshold step of the scans.
|
||||
</OL>
|
||||
</LI>
|
||||
<LI><I>ave</I> is the array containing the average number of counts per strip on the plateau (it must not be too precise).
|
||||
</LI>
|
||||
<LI><I>sn</I> is the array containing the list of the serial number of the modules to be calibrated. It is important that the list is in the right order, so that the optput calibration files have the extension .snxxx corresponding to the right module.
|
||||
</LI>
|
||||
<LI><I>of</I> is the location and root file name of the calibration file. The directory should already exist and the extension .snxxx will be attached to the output file.
|
||||
</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Launch <I>root</I>, which you should have already installed on your linux PC
|
||||
</LI>
|
||||
<LI>Execute the following commands in order to load the macros needed for the calibration:
|
||||
<PRE>
|
||||
root$ .L root/NewMythenMacros.C++
|
||||
root$ .L root/CalAllModules.C++
|
||||
</PRE>
|
||||
You should get a lot of warnings, but no errors.
|
||||
</LI>
|
||||
<LI>Execute the following command in order to run the calibration:
|
||||
<PRE>
|
||||
root$ EnCalModules()
|
||||
root$
|
||||
</PRE>
|
||||
Reading and analyzing the data takes some time, but, after a while, a canvas should open where the plots of the median of the counts of every module as a function of the threshold should be shown for each energy, fitted with a modified <I>erf</I> function in order to find the inflextion point. The last plot of the canvas should represent the inflexion points as a function of the energies, and by fitting it with a straight line it is possible to calculate the offset and gain for each module i.e. calibrate it as a function of the energy. Please check that this automated fitting procedure succeeds. In case you see many fitting errors you should try to check wether the variable you edited in <I>root/CalAllModules.C</I> are all correct or try to edit the fitting procedures in the two root macro files (sorry!).
|
||||
</LI>
|
||||
<LI>Copy the calibration file you obtained to <I>calibration</I>/<I>settings</I><I>.snxxx</I> <A NAME="tex2html18"
|
||||
HREF="footnode.html#foot1242"><SUP>2.2</SUP></A> By doing this the correct threshold for each module will be calculated every time you change the <I>threhsold energy</I> in the <I>global settings</I> box in the <I>initialization</I> tab, you have loaded some default settings and you are not in expert mode.
|
||||
</LI>
|
||||
</UL>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:samplefluo"></A><A NAME="1179"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.4:</STRONG>
|
||||
Example of data from a sample emitting fluorescent light and detector threshold set at a value close to the emission line. The background data cannot be properly flat field corrected.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img29.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/sample_with_fluorescence}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html351"
|
||||
<A NAME="tex2html407"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html347"
|
||||
HREF="node14.html">
|
||||
<A NAME="tex2html403"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html341"
|
||||
<A NAME="tex2html397"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html349"
|
||||
<A NAME="tex2html405"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html352"
|
||||
HREF="node20.html">Why should I change</A>
|
||||
<B> Up:</B> <A NAME="tex2html348"
|
||||
HREF="node14.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html342"
|
||||
HREF="node18.html">What happens when I</A>
|
||||
<B> <A NAME="tex2html350"
|
||||
<B> Next:</B> <A NAME="tex2html408"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> Up:</B> <A NAME="tex2html404"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html398"
|
||||
HREF="node18.html">Which detector settings should</A>
|
||||
<B> <A NAME="tex2html406"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-08-22
|
||||
2017-08-23
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
Reference in New Issue
Block a user