In [3]:
from Kr83m_Basic_v3 import *        # pax minitree class for Kr83m data
from cut_helpers import *        # functions to apply and plot some event selections
from lce_helpers_v2 import *        # functions for binning, building map files, and plotting LCE maps

import numpy as np
import pandas as pd
import glob

import matplotlib
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
matplotlib.rc('font', size=16)

import hax
hax.init(raw_data_access_mode = 'local',
         raw_data_local_path = '/project/lgrandi/xenon1t/raw/',
         main_data_paths='project/lgrandi/xenon1t/processed/pax_v5.5.0/')
#hax.ipython.code_hider()

In [2]:
datasets_kr = ['160808_0547', '160808_0447', '160808_0347', '160808_0046', 
                       '160807_2045', '160807_1945', '160807_1845', '160807_1745',
                       '160807_1645']
# load minitrees
# throws error when building minitrees for many datasets, I built them one by one

data = hax.minitrees.load(datasets_kr, treemakers=Kr83m_Basic_v3)
df_pax = pd.DataFrame(data[data['s10Time']>=0]) # remove NaNs

In [4]:
# Add some colums to dataframes for easy cut comparison
for df in [df_pax]:
    df['s1Dt'] = df['s11Time']-df['s10Time']
    df['s1Gap'] = df['s11LeftEdge']-df['s10RightEdge']
    df['s20Width'] = df['s20RightEdge']-df['s20LeftEdge']
    df['s1sSpan'] = df['s11RightEdge']-df['s10LeftEdge']
    df['s1s2Deficit'] = df['s20Width']-df['s1sSpan']
    df['s1sRatio'] = df['s11Area']/df['s10Area']

In [5]:
# Kr Cuts

cuts = [ ['s1sRatio',0.1,1.0,50,0,1.2,'PE/PE'] , ['s1Dt',500,2000,50,-1000,5000,'ns'] ]

df_pax_cut = apply_cuts(df_pax,cuts)

print(len(df_pax_cut.values),'/',len(data.values),'=',len(df_pax_cut.values)/len(data.values))


161 / 304436 = 0.0005288467855312775

In [6]:
h_rrz_pax = ROOT.TH2D('','',50,0,2500,50,-100,0)

for i in range(len(df_pax_cut.values)):
    rr = df_pax_cut['i0x'].values[i]**2+df_pax_cut['i0y'].values[i]**2
    h_rrz_pax.Fill(rr,df_pax_cut['i0z'].values[i])

In [7]:
c1 = ROOT.TCanvas('','',1600,1600)
ROOT.gStyle.SetOptStat(0)
c1.SetLogz
h_rrz_pax.GetXaxis().SetTitle('r^{2} (cm^{2})')
h_rrz_pax.GetXaxis().CenterTitle()
h_rrz_pax.GetYaxis().SetTitle('z (cm)')
h_rrz_pax.GetYaxis().CenterTitle()
h_rrz_pax.SetTitle('r^{2}\ vs.\ z\  Histogram')
h_rrz_pax.SetMaximum(3e2)
h_rrz_pax.Draw('colz')

c1.Print('./Xe1T_Kr_Figures/f_rrzHists.png')
c1.Clear()

In [18]:
h_s1s_pax = ROOT.TH2D('','',50,0,1200,50,0,200)

for i in range(len(df_pax_cut.values)):
    h_s1s_pax.Fill(df_pax_cut['s10Area'].values[i],df_pax_cut['s11Area'].values[i])

In [21]:
c1 = ROOT.TCanvas('','',1600,1600)
ROOT.gStyle.SetOptStat(0)

h_s1s_pax.GetXaxis().SetTitle('s10Area (PE)')
h_s1s_pax.GetXaxis().CenterTitle()
h_s1s_pax.GetYaxis().SetTitle('s11Area (PE)')
h_s1s_pax.GetYaxis().SetTitleOffset(1.2)
h_s1s_pax.GetYaxis().CenterTitle()
h_s1s_pax.SetTitle('Pax s10Area vs. s11Area Histogram')
h_s1s_pax.Draw('colz')
cut_line1 = ROOT.TLine(0.0,0.0,1200,120)
cut_line1.Draw()

c1.Print('./Xe1T_Kr_Figures/f_s1sHists.png')
c1.Clear()

In [11]:
h_dt_pax = ROOT.TH1D('','',70,400,1100)

for i in range(len(df_pax_cut.values)):
    h_dt_pax.Fill(df_pax_cut['s1Dt'].values[i])

In [12]:
def expDec(x,p):
    f = p[2]+p[0]*np.exp(-np.log(2)*x[0]/p[1])
    return f

In [13]:
fitFun = ROOT.TF1("fitFun",expDec,500,1000,3)
fitFun.SetParameter(0,200000)
fitFun.SetParameter(1,155)
fitFun.SetParameter(2,10)

c1 = ROOT.TCanvas('','',1600,1200)
ROOT.gStyle.SetOptStat(0)

c1.SetLogy()
h_dt_pax.GetXaxis().SetTitle('s11Time - s10Time (ns)')
h_dt_pax.GetXaxis().CenterTitle()
h_dt_pax.SetTitle('s1Dt Histogram')
h_dt_pax.SetMaximum(2e4)
h_dt_pax.Draw()
h_dt_pax.Fit("fitFun","","",500,1000)
fit2 = h_dt_pax.GetFunction("fitFun")
chi22 = fit2.GetChisquare()
ndf2 = fit2.GetNDF()
p12 = fit2.GetParameter(1)
e12 = fit2.GetParError(1)
pt2 = ROOT.TPaveText(.58, .68, .88, .88, 'NDC')
pt2.AddText("t_{1/2}=%1.3f"%p12)
pt2.AddText("#sigma=%1.3f"%e12)
pt2.AddText("#chi^{2}/NDF=%1.3f/%i"%(chi22,ndf2))
pt2.Draw()

c1.Print('./Xe1T_Kr_Figures/f_dtHists.png')
c1.Clear()

In [22]:
plt.rcParams['figure.figsize'] = (12.0, 10.0)  

plt.imshow(mpimg.imread('Xe1T_Kr_Figures/f_rrzHists.png'))
plt.title('Fig 10: $r^2\ vs.\ z$ Histograms')
plt.axis('off')
plt.show()

plt.imshow(mpimg.imread('Xe1T_Kr_Figures/f_s1sHists.png'))
plt.title('Fig 11: $s10Area\ vs.\ s11Area$ Histograms')
plt.axis('off')
plt.show()

plt.imshow(mpimg.imread('Xe1T_Kr_Figures/f_dtHists.png'))
plt.title('Fig 12: $s1Dt$ Histograms')
plt.axis('off')
plt.show()



In [ ]: