Page History
...
This page holds a few example code-snippets for use in pyana analysis. The analysis is written in python and uses MatPlotLib.PyPlot for plotting of data. Compare with myana user examples to see how the same things can be done using the myana analysis framework.
Time data
The time of the event can be obtained within the event function:
Code Block | ||||
---|---|---|---|---|
| ||||
def event ( self, evt, env ) :
event_time = evt.getTime().seconds() + 1.0e-9*evt.getTime().nanoseconds() )
|
IPIMB diode data
Currently there are two data structures that holds data from the same type of devices. Depending on DAQ
configuration, they are either DetInfo type or BldInfo type. Here are examples for extracting both types
in the user module event function:
Code Block | ||||
---|---|---|---|---|
| ||||
def event(self, evt, env):
# raw data
ipmRaw = evt.get(xtc.TypeId.Type.Id_IpimbData, source )
try:
ch = [ipmRaw.channel0(),
ipmRaw.channel1(),
ipmRaw.channel2(),
ipmRaw.channel3() ]
ch_volt = [ipmRaw.channel0Volts(),
ipmRaw.channel1Volts(),
ipmRaw.channel2Volts(),
ipmRaw.channel3Volts() ]
except:
pass
# feature-extracted data
ipmFex = evt.get(xtc.TypeId.Type.Id_IpmFex, source )
try:
# array of 4 numbers
fex_channel = ipmFex.channel
# scalar values
fex_sum = ipmFex.sum
fex_xpos = ipmFex.xpos
fex_ypos = ipmFex.ypos
except:
pass
|
Code Block | ||||
---|---|---|---|---|
| ||||
def event(self, evt, env):
ipm = evt.getSharedIpimbValue("HFX-DG3-IMB-02")
# or equivalently:
# ipm = evt.get(xtc.TypeId.Type.Id_SharedIpimb, "HFX-DG3-IMB-02")
try:
### Raw data ###
# arrays of 4 numbers:
ch = [ipm.ipimbData.channel0(),
ipm.ipimbData.channel1(),
ipm.ipimbData.channel2(),
ipm.ipimbData.channel3()]
ch_volt = [ipm.ipimbData.channel0Volts(),
ipm.ipimbData.channel1Volts(),
ipm.ipimbData.channel2Volts(),
ipm.ipimbData.channel3Volts()]
### Feature-extracted data ###
# array of 4 numbers:
fex_channels = ipm.ipmFexData.channel
# scalars:
fex_sum = ipm.ipmFexData.sum
fex_xpos = ipm.ipmFexData.xpos
fex_ypos = ipm.ipmFexData.ypos
|
Acqiris waveform data
This method can be used for any detector/device that has Acqiris waveform data. Edit the self.address field to get the detector of your choice.
...
Overview
Content Tools