fixed the problem, when changing from splittlevel=1 to 99 and
SetBranchStyle(0) to SetBranchStyle(99)... But Why?
Jens
On Mon, 14 Oct 2002, Jens Berger wrote:
> Hi Roottalk,
>
> I have problems to read Trees w/ events (similar to the Event.cxx example)
> using this code running linux ROOT 3.02.07:
> ----------------------------------------------------------------------------
> TROOT root("Analysis","Rich Analysis");
>
>
> int main(int argc, char **argv)
> {
> root.Reset();
>
> TString inFileList;
> TString outHistofile;
> int nEvents=0;
> int nFiles=0;
>
> if(argc > 1)
> {
> inFileList=argv[1];
> outHistofile=argv[2];
>
> cout <<"dir:"<<inFileList<<" root:"<<outHistofile<<endl;
> for (int k = 1; k < argc; k++)
> {
> int c = *++argv[k];
>
> switch(c)
> {
> case 'n':
> k++;
> nEvents = atoi(argv[k]);
> printf("nr of events: %i\n",nEvents);
> break;
>
> } // switch
> } // for
> }
> else
> {
> printf ("usage: L3RICHTriggerEfficiency filelist.txt histo.root \n\n");
> printf (" -n [Number of events(default:all)]\n");
>
> return 0;
> }
>
>
>
> // Histograms
> TH1F *hVz = new TH1F("hVz","Vertex z Pos",1000,-500,500);
> TH2F *hVyVx = new TH2F("hVyVx","Vertex y vs. Vertex x
> Pos",20,-10,10,20,-10,10);
> TH1F *hVx = new TH1F("hVx","Vertex x Pos",50,-25,25);
> TH1F *hVy = new TH1F("hVy","Vertex y Pos",50,-25,25);
>
>
> TStopwatch timer;
> timer.Start();
>
>
> TChain *chain = new TChain("Tree");
>
> // Open the filelist and chain them
> FILE *fp = fopen(inFileList.Data(),"r");
> char* dataFile=new char[512] ;
> Int_t nlines = 0;
> Int_t ncols;
> while(1)
> {
> if(nFiles){ if(nlines>nFiles) break; }
> if( fscanf (fp, "%s", dataFile ) == EOF ) break ;
> if (nlines<10 || nlines%10==0) printf("add %d: %s\n",nlines,dataFile);
> chain->Add(dataFile);
> nlines++;
> }
> printf(" found %d datafiles\n",nlines);
> fclose(fp);
>
>
> Event *event = new Event();
>
> chain->SetBranchAddress("Event",&event);
> TClonesArray *primaries = event->GetfPrimaries();
> TClonesArray *globals = event->GetfGlobals();
> TClonesArray *l3globals = event->GetfL3Globals();
>
> Int_t nevent = chain->GetEntries();
> cout<<"Tree has:"<<nevent<<endl;
>
> Int_t nb = 0;
> for (Int_t eventCnt=0;eventCnt<nevent;eventCnt++)
> {
> printf("Tree -> Event:%d\n",eventCnt);
>
> chain->GetEntry(eventCnt); //read complete event in
> memory
> cout<<"primaries:" << primaries->GetEntries() << endl;
> float VertexZ=event->GetVertexZ();
> cout<<"Vertex z:"<<VertexZ<<endl;
>
> for(int glcnt=0;glcnt<primaries->GetEntries();glcnt++)
> {
> cout<<"pt "<<((RTrack*)primaries->At(glcnt))->GetPt()<<endl;
> }
> hVz->Fill(VertexZ);
>
> event->ClearTracks();
> }
>
> cout << "llop finished!"<<endl;
>
> ----------------------------------------------------------------------------
>
>
> The application crashes after the first event:
>
> ----------------------------------------------------------------------------
> [play10] ~/<3>RICHAna/root/bin/L3RICHTriggerEfficiency/>
> ./L3RICHTriggerEfficiency testfiles.txt histo.root
> dir:testfiles.txt root:histo.root
> add 0: ./testfiles/st_physics_2318025_raw_0001.tree.root
> add 1: ./testfiles/st_physics_2318025_raw_0002.tree.root
> add 2: ./testfiles/st_physics_2318025_raw_0003.tree.root
> add 3: ./testfiles/st_physics_2318025_raw_0004.tree.root
> add 4: ./testfiles/st_physics_2318025_raw_0005.tree.root
> add 5: ./testfiles/st_physics_2318025_raw_0006.tree.root
> add 6: ./testfiles/st_physics_2318025_raw_0007.tree.root
> add 7: ./testfiles/st_physics_2318025_raw_0008.tree.root
> add 8: ./testfiles/st_physics_2318025_raw_0009.tree.root
> found 9 datafiles
> Tree has:619
> Tree -> Event:0
> primaries:6
> Vertex z:-19.1568
> pt 0.668843
> pt 0.546642
> pt 1.2964
> pt 0.682589
> pt 2.09051
> pt 0.755654
> Tree -> Event:1
> primaries:5
> Vertex z:6.6122
> pt 1.30538
> pt 0.619923
> pt 0.658819
> pt 0.937802
> pt 0.784645
> Tree -> Event:2
>
> ......
> Tree -> Event:71
>
> *** Break *** segmentation violation
> Abort
> [play10] ~/<3>RICHAna/root/bin/L3RICHTriggerEfficiency/>
> ----------------------------------------------------------------------------
>
> You can find the main.C at:
> http://www.star.bnl.gov/~jberger/tmp/RICHAna/root/bin/L3RICHTriggerEfficiency/
>
> and the libs at:
> http://www.star.bnl.gov/~jberger/tmp/RICHAna/root/lib/RICHAnaTree/
>
> the events:
> http://www.star.bnl.gov/~jberger/tmp/RICHAna/root/bin/L3RICHTriggerEfficiency/testfiles/*.root
>
> The events have been created with:
> http://www.star.bnl.gov/~jberger/tmp/RICHAna/v2P02gc/RICHAna/StRoot/StRichSpectraTupMaker/StRichSpectraTupMaker.cxx,
> StRichSpectraTupMaker.h
>
>
> Thanks, Jens.
>
>
> ----------------------------------------------------------------------
> Jens Berger email IKF : jberger@ikf.uni-frankfurt.de
> email BNL : jberger@bnl.gov
> ----------------------------------------------------------------------
> Institut Kernphysik Frankfurt (IKF):
> August-Euler-Str. 06 office phone: +49-(0)69-798-24254
> 60486 Frankfurt/Main FRG office fax : +49-(0)69-798-24212
> ----------------------------------------------------------------------
> Brookhaven National Laboratory (BNL):
> Physics Department
> c/o STAR Group
> Building 510A office phone: +1-(1)631-344-8336
> Upton, New York 11973 office fax : +1-(1)631-344-4206
> ----------------------------------------------------------------------
>
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:14 MET