You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

AIDA for Power Users

This covers advanced topics in JAS3 and AIDA. The examples in this section are mostly written in the Python language. It's syntax is simpler and less strict than Java, yet very clear. If you do not feel comfortable learning yet another language, please visit the exellent, if slightly dated AIDA documentation. However, please feel encouraged to take a look at the examples. They should all run out of the box (if not, please don't feel discouraged – file a bug report), so that you should still be able to get something out of them.

For this section, you will want to take a look at
PAIDA and AIDA API

Changing Layout/Style/Properties with a Script

While it is convenient to be able to manipulate your data with the mouse, in many cases you will want to apply the same modifications to a set of similar data, or perform more complicated modifications that are quite possible to do with AIDA, but not (yet) implemented in JAS3. This is where a script comes in handy

Advanced Manipulations of Histograms

Adding and subtracting histograms

Fitting

Using predefined functions

Writing your own function

Oftentimes you will have to perform more complicated computations than can be put in a string. Use this template to

from hep.aida import IFunction
import AIDATutorial
import math

class MyFunc(IFunction):
    def __init__(self, track):
        self.title = "My Own Function"
        return

    def providesGradient(self):
        return false

# This Function returns the value f(x)
# x can be multi-dimensional
    def value(self, x):
        y = x[0] + math.exp(x[1]) + x[0]*x[1]
        externalValue = AIDATutorial.someExternalFunction(y, x)
        return externalValue-y

# This tells AIDA the dimension of the function
    def dimension(self):
        return 2

    def annotation(self):
        ann = IAnnotation()
        ann.addItem('Title', self.title)
        return ann

Tuples

Flat Tuples

Nested Tuples

  • No labels