TClonesArray *fLutSum[5]; void lutaddbar(TString inFile = "lut_one_*.root", TString outFile = "lut_all.root") { gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C"); TTree *fTreeNew = new TTree("dircsim","Look-up table for DIRC"); for(Int_t l=0; l<5; l++){ fLutSum[l] = new TClonesArray("PndDrcLutNode"); fTreeNew->Branch(Form("LUT%d",l),&fLutSum[l],256000,0); } Int_t Nnodes = 30000; for(Int_t l=0; l<5; l++){ TClonesArray &fLutaSum = *fLutSum[l]; for (Long64_t n=0; nGetName(); if (!file->IsDirectory() && fname.EndsWith(ext)) { TString path = dirname+fname; TString substr = path.SubString(start); if( substr.Length()>0 && path.EndsWith(end)){ adddirs(path); } } } } }else{ adddirs(inFile); } TFile *fFileNew = TFile::Open(outFile,"RECREATE"); fTreeNew->Fill(); fTreeNew->Write(); fFileNew->Write(); std::cout<<"File "<Get("dircsim") ; TClonesArray* fLut[5]; for(Int_t l=0; l<5; l++){ fLut[l] = new TClonesArray("PndDrcLutNode"); t->SetBranchAddress(Form("LUT%d",l),&fLut[l]); } t->GetEntry(0); std::cout<GetEntriesFast()<< " entries" <GetEntriesFast(); inode++){ if(inode%10000==0) std::cout<<"Entry # "<< inode <At(inode); for(int i=0; i< node->Entries(); i++){ ((PndDrcLutNode*)(fLutSum[l]->At(inode)))->AddEntry(node->GetDetectorId(), node->GetEntry(i),node->GetPathId(i),node->GetTime(i),node->GetPos()); } } } f->Close(); }