This example writes a tree with objects of the class Event. 
It is a simplified version of $ROOTSYS/test/MainEvent.cxx to write the tree, and $ROOTSYS/test/eventb.C It shows:
- how to fill a Tree with an event class containing these data members: 
char           fType[20];
EventHeader    fEvtHdr;
An array of clone (identical) objects.
 
1-D histogram with a float per channel (see TH1 documentation)
 
 
- the difference in splitting or not splitting a branch
 
- how to read selected branches of the tree, and print the first entry with less than 587 tracks.
 
- how to browse and analyze the Tree via the TBrowser and TTreeViewer
 
This example can be run in many different ways:
- way1 using the Cling interpreter: 
 
- way2 using the Cling interpreter: 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
  
- way3 using ACLIC:  One can also run the write and read parts in two separate sessions. For example following one of the sessions above, one can start the session:  
 
#ifdef R__WIN32
#else
#endif
 
#include "../test/Event.h"
 
{
   
   TFile f(
"tree108.root",
"RECREATE");
 
 
   
   TTree t4(
"t4",
"A Tree with Events");
 
 
   
 
   
   t4.Branch(
"event_split", &event,16000,99);
 
   t4.Branch(
"event_not_split", &event,16000,0);
 
 
   
   char etype[20];
 
   
      event->SetType(etype);
      event->SetHeader(
ev, 200, 960312, 
random);
 
      event->SetTemperature(
random + 20.);
 
 
      }
 
      
         }
      }
 
      
 
      
 
      
      event->Clear();
   }
   
 
   
}
 
 
{
   
 
   
   
 
   
   
   auto event = 
new Event();
 
 
   
   auto branch  = 
t4->GetBranch(
"event_split");
 
 
      
 
      
      if (event->GetNtrack() > 587)
         continue;
 
      
 
      
 
      
      event->Clear();
   }
 
      return;
}
 
{
   Event::Reset(); 
   Event::Reset(); 
}
#define R__LOAD_LIBRARY(LIBRARY)
 
R__EXTERN TRandom * gRandom
 
Using a TBrowser one can browse all ROOT objects.
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
 
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
 
Double_t Rndm() override
Machine independent random number generator.
 
virtual void Rannor(Float_t &a, Float_t &b)
Return 2 numbers distributed following a gaussian with mean=0 and sigma=1.
 
A TTree represents a columnar dataset.
 
 
- Author
 - Rene Brun 
 
Definition in file tree108_tree.C.