{ //-------------------------------------------------------- // 2012.11.10 clean up by Taka Kondo (KEK) //-------------------------------------------------------- #include gROOT->LoadMacro("AtlasUtils.C"); c1 = new TCanvas("c1","A Simple Graph",600,10,700,500); c1->SetGrid(); TDatime db(2000,01,01,00,00,00); int X0 = db.Convert(); gStyle->SetTimeOffset(X0); TDatime db(2010,01,01,00,00,00); int t1 = db.Convert()-X0; TDatime db(2021,12,31,00,00,00); int t2 = db.Convert()-X0; double ymax= 500; double intL[1000], time[1000]; for (i=0; i<1000; i++) {intL[i]=0.;} // //--------readin luminosity data------------------- // int iweek=1; int week,year1,month1,day1,hour1,min1,year2,month2,day2,hour2,min2; double weekL,T1,T2,T3,T4,T5,T6; ifstream fin("intL_B0_B3.txt"); char line[255]; fin.getline(line,sizeof(line)); //------read 1st dummy line--------- while(fin>>year1>>month1>>day1>>hour1>>min1>>year2>>month2>>day2>>hour2>>min2 >>weekL>>T1>>T2>>T3>>T4>>T5>>T6) { intL[iweek] = intL[iweek-1] + weekL/1000.; TDatime d2(year2,month2,day2,12,0,0); time[iweek]=d2.Convert()-X0; iweek++; } fin.close(); cout<<"number of time intervals= "<< iweek << endl; // //----------------------------------------------------- // hu = new TGraph(iweek,time,intL); hu->SetMaximum(ymax); hu->GetYaxis()->SetTitle("Integrated luminosity (fb^{-1})"); hu->SetLineWidth(2); hu->SetLineColor(2); hu->GetXaxis()->SetLabelSize(0.); hu->GetYaxis()->SetTitleSize(0.05); hu->GetYaxis()->SetTitleOffset(1.2); hu->GetYaxis()->SetLabelOffset(0.01); hu->GetXaxis()->SetTimeDisplay(1); hu->GetXaxis()->SetLimits(t1,t2); hu->GetXaxis()->SetNdivisions(206); hu->Draw("AL"); //-- write years---- for (int iy=2011; iy<2023; iy+=2){ TDatime db(iy-1,08,01,00,00,00);int t4 = db.Convert()-X0; sprintf(line,"%d\0",iy); leg = new TText(t4 ,-34 ,line);leg->SetTextSize(0.040);leg->Draw(); TDatime db(iy-1,07,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,-52 ,"Jan 01");leg->SetTextSize(0.040);leg->Draw(); } //-- write energy TDatime db(2010,06,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9+10 ,"7 TeV"); leg->SetTextSize(0.040);leg->Draw(); TDatime db(2012,01,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9+10 ,"8 TeV"); leg->SetTextSize(0.040);leg->Draw(); TDatime db(2016,01,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9+10 ,"14 TeV"); leg->SetTextSize(0.040);leg->Draw(); TDatime db(2020,01,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9+10 ,"14 TeV"); leg->SetTextSize(0.040);leg->Draw(); //---LS TDatime db(2013,12,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9-10 ,"LS1"); leg->SetTextSize(0.040);leg->Draw(); TDatime db(2018,5,01,00,00,00);int t4 = db.Convert()-X0; leg = new TText(t4 ,ymax*0.9-10 ,"LS2"); leg->SetTextSize(0.040);leg->Draw(); //---arrows TDatime db(2010,01,01,00,00,00);int t4 = db.Convert()-X0; TDatime db(2012,01,01,00,00,00);int t5 = db.Convert()-X0; ar = new TArrow(t4,ymax*0.9,t5,ymax*0.9,0.02,"<||>"); ar->SetArrowSize(0.015);ar->SetLineWidth(1);ar->Draw(); TDatime db(2012,01,01,00,00,00);int t4 = db.Convert()-X0; TDatime db(2013,02,17,00,00,00);int t5 = db.Convert()-X0; ar = new TArrow(t4,ymax*0.9,t5,ymax*0.9,0.02,"<||>"); ar->SetArrowSize(0.015);ar->SetLineWidth(1);ar->Draw(); TDatime db(2015,04,01,00,00,00);int t4 = db.Convert()-X0; TDatime db(2018,01,01,00,00,00);int t5 = db.Convert()-X0; ar = new TArrow(t4,ymax*0.9,t5,ymax*0.9,0.02,"<||>"); ar->SetArrowSize(0.015);ar->SetLineWidth(1);ar->Draw(); TDatime db(2019,04,01,00,00,00);int t4 = db.Convert()-X0; TDatime db(2021,12,31,00,00,00);int t5 = db.Convert()-X0; ar = new TArrow(t4,ymax*0.9,t5,ymax*0.9,0.02,"<||>"); ar->SetArrowSize(0.015);ar->SetLineWidth(1);ar->Draw(); //------print out ------------------------ c1->Print("Luminosity.png"); }