- TH1F* hcnt = new TH1F("cnt", "Primeries per event", 41, -0.5, 40.5);
- TH1F* hchg = new TH1F("chg", "Primary charge", 3, -1.5, 1.5);
- TH1F* hpt = new TH1F("pt", "pT distribution", 40, 0.0, 8.0);
- TH1F* heta = new TH1F("eta", "eta distribution", 40, -1.0, 1.0);
-
- Int_t nn; // fscanf return value
-
- for (Int_t i=0; i<1000; ++i)
- {
- TString file(Form("ev-report-%03d.txt", i));
- if (gSystem->AccessPathName(file) == kFALSE)
- {
- Int_t ev, ntr;
- FILE* f = fopen(file, "read");
- nn = fscanf(f, "Event = %d Ntracks = %d", &ev, &ntr);
- if (nn != 2) { printf("SAFR1 %d\n", nn); fclose(f); return; }
- hcnt->Fill(ntr);
- for (Int_t t=0; t<ntr; ++t)
- {
- Int_t id, chg;
- Float_t pt, eta;
- nn = fscanf(f, "%d: chg=%d pt=%f eta=%f", &id, &chg, &pt, &eta);
- if (nn != 4) { printf("SAFR2 %d\n", nn); fclose(f); return; }
- hchg->Fill(chg);
- hpt ->Fill(pt);
- heta->Fill(eta);
- }
- fclose(f);
- }
- }
-
- TCanvas* c;
- if (gPad == 0 || gPad->GetCanvas()->IsEditable() == kFALSE) {
- c = new TCanvas("Scanwas", "Scanning Results", 800, 600);
- } else {
- c = gPad->GetCanvas();
- c->Clear();
- }
- c->Divide(2, 2);
-
- c->cd(1); hcnt->Draw();
- c->cd(2); hchg->Draw();
- c->cd(3); hpt ->Draw();
- c->cd(4); heta->Draw();
-
- c->Modified();
- c->Update();