#include #include class Newclassvar { public: Newclassvar(): var1(0),var2(0) {} int var1; int var2; }; #ifdef __MAKECINT__ #pragma link C++ class Newclassvar+; #endif class tclassA { public: tclassA() : sfile(0),fOutputTree(0),snewclassvar(0) {} virtual ~tclassA() {} TFile *sfile; TTree* fOutputTree; Newclassvar *snewclassvar; virtual void Initialize(void) { sfile = new TFile ("SFiles.root","RECREATE"); fOutputTree = new TTree("userLoopTree","A simple summary tree"); fOutputTree->SetDirectory(sfile); snewclassvar = new Newclassvar; fOutputTree->Branch("SBranch",&snewclassvar, 16000, 99); } bool operator () (int /* event */) { //do some stuff to get variables; for now I'll use dummies snewclassvar->var1 = 10.; snewclassvar->var2 = 11.; fOutputTree->Fill(); return true; } void Finalize() { fOutputTree->Print(); sfile->Write(); sfile->Close(); } }; int working() { tclassA usercode; usercode.Initialize(); usercode(0); usercode(0); usercode.Finalize(); return 0; }