Make tuples using the instructions here. You can stop after you create the tuple directly from the text file, cuts will be applied in the analysis code below.

In order to analyze, you need to clone the HPS-CODE repository.

git clone https://github.com/JeffersonLab/HPS-CODE

Run the following command on the tuple file.

python HPS-CODE/ANALYSIS/SVT/MakeVertexResPlots.py -c <output file base name> <input tuple file>

Options are as follows

    -t: tuple name (default "ntuple")

    -m: number of mass bins (default 10)

    -e: beam energy (default 1.056 GeV)

    -z: position of target in z (default 0.5 mm)

    -w: width of mass bins (default 0.005 GeV)

    -c: apply cuts (default false)

Cuts can manually be changed by editing the "cuts" variable directly in the script

Output:

<output file base name>.pdf - vertex resolution as a function of mass as well as the individual fits
<output file base name>.root - same as PDF but with root histograms and graphs

The fit function for each slice is

where b is the point where the fit transitions from Gaussian core to exponential tail and l is the length of the exponential tail.

 

For SVT NIM Paper

File: Run 5772

Notes: Fits done in bin widths of 5 MeV

Cuts:

isPair1

eleClY*posClY<0

uncP>0.8*ebeam

max(eleTrkChisq,posTrkChisq)<60

eleP<0.75*ebeam

bscChisq<10

bscChisq-uncChisq<5

uncP<1.15*ebeam

max(eleMatchChisq,posMatchChisq)<10

abs(eleClT-eleTrkT-43)<4

abs(posClT-posTrkT-43)<4

abs(eleClT-posClT)<2

eleHasL2

posHasL2

eleHasL1

posHasL1

min(eleMinPositiveIso+0.5*(eleTrkZ0+{1}*elePY/eleP)*sign(elePY),posMinPositiveIso+0.5*(posTrkZ0+{1}*posPY/posP)*sign(posPY))>0

abs(eleP-posP)/(eleP+posP)<0.4

posTrkD0+ztarg*posPX/posP<1.5

Vertex Plots

Root File

  • No labels

2 Comments

  1. Hey Matt...I know I can look this up, but can you add here the functional form used for the fits?

     

     

    1. Yes, there are definitely multiple places to look this up, but I included it anyway.