Belle II Software  release-05-02-19
Ntuple Class Reference
Inheritance diagram for Ntuple:
Collaboration diagram for Ntuple:

Public Member Functions

def initialize (self)
 
def event (self)
 
def terminate (self)
 

Public Attributes

 file
 root file
 
 tree
 root tree
 
 data
 data structure to be written to tree
 
 reso
 histogram of t0 residuals
 
 pull
 histogram of t0 pulls
 

Detailed Description

makes ntuple for MC studies of TOPCosmicT0Finder performance 

Definition at line 58 of file testCosmicT0Finder.py.

Member Function Documentation

◆ event()

def event (   self)
event processing: fill ntuple and histograms 

Definition at line 84 of file testCosmicT0Finder.py.

84  def event(self):
85  ''' event processing: fill ntuple and histograms '''
86 
87  mcParticles = Belle2.PyStoreArray('MCParticles')
88  timeZeros = Belle2.PyStoreArray('TOPTimeZeros')
89  for timeZero in timeZeros:
90  extHit = timeZero.getRelated('ExtHits')
91  if not extHit:
92  B2WARNING('no related extHits')
93  continue
94  barHit = None
95  for barhit in mcParticles[0].getRelationsWith('TOPBarHits'):
96  if barhit.getModuleID() == extHit.getCopyID():
97  barHit = barhit
98  if not barHit:
99  B2WARNING('no corresponding TOPBarHit')
100  continue
101 
102  moduleID = timeZero.getModuleID()
103  if extHit.getCopyID() != moduleID:
104  B2ERROR('moduleID in extHit differs: ' + str(extHit.getCopyID()) +
105  ' ' + str(moduleID))
106  if barHit.getModuleID() != moduleID:
107  B2ERROR('moduleID in barHit differs: ' + str(barHit.getModuleID()) +
108  ' ' + str(moduleID))
109 
110  self.data.slot = moduleID
111  self.data.nfot = timeZero.getNumPhotons()
112  self.data.pdg = barHit.getPDG()
113  pos = barHit.getLocalPosition()
114  self.data.x = pos.x()
115  self.data.y = pos.y()
116  self.data.z = pos.z()
117  self.data.t = barHit.getTime()
118  phiBar = math.pi / 2 - math.pi / 8 * (moduleID - 0.5)
119  mom = barHit.getMomentum()
120  mom.RotateZ(phiBar)
121  self.data.p = mom.Mag()
122  self.data.theta = math.degrees(mom.Theta())
123  self.data.phi = math.degrees(mom.Phi())
124  dr = extHit.getPosition() - barHit.getPosition()
125  dr.RotateZ(phiBar)
126  self.data.dx = dr.x()
127  self.data.dy = dr.y()
128  self.data.dz = dr.z()
129  self.data.dt = extHit.getTOF() - self.data.t
130  momExt = extHit.getMomentum()
131  momExt.RotateZ(phiBar)
132  self.data.dp = momExt.Mag() - self.data.p
133  self.data.dtheta = math.degrees(momExt.Theta()) - self.data.theta
134  self.data.dphi = math.degrees(momExt.Phi()) - self.data.phi
135  self.data.t0 = timeZero.getTime()
136  self.data.t0err = timeZero.getError()
137  self.data.timeShift = timeShift
138  self.data.dt0 = self.data.dt + self.data.t0 - self.data.timeShift
139  self.file.cd()
140  self.tree.Fill()
141  self.reso.Fill(self.data.dt0)
142  self.pull.Fill(self.data.dt0/self.data.t0err)
143  if timeZero.getChi2().GetEntries() > 0:
144  timeZero.getChi2().Write()
145  timeZero.getPDF().Write()
146  timeZero.getHits().Write()
147 

◆ initialize()

def initialize (   self)
initialize 

Definition at line 61 of file testCosmicT0Finder.py.

◆ terminate()

def terminate (   self)
terminate: write and close root file 

Definition at line 148 of file testCosmicT0Finder.py.


The documentation for this class was generated from the following file:
ClusterEfficiency.ClusterEfficiency.event
def event(self)
Definition: ClusterEfficiency.py:146
Belle2::PyStoreArray
a (simplified) python wrapper for StoreArray.
Definition: PyStoreArray.h:58