#include "TObject.h" #include "TTree.h" #include "TRandom.h" class MyEvent : public TObject { public: MyEvent() : m_value(0.) {} double value() const { return m_value; } void setValue(double val) { m_value = val; } private: double m_value; ClassDef(MyEvent,1); }; TTree* create_tree() { MyEvent* ev = new MyEvent; TTree* tree = new TTree("tree", "tree"); tree->Branch("ev", "MyEvent", &ev); for (int i=0; i<100; ++i) { ev->setValue(gRandom->Uniform()); tree->Fill(); } tree->ResetBranchAddresses(); return tree; } double testor(const MyEvent* event) { return event->value() + 1.; }