void testArrayS(){
  TH1F::AddDirectory(0);
  TFile * filein = new TFile("inTH1I.root","READ");
  TH1I *h1 = (TH1I*)filein->Get("hint");
  filein->Delete("hint");
  filein->Close();
  
  Short_t bincont[1500];
  for (Int_t i=0;i<1500;i++){
    bincont[i]=(Short_t)h1->GetBinContent(i+1);
    //cout << " bin = " << i << " = " << bincont[i] << endl; 
  }
  
  static const Int_t size=160000;
  static const Int_t nbins=1500;
  Short_t bigarray[size][nbins];
  gBenchmark->Start("t0");
  for (Int_t i=0;i<size;i++){
    if (i%10000==0) cout << " i = " << i << endl;
    for (Int_t j=0;j<nbins;j++){
      bigarray[i][j]=bincont[j];
    }
  }
  gBenchmark->Stop("t0");
  gBenchmark->Print("t0");

  TTree T("T","Tree with array");
  Short_t *p;
  T.Branch("a",&p,"a[1500]/S",100000000);
  for (Int_t i=0;i<size;i++){
    p=&bigarray[i][0];
    T.Fill();
  }
  TFile * fileout = new TFile ("outArrayS.root","RECREATE");
  T.Write();
  fileout->Close();
}


