UMN CDMS Wiki archive
start › cdms › k100 › run_summary › run_68 › run_68_n125 › bscorr

Baseline Correction

TES gain changes with position in the transition. If the TES is still cooling after a large pulse, the baseline will be elevated and the gain (dP/dI) will be lower than at the quiescent bias point. To observe this effect, we first need a consistent measurement of TES baselines. This should be correlated across all channels, so let's simply use the central channel, PF as the baseline sentinel. Due to occasional SQUID lockpoint changes, the absolute DC level of the channel shifts several times in the different datasets. We thus define a quantity named “PFbsmean” which tracks these changes over time. This quantity was obtained by finding the most frequent value of PFbs in each of the time segments with consistent PFbs values (so it's actually the mode). The definition of this quantity is shown below as are plots of PFbs and for each of the 3 data types.

double bstime_bkg[]={1537.98e6, 1538.56e6, 1539e6}//Start times of the different PFbs periods
double bsmean_bkg[]={2742.5, 2707.5, 2112.5}//mean good baseline positions. 
z_bkg->SetAlias("PFbsmean",Form("(EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e)*%e",bstime_bkg[0],bstime_bkg[1],bsmean_bkg[0],bstime_bkg[1],bstime_bkg[2],bsmean_bkg[1],bstime_bkg[2],bsmean_bkg[2]))
double bstime_Na[]={1537.9e6, 1538.6e6, 1538.77e6}//Start times of the different PFbs periods
double bsmean_Na[]={3337.5, 3477.5, 2882.5}//mean good baseline positions. 
z_Na->SetAlias("PFbsmean",Form("(EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e)*%e",bstime_Na[0],bstime_Na[1],bsmean_Na[0],bstime_Na[1],bstime_Na[2],bsmean_Na[1],bstime_Na[2],bsmean_Na[2]))
double bstime_PuBe[]={1537.66e6, 1537.8e6, 1538.05e6, 1538.17e6, 1538.345e6, 1538.413e6, 1538.52e6}
double bsmean_PuBe[]={3100, 3220, 3260, 3860, 4740, 2700, 3260}
z->SetAlias("PFbsmean",Form("(EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e&&EventTime<%e)*%e + (EventTime>%e)*%e",bstime_PuBe[0],bstime_PuBe[1],bsmean_PuBe[0],bstime_PuBe[1],bstime_PuBe[2],bsmean_PuBe[1],bstime_PuBe[2],bstime_PuBe[3],bsmean_PuBe[2],bstime_PuBe[3],bstime_PuBe[4],bsmean_PuBe[3],bstime_PuBe[4],bstime_PuBe[5],bsmean_PuBe[4],bstime_PuBe[5],bstime_PuBe[6],bsmean_PuBe[5],bstime_PuBe[6],bsmean_PuBe[6]))
Bkg
Na
PuBe

Now, armed with the mean baseline quantity, we can use it to measure baseline deviations against pulse amplitude. This can be seen in the figure below left. The 241Am lines all have decreased signal with higher baseline as expected. The exact shape of this deviation depends on the Ib/Is shape, but appears roughly linear. On the right, a simple linear correction has been made to remove this effect.

 z->SetAlias("PTOFamps_corr","PTOFamps*(1+3e-5*(PFbs-PFbsmean))")
Bkg
Na
PuBe

This demonstrates that there is variation in PT amplitudes correlated with baseline shift, presumably due to reduced dP/dI in the TESs. However, a simple correction can be made across a wide range of baseline values to reduce this effect.