Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:11:18

0001 #! /usr/bin/env python 
0002 from optparse import OptionParser
0003 import sys
0004 import os
0005 import datetime
0006 from array import *
0007 from ROOT import *
0008 import numpy
0009 import math
0010 import glob
0011 
0012 gROOT.SetBatch(True)
0013 
0014 if __name__ == '__main__':
0015     hM_dR = TH1F('hM_dR', 'hM_dR', 60, 0, 3);
0016 
0017     zpos = [-22.57245, -20.57245, -18.57245, -16.57245, -14.57245, -12.57245, -10.97245, -9.372450, -7.772450, -6.172450, -4.572450, -2.972450, -1.372450, 0.4275496, 2.0275495, 3.6275494, 5.2275495, 6.8275494, 8.4275493, 10.027549, 11.627549, 13.627549, 15.627549, 17.627550, 19.627550, 21.627550];
0018 
0019     # Very fine binning for ladder overlap study
0020     # INTT pitch size in phi = 78 um (Reference: https://indico.bnl.gov/event/15547/contributions/62868/attachments/41171/68968/2022_sPHENIX_School_RN.pdf)
0021     # INTT outer radius 102.62 mm
0022     # Azimuthal angle per pitch = (78*1E-6) / (102.62*1E-3) ~= 7.601E-4 rad ~= 0.0435 degree
0023     dPhi_pitch = 7.601E-4
0024 
0025     # average vertex position
0026     vx = 0.1 * ((-0.2367 + (-0.2665)) / 2.)
0027     vy = 0.1 * ((2.6001 + 2.5812) / 2.)
0028     vz = -20.0
0029 
0030     layer_radius = [7.453, 8.046, 9.934, 10.569]
0031 
0032     for idphi in range(128):
0033         for layer in range(4):
0034             for i in range(26):
0035                 for j in range(26):
0036                     rz1 = zpos[i] - vz
0037                     rz2 = zpos[j] - vz
0038                     rsq1 = layer_radius[layer]**2 + rz1**2
0039                     rsq2 = layer_radius[layer]**2 + rz2**2
0040                     costheta1 = rz1 / sqrt(rsq1)
0041                     costheta2 = rz2 / sqrt(rsq2)
0042                     eta1 = -0.5 * log((1.0 - costheta1) / (1.0 + costheta1))
0043                     eta2 = -0.5 * log((1.0 - costheta2) / (1.0 + costheta2))
0044                     deta = eta1 - eta2
0045                     dphi = idphi * dPhi_pitch
0046                     dR = sqrt(deta**2 + dphi**2)
0047                     hM_dR.Fill(dR)
0048     
0049     # Draw the histogram
0050     c = TCanvas('c', 'c', 800, 700)
0051     gPad.SetLeftMargin(0.18)
0052     c.cd()
0053     hM_dR.GetXaxis().SetTitle('#DeltaR')
0054     hM_dR.GetYaxis().SetTitle('Entries')
0055     hM_dR.GetYaxis().SetTitleOffset(1.7)
0056     hM_dR.SetLineColor(kBlack)
0057     hM_dR.SetLineWidth(2)
0058     hM_dR.GetYaxis().SetRangeUser(0, hM_dR.GetMaximum() * 1.2)
0059     hM_dR.Draw('hist')
0060     c.SaveAs('./RecoTracklet/INTTdR.pdf')
0061     c.SaveAs('./RecoTracklet/INTTdR.png')
0062     
0063