{
    TRandom3 rnd;
    TNtupleD *nt = new TNtupleD("nt","random data","x");
    for(int i=0; i<100000; i++) {
        double x = rnd.Uniform(-1.,1.);
        nt->Fill(&x);
    }
    
    double mean = 0., variance = 0.;
    for(int i=0; i<nt->GetEntries(); i++) {
        nt->GetEntry(i);
        double x = nt->GetArgs()[0];
        mean += x;
        variance += x*x;
    }
    mean /= nt->GetEntries();
    variance = variance/nt->GetEntries() - mean*mean;
    
    printf("Mean: %g\n",mean);
    printf("Variance: %g\n",variance);
}