#!/usr/bin/python -i import aa; from ROOT import * f = EventFile("/sps/km3net/users/heijboer/example_files/genhen_v7r6_nueNC_1.km3_v5r3.jte_v7.root") # Sometimes you want to escape briefly to C++, either speed up # or to use some feature not (easily) accessible in pyroot. The # cxx funtion from util/rootutil compiles code and loads it into # ROOT, via gStystem->CompileMacro. cxx(""" double mean_energy( vector trks ) { Timer tmr("cxx timer"); // time this function double r=0; foreach ( t , trks ) { for (int i=0; i<= 100000; i++) r += t.E +i ; } return r / trks.size(); } """) for i in range(10): # do some dummy work evt = Evt() evt.mc_trks.resize(1000) print mean_energy(evt.mc_trks) Timer.report()