void draw_input_labels(Int_t nInputs, Double_t* cy, Double_t rad, Double_t layerWidth) { const Double_t LABEL_HEIGHT = 0.03; const Double_t LABEL_WIDTH = 0.20; Double_t width = LABEL_WIDTH + (layerWidth-4*rad); Double_t margX = 0.01; Double_t effHeight = 0.8*LABEL_HEIGHT; TString *varNames = get_var_names(nInputs); if (varNames == 0) exit(1); TString input; for (Int_t i = 0; i < nInputs; i++) { if (i != nInputs-1) input = varNames[i]; else input = "Bias node"; Double_t x1 = margX; Double_t x2 = margX + width; Double_t y1 = cy[i] - effHeight; Double_t y2 = cy[i] + effHeight; TPaveLabel *p = new TPaveLabel(x1, y1, x2, y2, input+"", "br"); p->SetFillColor(gStyle->GetTitleFillColor()); p->SetFillStyle(1001); p->Draw(); if (i == nInputs-1) p->SetTextColor( TMVAGlob::c_NovelBlue ); } delete[] varNames; }
void draw_layer_labels(Int_t nLayers) { const Double_t LABEL_HEIGHT = 0.03; const Double_t LABEL_WIDTH = 0.20; Double_t effWidth = 0.8*(1.0-LABEL_WIDTH)/nLayers; Double_t height = 0.8*LABEL_HEIGHT; Double_t margY = LABEL_HEIGHT - height; for (Int_t i = 0; i < nLayers; i++) { TString label = Form("Layer %i", i); Double_t cx = i*(1.0-LABEL_WIDTH)/nLayers+1.0/(2.0*nLayers)+LABEL_WIDTH; Double_t x1 = cx-0.8*effWidth/2.0; Double_t x2 = cx+0.8*effWidth/2.0; Double_t y1 = margY; Double_t y2 = margY + height; TPaveLabel *p = new TPaveLabel(x1, y1, x2, y2, label+"", "br"); p->SetFillColor(gStyle->GetTitleFillColor()); p->SetFillStyle(1001); p->Draw(); } }
void plotFinalEnergy() { gStyle->SetStatH(0.3); gStyle->SetStatY(0.88); gStyle->SetStatW(0.3); char canTitle[180]; sprintf(canTitle,"Energy at Terminal Interaction (10000 tries)"); TCanvas *canFinalEnergy = new TCanvas("canFinalEnergy","Final Energy",800,800); TPaveLabel *pl = new TPaveLabel(0.1,0.96,0.9,0.99,canTitle,"br NDC"); pl->SetBorderSize(0); pl->SetFillColor(0); pl->SetFillStyle(0); pl->Draw(); TPad *subCanFinalEnergy = new TPad("subCanFinalEnergy","",0,0,1,0.95); subCanFinalEnergy->Draw(); subCanFinalEnergy->cd(); subCanFinalEnergy->Divide(2,4); subCanFinalEnergy->Update(); // gStyle->SetOptStat(0); char fileName[80]; char histTitle[80]; char theEnergies[4][5]={"1e9","1e10","1e11","1e12"}; int theColours[2][3]={{50,42,46},{40,30,38}}; for(int isATau=0;isATau<=1;isATau++) { for(int i=0;i<4;i++) { sprintf(fileName, "newest%sFile%sIce.root",getParticleNameCaps(isATau),theEnergies[i]); sprintf(histTitle,"%s -- %s GeV",getParticleNameCaps(isATau),theEnergies[i]); TFile *fp = new TFile(fileName); TH1F *histEnergy = new TH1F("histEnergy",histTitle,100,7.5,12.5); TH1F *histEnergy2 = new TH1F("histEnergy2","Last Energy",100,7.5,12.5); TH1F *histEnergy3 = new TH1F("histEnergy3","Last Energy",100,7.5,12.5); TTree *theTree = (TTree*) fp->Get("theTree"); cout << theTree->GetEntries() << endl; subCanFinalEnergy->cd((2*i)+isATau+1); gPad->SetTopMargin(0.12); // gPad->SetBottomMargin(0.2); histEnergy->SetLineWidth(3); histEnergy->SetLineColor(theColours[isATau][0]); histEnergy2->SetLineWidth(3); histEnergy2->SetLineColor(theColours[isATau][1]); histEnergy3->SetLineWidth(3); histEnergy3->SetLineColor(theColours[isATau][2]); theTree->Draw("log10(stepIntEnergy)>>histEnergy","stepIntType>=4"); // histEnergy->GetXaxis()->SetTitle("IntType (#mus)"); // histEnergy->GetXaxis()->SetBinLabel(2,"Bremsstrahlung"); // histEnergy->GetXaxis()->SetBinLabel(3,"Pair Production"); // histEnergy->GetXaxis()->SetBinLabel(4,"Photonuclear"); // histEnergy->GetXaxis()->SetLabelSize(0.09); // histEnergy->GetXaxis()->SetLabelOffset(0.02); theTree->Draw("log10(stepIntEnergy)>>histEnergy2","stepIntType==4"); theTree->Draw("log10(stepIntEnergy)>>histEnergy3","stepIntType==5"); histEnergy->DrawCopy(); if(histEnergy2->GetEntries()) histEnergy2->DrawCopy("same"); if(histEnergy3->GetEntries()) histEnergy3->DrawCopy("same"); if(histEnergy->GetEntries()) gPad->SetLogy(); if(i==0) { TLegend *leg = new TLegend(0.7,0.2,0.9,0.6); leg->SetFillColor(0); leg->SetFillStyle(0); leg->SetBorderSize(0); leg->AddEntry(histEnergy2,"Decay","l"); leg->AddEntry(histEnergy3,"Weak (CC)","l"); leg->AddEntry(histEnergy,"Either","l"); leg->Draw("same"); } } } for(int i=0;i<8;i++) { // cout << "Doing title "<< i+1 << endl; subCanFinalEnergy->cd(i+1); sortOutTitle(0.07); } // gStyle->SetOptStat(1110); }
void drawValueBox(double x1, double x2, double x3, int colour) { char optionfile[60]; std::vector<double> options; double delta1(0.), delta2(0.), delta3(0.), delta4(0.); double tsize(0.7); sprintf(optionfile,"./config/drawValueBox.dat"); readData(optionfile,options); delta1 = options[0]; delta2 = options[1]; delta3 = options[2]; delta4 = options[3]; tsize = options[4]; double xmin = x1 + delta1; double xmax = x1 + delta2; double ymin = x2 + delta3; double ymax = x2 + delta4; if ( x1 < 0 && x2 > 0) { xmin = x1 - delta1; xmax = x1 - delta2; } else if ( x1 < 0 && x2 < 0) { xmin = x1 - delta1; xmax = x1 - delta2; ymin = x2 - delta3; ymax = x2 - delta4; } else if ( x1 > 0 && x2 < 0) { ymin = x2 - delta3; ymax = x2 - delta4; } else if ( x1 == 0.0 ) { xmin = xmin - delta1; xmax = xmax ; } else if ( x2 == 0.0 ) { ymin = ymin - delta3; ymax = ymax ; } else {} char label[10]; sprintf(label,"%.1f",float(x3)); TPaveLabel *box = new TPaveLabel(xmin,ymin,xmax,ymax,label); box->SetBorderSize(0); box->SetTextFont(42); box->SetTextSize(tsize); box->SetTextAlign(22); box->SetTextColor(colour); if (colour == 1) box->SetFillStyle(4000); else { box->SetFillColor(10); box->SetTextColor(colour); box->SetBorderSize(1); } box->Draw("same"); TLine * ln = new TLine(x1,x2,xmin,ymin); ln->SetLineWidth(1); ln->SetLineStyle(1); ln->SetLineColor(14); ln->Draw("same"); }
void geugd_riordan() { gROOT->SetStyle("HALLA"); TCanvas *cn = new TCanvas("cn"); cn->Draw(); cn->UseCurrentStyle(); TH1F *frm = new TH1F("frm","",100,0.,12.); frm->GetXaxis()->SetTitle("Q^{2} [GeV^{2}]"); frm->GetXaxis()->CenterTitle(); frm->GetYaxis()->SetTitle("G_{E}^{u}/G_{D}"); frm->GetYaxis()->CenterTitle(); frm->SetMinimum(.40); frm->SetMaximum(2.4); //frm->SetMaximum(0.3); frm->UseCurrentStyle(); frm->Draw(); frm->SetAxisRange(0.10,12.,"X"); TF1* galster = new TF1("galster", "x/(4.*0.938*.938)*1.91/(1.+x/.71)^2/(1.+5.6*x/(4.*.938*.938))", 0.,4.); galster->SetLineColor(kBlack); galster->SetLineStyle(kBlack); galster->SetLineWidth(2); TF1* gen0 = new TF1("gen0", f1dugen0, 0.,12.); gen0->SetLineColor(kBlack); gen0->SetLineStyle(kBlack); gen0->SetLineWidth(1); TF1 *genf = new TF1("genf",genff,1.,10.,1); genf->SetLineColor(kBlue); genf->SetLineStyle(1); genf->SetParameter(0,1.); // match to Madey point just below 1.5 // genf->SetParameter(0,.0411/genf->Eval(1.45)); // genf->SetParameter(0,-0.558645); genf->SetParameter(0,-0.182645); TF1 *roberts_curve = new TF1("roberts",roberts_gen,0.035,12.344,1); roberts_curve->SetLineColor(kRed); roberts_curve->SetLineStyle(9); TF1 *ourfit = new TF1("ourfit",gen_ourfit,0.,10.,0); ourfit->SetLineColor(kBlue); ourfit->SetLineStyle(0); /* TF1 *bbba05 = new TF1("BBBA05",gen_bbba05,0.,10.,0); bbba05->SetLineColor(kGreen); bbba05->SetLineStyle(3); */ // TF1 *lomon = new TF1("Lomon",Lomon_GEn,0.,10.,0); // lomon->SetLineColor(7); // lomon->SetLineStyle(4); TMultiGraph* mgrDta = new TMultiGraph("Data","G_{E}^{n}"); //TLegend *legDta = new TLegend(.3448,.6123,.6810,.9110,"","brNDC"); TLegend *legDta = new TLegend(.6020,.4004,.9382,.9089,"","brNDC"); TMultiGraph* wgr = mgrDta; TLegend *wlg = legDta; // the data legDta->SetBorderSize(0); // turn off border legDta->SetFillStyle(0); datafile_t *f = datafiles; TGraph* gr=0; TGraph* ogr=0; while ( f && f->filename ) { ogr=OneGraph(f); if (ogr) { gr = fromGEntransform(ogr); gr->SetLineStyle(0); if (f->lnpt) { mgrDta->Add(gr,f->lnpt); if( f->label[0] != 'x' ) legDta->AddEntry(gr,f->label,f->lnpt); } mgrDta->Add(gr,"p"); if( f->label[0] != 'x' ) legDta->AddEntry(gr,f->label,"p"); /* else if (gr->GetMarkerStyle()>=20) { mgrDta->Add(gr,"p"); if( f->label[0] != 'x' ) legDta->AddEntry(gr,f->label,"p"); } else { mgrDta->Add(gr,"l"); if( f->label[0] != 'x' ) legDta->AddEntry(gr,f->label,"l"); } */ } f++; } mgrDta->Draw("p"); legDta->Draw(); TMultiGraph* mgrThry = new TMultiGraph("Theory","G_{E}^{n}"); // TLegend *legThry = new TLegend(.546,.6208,.8822,.9195,"","brNDC"); // TLegend *legThry = new TLegend(.2055,.7013,.6020,.8893,"","brNDC"); TLegend *legThry = new TLegend(.4267,.8453,.6236,.8962,"","brNDC"); wgr = mgrThry; wlg = legThry; // the theory wlg->SetBorderSize(0); // turn off border wlg->SetFillStyle(0); f = theoryfiles1; gr=0; Bool_t isfill; while ( f && f->filename ) { gr=OneGraph(f); gr->SetLineWidth(2); isfill = kFALSE; if (gr) { TGraphAsymmErrors *egr = dynamic_cast<TGraphAsymmErrors*>(gr); if (egr && egr->GetN()>1 && egr->GetEYhigh() && egr->GetEYhigh()[1]>0) { gr = toerror_band(egr); gr->SetFillStyle(3000+f->style); gr->SetFillStyle(1); gr->SetFillColor(gr->GetLineColor()); isfill = kTRUE; } if (f->lnpt) { wgr->Add(gr,f->lnpt); if( f->label[0] != 'x' ) wlg->AddEntry(gr,f->label,f->lnpt); } else if (gr->GetMarkerStyle()>=20) { wgr->Add(gr,"p"); if( f->label[0] != 'x' ) wlg->AddEntry(gr,f->label,"p"); } else { if( isfill ){ gr->SetLineStyle(0); wgr->Add(gr,"f"); // wgr->Add( new TGraph(*egr),"l"); if( f->label[0] != 'x' ) wlg->AddEntry(gr,f->label,"lf"); } else { wgr->Add(gr,"l"); if( f->label[0] != 'x' ) wlg->AddEntry(gr,f->label,"l"); } } } f++; } TPaveLabel *prelim = new TPaveLabel( 0.3204, 0.1886, 0.9310, 0.4643, "PRELIMINARY", "NDC" ); prelim->SetTextAngle(0); TColor *pink = new TColor(300, 1.0, 0.7, 0.7, "pink"); prelim->SetTextColor(300); prelim->SetFillStyle(0); prelim->SetBorderSize(0); #ifdef FAKE_SCHIAVILLA TGraph *schiagraph = draw_schiavilla(); schiagraph->Draw("F"); schiagraph = draw_schiavilla(1); schiagraph->Draw("C"); legThry->AddEntry(schiagraph, "d(e,e'd) T_{20} - Schiavilla & Sick", "LF"); #endif #ifdef PRELIMINARY prelim->Draw("same"); #endif TPaveLabel *nofsilab = new TPaveLabel( 0.4569, 0.1674, 0.7514, 0.2415, "No FSI Corrections", "NDC" ); nofsilab->SetFillStyle(0); nofsilab->SetBorderSize(0); nofsilab->SetTextColor(kRed); #ifdef NOFSI // nofsilab->Draw("same"); #endif #ifdef PQCD genf->Draw("same"); #endif mgrThry->Draw("c"); #ifdef GALSTER galster->Draw("same"); #endif // gen0->Draw("same"); #ifdef NEW_ROBERTS roberts_curve->Draw("same"); #endif // ourfit->Draw("same"); // bbba05->Draw("same"); //lomon->Draw("same"); // bandi->Draw("same"); #ifdef PQCD legThry->AddEntry(genf,"F_{2}/F_{1} #propto ln^{2}(Q^{2}/#Lambda^{2})/Q^{2}","l"); #endif #ifdef GALSTER legThry->AddEntry(galster,"Galster fit (1971)","l"); #endif // legThry->AddEntry(gen0,"G_{E}^{n} = 0","l"); #ifdef NEW_ROBERTS legThry->AddEntry(roberts_curve,"q(qq) Faddeev - I. Cloet, ANL","l"); #endif // legThry->AddEntry(bbba05,"BBBA05","l"); // legThry->AddEntry(lomon, "Lomon", "l"); // legThry->AddEntry(ourfit, "Our Fit", "l"); legThry->Draw(); legDta->Draw(); mgrDta->Draw("p"); legDta->Draw(); TEllipse *cir1 = new TEllipse(1.31, 0.0, 0.17, 0.0065); TEllipse *cir2 = new TEllipse(2.4, 0.0, 0.17, 0.0065); cir1->SetFillStyle(0); cir2->SetFillStyle(0); #ifdef PLOTKIN1 cir1->Draw("same"); // cir2->Draw("same"); // TPaveLabel *exacc = new TPaveLabel( 0.3779, 0.2691, 0.5963, 0.3114, "Expected Accuracy", "NDC"); TPaveLabel *exacc = new TPaveLabel( 0.2716, 0.2733, 0.4899, 0.3136, "Expected Accuracy", "NDC"); exacc->SetFillStyle(0); exacc->SetBorderSize(0); exacc->Draw("same"); #endif // draw a line at 1 cn->Modified(); cn->Update(); cn->SaveAs(Form("%s.pdf",psfile)); cn->SaveAs(Form("%s.eps",psfile)); // cn->SaveAs(Form("%s.root",psfile)); // gSystem->Exec(Form("./replace_symbols.pl %s.eps",psfile)); // cn->SaveAs("bogdan_gen.eps"); return; // LEAVING HERE // now an overlay, hopefully matching dimensions // remove everything but the graph cn->Update(); TList *clist = cn->GetListOfPrimitives(); TFrame* frame = cn->GetFrame(); for (int i=0; i<clist->GetSize(); ) { if (clist->At(i) != frame) { clist->RemoveAt(i); } else i++; } // draw markers in the corners TMarker *mkr = new TMarker(frame->GetX1(),frame->GetY1(),2); mkr->Draw(); mkr = new TMarker(frame->GetX2(),frame->GetY1(),2); mkr->Draw(); mkr = new TMarker(frame->GetX1(),frame->GetY2(),2); mkr->Draw(); mkr = new TMarker(frame->GetX2(),frame->GetY2(),2); mkr->Draw(); frame->SetLineColor(10); cn->Update(); datafile_t miller = { "figure_input/Miller/lattice.GEn.rtf","Miller", "[0]","[1]","[1]-[3]","[2]-[1]",0,0,1,3,"F" }; gr = OneGraph(&miller); TGraphAsymmErrors* egr = dynamic_cast<TGraphAsymmErrors*>(gr); if (egr && egr->GetEYhigh() && egr->GetEYhigh()[egr->GetN()/2]>0) { gr = toerror_band(egr); gr->SetLineStyle(1); gr->SetFillColor(gr->GetLineColor()); gr->SetFillStyle(3000+miller.style); } gr->Draw("F"); cn->Update(); cn->SaveAs("gen_Miller_Overlay.pdf"); cn->SaveAs("gen_Miller_Overlay.root"); }