6 <input>muon-KLMValidation.root</input>
7 <contact>Martina Laurenza (martina.laurenza@roma3.infn.it)</contact>
8 <description>Creation of EKLM muon validation plots.</description>
13 from ROOT
import TNamed
15 ROOT.gROOT.SetBatch(
True)
16 input_file = ROOT.TFile(
'../muon-KLMValidation.root')
17 tree = input_file.Get(
'tree')
18 output_file = ROOT.TFile(
'EKLMMuon.root',
'recreate')
19 contact =
'Martina Laurenza (martina.laurenza@roma3.infn.it)'
24 h2dtres = ROOT.TH1F(
'muon_h2dtres',
'EKLM muon 2d hits time resolution',
26 h2dtres.SetXTitle(
'ns')
27 h2dtres.SetYTitle(
'Events')
28 tree.Draw(
'EKLMHit2ds.m_Time-EKLMHit2ds.m_MCTime>>muon_h2dtres')
29 functions = h2dtres.GetListOfFunctions()
30 functions.Add(TNamed(
'Description',
'Time resolution'))
31 functions.Add(TNamed(
'Check',
'No bias.'))
32 functions.Add(TNamed(
'Contact', contact))
33 functions.Add(TNamed(
'MetaOptions',
'shifter'))
35 eklm_digits_tres = ROOT.TH1F(
'eklm_digits_tres',
36 'KLMDigits time resolution in EKLM', 250, -25, 25)
37 eklm_digits_tres.SetXTitle(
'ns')
38 eklm_digits_tres.SetYTitle(
'Events')
39 tree.Draw(
'KLMDigits.m_Time-KLMDigits.m_MCTime>>eklm_digits_tres',
40 'KLMDigits.getSubdetector()==2')
41 functions = eklm_digits_tres.GetListOfFunctions()
42 functions.Add(TNamed(
'Description',
'KLMDigits time resolution in EKLM'))
43 functions.Add(TNamed(
'Check',
'.'))
44 functions.Add(TNamed(
'Contact', contact))
45 functions.Add(TNamed(
'MetaOptions',
'shifter'))
47 section = ROOT.TH1F(
'Forward',
'Section for EKLMHit2ds', 2, 0.5, 2.5)
48 section.GetXaxis().SetTitle(
'1=backward 2=forward')
49 section.GetYaxis().SetTitle(
'Events')
50 tree.Draw(
'EKLMHit2ds.getSection()>>Forward',
'')
51 functions = section.GetListOfFunctions()
52 functions.Add(TNamed(
'Description',
'Flag indicating if a muon hit is in backward(1) or forward(2) EKLM'))
53 functions.Add(TNamed(
'Check',
''))
54 functions.Add(TNamed(
'Contact', contact))
55 functions.Add(TNamed(
'MetaOptions',
'shifter'))
57 sector = ROOT.TH1F(
'Sector',
'Sector for EKLMHit2ds', 6, -0.5, 5.5)
58 sector.GetXaxis().SetTitle(
'Sector #')
59 sector.GetYaxis().SetTitle(
'Events')
60 tree.Draw(
'EKLMHit2ds.getSector()>>Sector',
'')
61 functions = sector.GetListOfFunctions()
62 functions.Add(TNamed(
'Description',
'Sector number of muon hit'))
63 functions.Add(TNamed(
'Check',
''))
64 functions.Add(TNamed(
'Contact', contact))
65 functions.Add(TNamed(
'MetaOptions',
'shifter'))
67 layer = ROOT.TH1F(
'Layer',
'Layer for EKLMHit2ds', 16, -0.5, 15.5)
68 layer.GetXaxis().SetTitle(
'Layer #')
69 layer.GetYaxis().SetTitle(
'Events')
70 tree.Draw(
'EKLMHit2ds.getLayer()>>Layer',
'')
71 functions = layer.GetListOfFunctions()
72 functions.Add(TNamed(
'Description',
'Layer number of muon hit'))
73 functions.Add(TNamed(
'Check',
''))
74 functions.Add(TNamed(
'Contact', contact))
75 functions.Add(TNamed(
'MetaOptions',
'shifter'))
77 time = ROOT.TH1F(
'Time',
'Hit time for EKLMHit2ds', 150, 0.0, 30.0)
78 time.GetXaxis().SetTitle(
't (ns)')
79 time.GetYaxis().SetTitle(
'Events')
80 tree.Draw(
'EKLMHit2ds.getTime()>>Time',
'')
81 functions = time.GetListOfFunctions()
82 functions.Add(TNamed(
'Description',
'Time of muon hit in EKLM'))
83 functions.Add(TNamed(
'Check',
''))
84 functions.Add(TNamed(
'Contact', contact))
85 functions.Add(TNamed(
'MetaOptions',
'shifter'))
87 nPE = ROOT.TH1F(
'nGenPE',
'Generated PE in EKLM', 100, 0.0, 200)
88 nPE.GetXaxis().SetTitle(
'# generated PE')
89 nPE.GetYaxis().SetTitle(
'Events')
90 tree.Draw(
'KLMDigits.getNGeneratedPhotoelectrons()>>nGenPE',
91 'KLMDigits.getSubdetector()==2')
92 functions = nPE.GetListOfFunctions()
93 functions.Add(TNamed(
'Description',
'Number of generated photoelectrons in EKLM'))
94 functions.Add(TNamed(
'Check',
''))
95 functions.Add(TNamed(
'Contact', contact))
96 functions.Add(TNamed(
'MetaOptions',
'shifter'))
100 edep = ROOT.TH1F(
'edep',
'Energy deposition for KLMDigits', 150, 0.0, 15)
101 edep.GetXaxis().SetTitle(
'E (MeV)')
102 edep.GetYaxis().SetTitle(
'Events')
103 tree.Draw(
'EKLMHit2ds.getEnergyDeposit()>>edep',
'')
104 functions = edep.GetListOfFunctions()
105 functions.Add(TNamed(
'Description',
'dE/dx energy deposition of muon hit'))
106 functions.Add(TNamed(
'Check',
''))
107 functions.Add(TNamed(
'Contact', contact))
108 functions.Add(TNamed(
'MetaOptions',
'shifter'))
112 eklm_digits_tres.Write()