{ #include gROOT->LoadMacro("AtlasUtils.C"); ATLAS->SetPadTickX(1); ATLAS->SetPadTickY(0); ATLAS->SetPadRightMargin(0.12); ATLAS->SetPadLeftMargin(0.12); c1 = new TCanvas("c1","A Simple Graph",500,10,700,500); c1->SetGrid(); //TDatime db(2010,06,01,00,00,00); TDatime db(2010,08,01,00,00,00); int t1 = db.Convert(); //TDatime db(2011,04,01,00,00,00); TDatime db(2011,05,22,00,00,00); int t2 = db.Convert(); gStyle->SetOptStat(0); //c1->SetGrid(); // create the arrays for the points Double_t ymax= 1.0; double Tscale=ymax*0.1/10., Toffset = ymax*0.2; //double Tscale=0.01/10., Toffset = 0.02; Int_t n = 3000; double intL[n],Temp[4][n],Temp_plot[4][n], Tbias=3.6; double time[n], Ttime[n]; double weekL[n], energy[n]; double leak[4][n],dleak[4][n],leakop[4][n],dleakop[4][n], leak3[5][n],dleak3[5][n]; int week,year1,month1,day1,year2,month2,day2; //--------readin luminosity data------------------- int iweek=1, iT=0; ifstream fin("lhcall_7_temperature_plan1.txt"); while(fin>>year1>>month1>>day1>>year2>>month2>>day2>>energy[iweek]>> weekL[iweek]>>intL[iweek]>>Temp[0][iweek]>>Temp[1][iweek]>>Temp[2][iweek]>>Temp[3][iweek] ) { cout<=10.) Tsensor += 2.0; double Arrhenius = exp(EI/kB*(1/TR-1/(Tsensor+T0))); isum[ierror] = 0.; //------calculate each component of leak current----------------- for (int k=0; k<5; k++) { double leak_week = alpha*Vsensor*A[k]*tau[k]/Arrhenius/days *(1-exp(-Arrhenius*days/tau[k]))*fluence; ileak[layer][iw][k][ierror] = ileak[layer][iw-1][k][ierror] * exp(-Arrhenius*days/tau[k]) + leak_week; isum[ierror] += ileak[layer][iw][k][ierror]; // cout<<"iw,layer,k,ierror="<>bec>>layer>>year2>>month2>>day2>>tempdata>>error) { //cout<3) continue; int m = idata[L]; TDatime da(year2,month2,day2,12, 0,0); dtime[L][m]=da.Convert(); data[L][m]=tempdata; cout<SetMaximum(ymax); hu->GetYaxis()->SetTitle("I _{leak} [#muA] @-10#circC"); //hu->GetXaxis()->SetTitle("DATE"); for (int j=0; jGetXaxis()->SetTitleOffset(1.4); hu->GetXaxis()->SetLabelOffset(0.05); hu->GetXaxis()->SetLabelSize(0.04); hu->GetYaxis()->SetTitleSize(0.05); hu->GetYaxis()->SetTitleOffset(1.0); hu->GetYaxis()->SetLabelOffset(0.01); // hu->GetXaxis()->SetRangeUser(13,45); hu->GetXaxis()->SetTimeDisplay(1); hu->GetXaxis()->SetTimeFormat("#splitline{%Y}{%b %d}"); hu->GetXaxis()->SetLimits(t1,t2); // hu->GetXaxis()->SetNdivisions(206); hu->GetXaxis()->SetNdivisions(206); if(layer==0){ hc->SetLineColor(kRed+2);hu->SetFillColor(kRed-9); g2->SetMarkerColor(kRed+2);hd->SetLineColor(kRed+2);} if(layer==1){ hc->SetLineColor(kGreen+2);hu->SetFillColor(kGreen-9); g2->SetMarkerColor(kGreen+2);hd->SetLineColor(kGreen+2);} if(layer==2){ hc->SetLineColor(kBlue+2);hu->SetFillColor(kBlue-9); g2->SetMarkerColor(kBlue+2);hd->SetLineColor(kBlue+2);} if(layer==3){ hc->SetLineColor(kMagenta+2);hu->SetFillColor(kMagenta-9); g2->SetMarkerColor(kMagenta+2);hd->SetLineColor(kMagenta+2);} hu->SetFillStyle(3001);hu->SetLineColor(0); if(layer==0)hu->Draw("ALF"); if(layer!=0)hu->Draw("SAME LF"); hc->Draw("SAME L"); hd->SetFillColor(0); hd->Draw("SAME LF"); g2->SetMarkerSize(1.0); g2->Draw("SAME P"); leg1->AddEntry(hd," #pm1#sigma","L"); leg4->AddEntry(hu," ","F"); if(layer==0)leg0->AddEntry(hu,"B3",""); if(layer==1)leg0->AddEntry(hu,"B4",""); if(layer==2)leg0->AddEntry(hu,"B5",""); if(layer==3)leg0->AddEntry(hu,"B6",""); leg2->AddEntry(g2," ","P"); } gT3 = new TGraph(iT,Ttime,Temp_plot[0]); gT4 = new TGraph(iT,Ttime,Temp_plot[1]); gT5 = new TGraph(iT,Ttime,Temp_plot[2]); gT6 = new TGraph(iT,Ttime,Temp_plot[3]); leg3->AddEntry(gT3," ","L"); leg3->AddEntry(gT4," ","L"); leg3->AddEntry(gT5," ","L"); leg3->AddEntry(gT6," ","L"); gT3->SetLineStyle(2); gT3->SetLineColor(kRed+2);gT3->Draw("SAME L"); gT4->SetLineStyle(2); gT4->SetLineColor(kGreen+2);gT4->Draw("SAME L"); gT5->SetLineStyle(2); gT5->SetLineColor(kBlue+2);gT5->Draw("SAME L"); gT6->SetLineStyle(2); gT6->SetLineColor(kMagenta+2);gT6->Draw("SAME L"); // p = new TPave(0.2,225,7.2,345); // legd->SetFillColor(10); legd->SetBorderSize(1); leg0->SetFillColor(10); leg0->SetBorderSize(0); leg0->SetTextSize(0.04); leg1->SetFillColor(10); leg1->SetBorderSize(0); leg1->SetTextSize(0.04); leg2->SetFillColor(10); leg2->SetBorderSize(0); leg2->SetTextSize(0.04); leg3->SetFillColor(10); leg3->SetBorderSize(0); leg3->SetTextSize(0.04); leg4->SetFillColor(10); leg4->SetBorderSize(0); leg4->SetTextSize(0.01); legd->Draw(); leg0->Draw(); leg2->Draw(); leg3->Draw(); leg1->Draw(); leg4->Draw(); //draw an axis on the right side TGaxis *axis = new TGaxis(t2,0.,t2, ymax,-Toffset/Tscale,(ymax-Toffset)/Tscale,505,"+L"); axis->SetTitle("T_{sensor} [#circC]"); axis->SetLabelOffset(0.01); axis->SetTitleOffset(1.0); axis->SetTitleSize(0.05); axis->SetLabelSize(0.05); axis->SetLabelFont(42); axis->SetTitleFont(42); axis->Draw(); //draw the tick marks again on X axis //TGaxis ax: //ax = hu.Xaxis(); //axis->SetLabelSize(0); //axis->Draw(); // //--- write tick mark on bottom X axis TDatime db(2010,10,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.01); tick->Draw(); TDatime db(2010,11,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.02); tick->Draw(); TDatime db(2010,12,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.01); tick->Draw(); TDatime db(2011,01,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.02); tick->Draw(); TDatime db(2011,02,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.01); tick->Draw(); TDatime db(2011,03,03,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.02); tick->Draw(); TDatime db(2011,05,03,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.02); tick->Draw(); TDatime db(2011,04,03,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0, t4, 0.01); tick->Draw(); TDatime db(2011,05,03,00,00,00); int t4 = db.Convert(); tick = new TLine(t4,0.02,t4,0.34); tick->SetLineStyle(3);tick->Draw(); TDatime db(2011,03,03,00,00,00); int t4 = db.Convert(); tick = new TLine(t4,0.02,t4,0.04); tick->SetLineStyle(3);tick->Draw(); TDatime db(2011,01,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4,0.02,t4,0.04); tick->SetLineStyle(3);tick->Draw(); TDatime db(2010,11,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4,0.02,t4,0.05); tick->SetLineStyle(3);tick->Draw(); TDatime db(2011,04,18,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0.1, t2, 0.1);tick->SetLineStyle(3); tick->Draw(); TDatime db(2011,04,25,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0.2, t2, 0.2);tick->SetLineStyle(3); tick->Draw(); TDatime db(2011,05,01,00,00,00); int t4 = db.Convert(); tick = new TLine(t4, 0.3, t2, 0.3);tick->SetLineStyle(3); tick->Draw(); // c1->Print("leak_current.png"); c1->Print("leak_current.eps"); c1->Print("leak_current.pdf"); } :