{ gROOT->Reset(); #include "Riostream.h" // Graphics gStyle->SetOptStat(000000000); gStyle->SetOptFit(000000000); gStyle->SetOptFit(); gStyle->SetStatColor(10); gStyle->SetStatFontSize(0.035); gStyle->SetStatFont(42); gStyle->SetTextFont(42); gStyle->SetTitleOffset(1.07,"xyz"); gStyle->SetLabelFont(42,"xyz"); gStyle->SetLabelSize(0.035,"xyz"); gStyle->SetLabelOffset(0.010,"xyz"); gStyle->SetTitleFont(42,"xyz"); gStyle->SetTitleFillColor(10); gStyle->SetStripDecimals(kFALSE); TGaxis::SetMaxDigits(4); // Variables Int_t num_data = 19; // Size of data-set TString dateStr1; // Date (dd/mm/yyyy) TString dateStr2; // Date (hh:mm:ss) Double_t ErrT[num_data]; // Error on time Double_t Trig[num_data]; // Number of triggers Double_t ErTr[num_data]; // Error on number of triggers Double_t X2[num_data]; // Time vector // Time offset TDatime T0(2009,01,01,00,00,00); Int_t X0 = T0.Convert(); gStyle->SetTimeOffset(X0); // Time limits for the plots TDatime TA(2009,09,10,00,00,00); TDatime TB(2009,09,12,00,00,00); Int_t XA = TA.Convert()-X0; Int_t XB = TB.Convert()-X0; // Load data ifstream in_file; in_file.open("./run_56811.dat"); for (Int_t i=0; i>dateStr1 >>dateStr2 >>Trig[i]; ErrT[i] = 0.001; ErTr[i] = 0.001; // Date-time transformation const TPRegexp r1("(\\d{2})\/(\\d{2})\/(\\d{4})"); const TPRegexp r2("(\\d{2}):(\\d{2}):(\\d{2})"); const TObjArray *subStrL1 = r1.MatchS(dateStr1); const TObjArray *subStrL2 = r2.MatchS(dateStr2); if (subStrL1->GetLast()+1 >= 3) { const Int_t day = ((TObjString *)subStrL1->At(1))->GetString().Atoi(); const Int_t month = ((TObjString *)subStrL1->At(2))->GetString().Atoi(); const Int_t year = ((TObjString *)subStrL1->At(3))->GetString().Atoi(); const Int_t hour = ((TObjString *)subStrL2->At(1))->GetString().Atoi(); const Int_t min = ((TObjString *)subStrL2->At(2))->GetString().Atoi(); const Int_t sec = ((TObjString *)subStrL2->At(3))->GetString().Atoi(); TDatime t(year,month,day,hour,min,sec); X2[i] = t.Convert(1)-X0; } delete subStrL1; delete subStrL2; } in_file.close(); // Create the canvas TCanvas *c1 = new TCanvas("c1","Cosmic Run",0,0,700,500); c1->SetFillColor(10); c1->SetGrid(); c1->Modified(); // Plot data TGraphErrors *gr1 = new TGraphErrors(num_data,X2,Trig,ErrT,ErTr); gr1->SetMarkerColor(kRed); gr1->SetMarkerStyle(29); gr1->SetMarkerSize(1.2); gr1->SetLineWidth(1.5); gr1->GetXaxis()->SetLimits(XA,XB); gr1->GetHistogram()->SetMaximum(+1000.0); gr1->GetHistogram()->SetMinimum(+0.0); gr1->GetXaxis()->SetTimeOffset(0,"gmt"); gr1->GetXaxis()->SetTimeDisplay(1); gr1->GetXaxis()->SetNdivisions(-30510); gr1->SetTitle("Cosmic run 56811"); gr1->GetXaxis()->SetTitle("Elapsed Time (days)"); gr1->GetYaxis()->SetTitle("Number of triggers"); gr1->GetXaxis()->CenterTitle(); gr1->GetYaxis()->CenterTitle(); gr1->Draw("PA"); // Save the image c1->Update(); }