45 ''' Initializes the Module: book histograms and set descriptions and checks'''
48 self.
tfile = TFile.Open(
"bunchFinder.root",
"recreate")
52 "Reconstructed relative bunch number; relative bunch number; events per bunch",
53 100, -50.0 - 0.5, 50.0 - 0.5)
58 "Offset to reconstructed bunch; offset [ns]; events per bin",
64 "Number of tracks in TOP acceptance; number of tracks; entries per bin",
70 "Number of tracks used for bunch finding; number of used track; entries per bins",
72 self.
set_descr(self.
usedTracks,
'Number of tracks in the event actually used for finding the bunch crossing.')
76 "Efficiency vs. number of tracks; number of tracks; efficiency",
79 'the number of tracks per event in the acceptance of TOP.')
83 "Efficiency vs. number of used tracks; number of used tracks; efficiency",
86 'the number of tracks per event actually used.')
89 self.
effi = TH1F(
"effi",
"Acceptance and efficiency", 2, 0.5, 2.5)
90 self.
effi.GetXaxis().SetBinLabel(1,
"acceptance")
91 self.
effi.GetXaxis().SetBinLabel(2,
"efficiency")
92 self.
effi.GetXaxis().SetLabelSize(0.08)
93 self.
effi.GetXaxis().SetAlphanumeric()
94 self.
set_descr(self.
effi,
'Acceptance is defined as fraction of events with at least one track crossing TOP. '
95 'Efficiency is defined as fraction of correctly reconstructed bunch crossings in accepted events.')
102 ''' Event processor: fill histograms '''
105 if not recBunch.isValid():
108 if recBunch.isReconstructed():
110 self.
offset.Fill(recBunch.getCurrentOffset())
111 self.
numTracks.Fill(recBunch.getNumTracks())
112 self.
usedTracks.Fill(recBunch.getUsedTracks())
113 if recBunch.getBunchNo() == recBunch.getMCBunchNo():