{ gROOT->Reset(); gStyle->SetPalette(1,0); //gStyle->SetColorPallete(16); // Create a new canvas and 3 pads TCanvas *c1; TPad *pad1, *pad2, *pad3; if (!gROOT->IsBatch()) { c1 = new TCanvas("c1","Event Display",200,10,700,780); c1->SetFillColor(1); pad1 = new TPad("pad1","This is pad1",0.0,0.0,1.0,1.0,21); pad1->Draw(); pad1->SetFillColor(1); } // Create pointers to the objects in shared memory. TH2F *Hevent = 0; TH2F *Hevents = 0; //TH1F *HDoubPSec = 0; //TH1F *HPtSpec = 0; TH2F *nHevent = 0; nHevent = new TH2F("nHevents","CTT Event mod",80,0.01,80.01,1,0.0,1.0); // Loop displaying the histograms. Once the producer stops this // script will break out of the loop. Int_t oldentries = 0; while(1) { //------------ // GET HISTOS //------------ TSocket *s = new TSocket("localhost", 9090); TMessage *mess_in; s->Send("Hevent"); s->Recv(mess_in); if (mess_in->What() == kMESS_OBJECT) Hevent = (TH2F *)mess_in->ReadObject(mess_in->GetClass()); else { cout << "***Unexpected message***" << endl; if (mess_in->What() == kMESS_STRING) { char errstr[64]; mess_in->ReadString(errstr, 64); printf("%s\n", errstr); } } s->Send("Hevents"); s->Recv(mess_in); if (mess_in->What() == kMESS_OBJECT) Hevents = (TH2F *)mess_in->ReadObject(mess_in->GetClass()); else { cout << "***Unexpected message***" << endl; if (mess_in->What() == kMESS_STRING) { char errstr[64]; mess_in->ReadString(errstr, 64); printf("%s\n", errstr); } } // s->Send("HDoubPSec"); // s->Recv(mess_in); // if (mess_in->What() == kMESS_OBJECT) // HDoubPSec = (TH1F *)mess_in->ReadObject(mess_in->GetClass()); // else { // cout << "***Unexpected message***" << endl; // if (mess_in->What() == kMESS_STRING) // { char errstr[64]; mess_in->ReadString(errstr, 64); printf("%s\n", errstr); } // } // s->Send("HPtSpec"); // s->Recv(mess_in); // if (mess_in->What() == kMESS_OBJECT) // HPtSpec = (TH1F *)mess_in->ReadObject(mess_in->GetClass()); // else { // cout << "***Unexpected message***" << endl; // if (mess_in->What() == kMESS_STRING) // { char errstr[64]; mess_in->ReadString(errstr, 64); printf("%s\n", errstr); } // } s->Send("THANK YOU"); //----------------- // END GET HISTOS //----------------- //nHevent->SetFillColor(38); nHevent->SetXTitle("VRBs Read Out"); nHevent->SetYTitle("Events in Category"); //HDoubPSec->SetFillColor(50); HDoubPSec->SetXTitle("Sector"); HDoubPSec->SetYTitle("Entries"); //HPtSpec->SetFillColor(30); HPtSpec->SetXTitle("Pt Bin"); HPtSpec->SetYTitle("Entries"); cout << "Histo Entries = "<< Hevent->GetEntries()<< endl; //if (HistoA->GetEntries() == oldentries) break; oldentries = Hevent->GetEntries(); if (!gROOT->IsBatch()) { pad1->cd(); gPad->SetTheta(90); gPad->SetPhi(-36); nHevent->Add(Hevent,Hevents,1.0,-1.0); //nHevents->SetTextColor(5); nHevents->SetStats(kFALSE); nHevents->SetAxisColor(41); nHevents->SetLabelColor(10,"Z"); nHevents->SetLabelOffset(0.01,"Z"); nHevents->SetLabelOffset(0.001,"Z"); nHevents->Draw("lego2polz"); // the z adds a scale to the right //pad2->cd(); //Hevent->Draw("lego"); //pad3->cd(); //Hevents->Draw("lego"); c1->Modified(); c1->Update(); } else { //printf("Entries, HistoA=%d, Mean=%g, RMS=%g\n",Sectors->GetEntries(),HistoA->GetMean(),HistoA->GetRMS()); } c1->Print("eve.eps"); gSystem->ProcessEvents(); gSystem->Sleep(1000); // sleep for 1.0 seconds } }