本文整理汇总了C++中TMarker::Draw方法的典型用法代码示例。如果您正苦于以下问题:C++ TMarker::Draw方法的具体用法?C++ TMarker::Draw怎么用?C++ TMarker::Draw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TMarker
的用法示例。
在下文中一共展示了TMarker::Draw方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drawEventRPhi
void drawEventRPhi(double vxlb, double vylb, double vxl0, double vyl0, double pmu1, double phimu1, double pmu2, double phimu2, double ppr, double phipr, double ppi, double phipi, int colors = 0)
{
Color_t colMu1(1), colMu2(1), colPr(1), colPi(1), colL0(1), colLb(1);
switch(colors)
{
case 0:
colLb=1; colL0=2; colMu1=2; colMu2=2; colPr=3; colPi=4; break;
case 1:
colLb=11; colL0=50; colMu1=50; colMu2=50; colPr=8; colPi=9; break;
}
// draw the vertices
TMarker *m;
const double xlb = vxlb;
const double ylb = vylb;
m = new TMarker(xlb,ylb,7);
m->SetMarkerColor(colLb);
m->Draw();
const double xl0 = vxl0;
const double yl0 = vyl0;
m = new TMarker(xl0,yl0,7);
m->SetMarkerColor(colL0);
m->Draw();
// draw the l0 flight line
TLine *l;
l = new TLine(vxlb,vylb,vxl0,vyl0);
l->SetLineColor(colL0);
l->SetLineStyle(2);
l->Draw();
// draw the muons
TArrow *a;
const double xmu1 = xlb + scalemu * pmu1 * TMath::Cos(phimu1);
const double ymu1 = ylb + scalemu * pmu1 * TMath::Sin(phimu1);
a = new TArrow(xlb,ylb,xmu1,ymu1,.01,">");
a->SetLineColor(colMu1);
a->Draw();
const double xmu2 = xlb + scalemu * pmu2 * TMath::Cos(phimu2);
const double ymu2 = ylb + scalemu * pmu2 * TMath::Sin(phimu2);
a = new TArrow(xlb,ylb,xmu2,ymu2,.01,">");
a->SetLineColor(colMu2);
a->Draw();
// draw the p and pi
const double xpr = xl0 + scalepr * ppr * TMath::Cos(phipr);
const double ypr = yl0 + scalepr * ppr * TMath::Sin(phipr);
a = new TArrow(xl0,yl0,xpr,ypr,.01,">");
a->SetLineColor(colPr);
a->Draw();
const double xpi = xl0 + scalepi * ppi * TMath::Cos(phipi);
const double ypi = yl0 + scalepi * ppi * TMath::Sin(phipi);
a = new TArrow(xl0,yl0,xpi,ypi,.01,">");
a->SetLineColor(colPi);
a->Draw();
}
示例2: DrawLabel
void DrawLabel(TString txt, double x, double y, int mstyle, int col, double msize) {
TMarker *m = new TMarker(x,y,mstyle);
m->SetNDC();
m->SetMarkerSize(msize); m->SetMarkerColor(col);
TLine *l = new TLine();
l->SetLineWidth(2); l->SetLineColor(col);
m->Draw();
tex->SetTextSize(0.04);
tex->SetTextAlign(12); tex->SetTextColor(col);
tex->DrawLatex(x+0.025,y,txt);
tex->SetTextColor(kBlack);
}
示例3: myMarkerText
void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle, const char *text,Float_t msize)
{
Double_t tsize=0.06;
TMarker *marker = new TMarker(x-(0.4*tsize),y,8);
marker->SetMarkerColor(color); marker->SetNDC();
marker->SetMarkerStyle(mstyle);
marker->SetMarkerSize(msize);
marker->Draw();
TLatex l; l.SetTextAlign(12); //l.SetTextSize(tsize);
l.SetNDC();
l.DrawLatex(x,y,text);
}
示例4: myMarkerText
void myMarkerText(Double_t x,Double_t y,Int_t color,Int_t mstyle,char *text)
{
// printf("**myMarker: text= %s\ m ",text);
Double_t tsize=0.06;
TMarker *marker = new TMarker(x-(0.4*tsize),y,8);
marker->SetMarkerColor(color); marker->SetNDC();
marker->SetMarkerStyle(mstyle);
marker->SetMarkerSize(2.0);
marker->Draw();
TLatex l; l.SetTextAlign(12); //l.SetTextSize(tsize);
l.SetNDC();
l.DrawLatex(x,y,text);
}
示例5: showHistogram1d
void showHistogram1d(TH1* histogram,
const std::string& xAxisTitle,
Float_t* genX,
const std::string& outputFileName)
{
TCanvas* canvas = new TCanvas("canvas", "canvas", 800, 600);
canvas->SetFillColor(10);
canvas->SetBorderSize(2);
canvas->SetTopMargin(0.10);
canvas->SetLeftMargin(0.16);
canvas->SetRightMargin(0.14);
canvas->SetBottomMargin(0.12);
TAxis* xAxis = histogram->GetXaxis();
xAxis->SetTitle(xAxisTitle.data());
xAxis->SetTitleOffset(1.15);
TAxis* yAxis = histogram->GetYaxis();
yAxis->SetTitle("Sampling Points");
yAxis->SetTitleOffset(1.60);
histogram->SetLineColor(1);
histogram->SetLineWidth(2);
histogram->SetMarkerColor(1);
histogram->SetMarkerStyle(20);
histogram->Draw("e1p");
TMarker* genMarker = 0;
if ( genX ) {
genMarker = new TMarker(*genX, 0.10, 34);
genMarker->SetMarkerColor(1);
genMarker->SetMarkerSize(2);
genMarker->Draw();
}
canvas->Update();
size_t idx = outputFileName.find_last_of('.');
std::string outputFileName_plot = std::string(outputFileName, 0, idx);
if ( idx != std::string::npos ) canvas->Print(std::string(outputFileName_plot).append(std::string(outputFileName, idx)).data());
canvas->Print(std::string(outputFileName_plot).append(".png").data());
canvas->Print(std::string(outputFileName_plot).append(".pdf").data());
canvas->Print(std::string(outputFileName_plot).append(".root").data());
delete genMarker;
delete canvas;
}
示例6: overlayWorkingPoints
// Draw on a given canvas the full set of working points
void overlayWorkingPoints(TCanvas *c1,
TTree *signalTree, TTree *backgroundTree,
const TString *cutFileNames,
int markerColor, int markerStyle,
TLegend *leg, const TString legendText){
// Now loop over working points
for(int iwp = 0; iwp<nWP; iwp++){
// Load the working point from a ROOT file
TFile *cutFile = new TFile(cutFileNames[iwp]);
if( !cutFile )
assert(0);
VarCut *cutObject = (VarCut*)cutFile->Get("cuts");
if( !cutObject )
assert(0);
// Compute the efficiencies
float effSignal, effBackground;
findEfficiencies(signalTree, backgroundTree, effSignal, effBackground,
cutObject);
printf("Computed eff for cut from %s, effS= %.3f effB= %.3f\n",
cutFileNames[iwp].Data(), effSignal, effBackground);
// Make a marker and draw it.
TMarker *marker = new TMarker(effSignal, 1.0-effBackground, 20);
marker->SetMarkerSize(2);
marker->SetMarkerColor(markerColor);
marker->SetMarkerStyle(markerStyle);
marker->Draw("same");
// Add marker to the legend only once. Do not draw the legend here,
// it is drawn in the main function later
if( iwp == 0 ){
if( !leg )
assert(0);
leg->AddEntry(marker, legendText, "p");
}
c1->Update();
cutFile->Close();
}
}
示例7: drawTransition
void drawTransition(){
TBox *bTrans = new TBox(0., 0., 0.97, 0.97);
if(iColor)bTrans->SetFillColor(kYellow-9);
if (! iColor)bTrans->SetFillStyle(4017);
bTrans->Draw();
TEllipse *eTrans1 = new TEllipse(0., 0., 0.9, 0.7, 70., 90., 0.);
eTrans1->SetNoEdges();
eTrans1->SetFillColor(17);
eTrans1->SetLineWidth(2);
eTrans1->SetLineStyle(7);
eTrans1->Draw();
TEllipse *eTrans2 = new TEllipse(0., 0., 0.9, 0.7, 0., 70., 0.);
eTrans2->SetNoEdges();
eTrans2->SetFillColor(17);
eTrans2->SetLineWidth(2);
eTrans2->Draw();
TMarker *mCrit = new TMarker(0.29, 0.6625, 20);
mCrit->SetMarkerSize(1.4);
mCrit->Draw();
}
示例8: long_Ay_nu_05
void long_Ay_nu_05() {
gROOT->SetStyle("HALLA");
TCanvas *cn = new TCanvas("cn","cn",540,360);
cn->Draw();
cn->UseCurrentStyle();
TH1F *frm = new TH1F("frm","",100,0.,10.);
frm->GetXaxis()->SetTitle("#nu (GeV)");
frm->GetYaxis()->SetTitle("Ay for Q2=0.456 (GeV/c)2");
frm->SetMinimum(0);
// frm->SetMinimum(0);
// frm->SetMaximum(1.0);
frm->SetMaximum(0.35);
frm->UseCurrentStyle();
frm->Draw();
frm->SetAxisRange(0.120,0.350,"X");
// frm->SetAxisRange(0.5,1.1,"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(6);
// galster->SetLineStyle(3);
// galster->SetLineWidth(2);
TF1 *genf = new TF1("genf",genff,1.,10.,1);
genf->SetLineColor(2);
genf->SetLineStyle(2);
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);
// TF1 *bbba05 = new TF1("BBBA05",gen_bbba05,0.,10.,0);
// bbba05->SetLineColor(7);
// bbba05->SetLineStyle(3);
TMultiGraph* mgrDta = new TMultiGraph("Data","G_{E}^{n}");
TLegend *legDta = new TLegend(.54,.6,.875,.90,"","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;
while ( f && f->filename ) {
gr=OneGraph(f);
if (gr) {
if (f->lnpt) {
mgrDta->Add(gr,f->lnpt);
legDta->AddEntry(gr,f->label,f->lnpt);
}
else if (gr->GetMarkerStyle()>=20) {
mgrDta->Add(gr,"p");
legDta->AddEntry(gr,f->label,"p");
}
else {
mgrDta->Add(gr,"l");
legDta->AddEntry(gr,f->label,"l");
}
}
f++;
}
mgrDta->Draw("p");
// legDta->Draw();
TF1 *theFit = new TF1("theFit","pol0");
gr->Fit(theFit);
theFit->Draw("same");
TMultiGraph* mgrThry = new TMultiGraph("Theory","G_{E}^{n}");
TLegend *legThry = new TLegend(.54,.3,.875,.6,"","brNDC");
wgr = mgrThry;
wlg = legThry;
// the theory
wlg->SetBorderSize(0); // turn off border
wlg->SetFillStyle(0);
f = theoryfiles1;
gr=0;
while ( f && f->filename ) {
gr=OneGraph(f);
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);
}
if (f->lnpt) {
wgr->Add(gr,f->lnpt);
wlg->AddEntry(gr,f->label,f->lnpt);
}
else if (gr->GetMarkerStyle()>=20) {
wgr->Add(gr,"p");
wlg->AddEntry(gr,f->label,"p");
//.........这里部分代码省略.........
示例9: q4gmn_jan2009
void q4gmn_jan2009() {
gROOT->SetStyle("HALLA");
TCanvas *cn = new TCanvas("cn");
cn->Draw();
// TH1F *frm = new TH1F("frm","",100,0.,5.5);
TH1F *frm = new TH1F("frm","",100,0.,20.);
frm->GetXaxis()->SetTitle("Q^{2} [GeV^{2}]");
frm->GetXaxis()->CenterTitle();
frm->GetYaxis()->SetTitle("Q^{4} G_{M}^{n}/#mu_{n}");
frm->GetYaxis()->CenterTitle();
frm->SetMinimum(0.0);
frm->SetMaximum(0.6);
frm->UseCurrentStyle();
frm->Draw();
TMultiGraph* mgrDta = new TMultiGraph("Data","G_{M}^{n}/#mu_{n}G_{D}");
TLegend *legDta = new TLegend(0.5029,.2076,.9095,.3877,"","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 = fromGMnGDtoQ4GMn(ogr);
if (f->lnpt) {
mgrDta->Add(gr,f->lnpt);
legDta->AddEntry(gr,f->label,f->lnpt);
}
else if (gr->GetMarkerStyle()>=20) {
mgrDta->Add(gr,"p");
legDta->AddEntry(gr,f->label,"p");
}
else {
mgrDta->Add(gr,"l");
legDta->AddEntry(gr,f->label,"l");
}
}
f++;
}
mgrDta->Draw("p");
legDta->Draw(); // don't draw the data legend
TMultiGraph* mgrThry = new TMultiGraph("Theory","");
TLegend *legThry = new TLegend(0.1868,.1949,.5287,.3432,"","brNDC");
wgr = mgrThry;
wlg = legThry;
// the theory
wlg->SetBorderSize(0); // turn off border
wlg->SetFillStyle(0);
f = theoryfiles1;
ogr=0;
while ( f && f->filename ) {
ogr=OneGraph(f);
if (ogr) {
gr = fromGMnGDtoQ4GMn(ogr);
TGraphAsymmErrors *egr = dynamic_cast<TGraphAsymmErrors*>(gr);
if (egr && egr->GetEYhigh() && egr->GetEYhigh()[0]>0) {
gr = toerror_band(egr);
gr->SetFillStyle(3000+f->style);
}
gr->SetLineWidth(2);
if (f->lnpt) {
wgr->Add(gr,f->lnpt);
wlg->AddEntry(gr,f->label,f->lnpt);
}
else if (gr->GetMarkerStyle()>=20) {
wgr->Add(gr,"p");
wlg->AddEntry(gr,f->label,"p");
}
else {
wgr->Add(gr,"l");
wlg->AddEntry(gr,f->label,"l");
}
}
f++;
}
mgrThry->Draw("c");
legThry->Draw();
// draw a line at 1
cn->Modified();
cn->Update();
TFrame* frame = gPad->GetFrame();
//.........这里部分代码省略.........
示例10: drawEventZR
void drawEventZR(double vrlb, double vzlb, double vrl0, double vzl0, double pmu1, double etamu1, double pmu2, double etamu2, double ppr, double etapr, double ppi, double etapi, int colors = 0)
{
Color_t colMu1(1), colMu2(1), colPr(1), colPi(1), colL0(1), colLb(1);
switch(colors)
{
case 0:
colLb=1; colL0=2; colMu1=2; colMu2=2; colPr=3; colPi=4; break;
case 1:
colLb=11; colL0=50; colMu1=50; colMu2=50; colPr=8; colPi=9; break;
}
cout << etamu1 << " " << etamu2 << " " << etapr << " " << etapi << endl;
const double thetamu1 = 2*TMath::ATan(TMath::Exp(-etamu1));
const double thetamu2 = 2*TMath::ATan(TMath::Exp(-etamu2));
const double thetapr = 2*TMath::ATan(TMath::Exp(-etapr));
const double thetapi = 2*TMath::ATan(TMath::Exp(-etapi));
//const double thetamu1 = 2*TMath::ATan(TMath::Exp(-TMath::Abs(etamu1)))*sign(etamu1);
//const double thetamu2 = 2*TMath::ATan(TMath::Exp(-TMath::Abs(etamu2)))*sign(etamu2);
//const double thetapr = 2*TMath::ATan(TMath::Exp(-TMath::Abs(etapr)))*sign(etapr);
//const double thetapi = 2*TMath::ATan(TMath::Exp(-TMath::Abs(etapi)))*sign(etapi);
// draw the vertices
TMarker *m;
const double xlb = vzlb;
const double ylb = vrlb;
m = new TMarker(xlb,ylb,7);
m->SetMarkerColor(colLb);
m->Draw();
const double xl0 = vzl0;
const double yl0 = vrl0;
m = new TMarker(xl0,yl0,7);
m->SetMarkerColor(colL0);
m->Draw();
// draw the l0 flight line
TLine *l;
l = new TLine(vzlb,vrlb,vzl0,vrl0);
l->SetLineColor(colL0);
l->SetLineStyle(2);
l->Draw();
// draw the muons
TArrow *a;
const double xmu1 = xlb + scalemu * pmu1 * TMath::Cos(thetamu1);
const double ymu1 = ylb + scalemu * pmu1 * TMath::Sin(thetamu1);
a = new TArrow(xlb,ylb,xmu1,ymu1,.01,">");
a->SetLineColor(colMu1);
a->Draw();
const double xmu2 = xlb + scalemu * pmu2 * TMath::Cos(thetamu2);
const double ymu2 = ylb + scalemu * pmu2 * TMath::Sin(thetamu2);
a = new TArrow(xlb,ylb,xmu2,ymu2,.01,">");
a->SetLineColor(colMu2);
a->Draw();
// draw the p and pi
const double xpr = xl0 + scalepr * ppr * TMath::Cos(thetapr);
const double ypr = yl0 + scalepr * ppr * TMath::Sin(thetapr);
a = new TArrow(xl0,yl0,xpr,ypr,.01,">");
a->SetLineColor(colPr);
a->Draw();
const double xpi = xl0 + scalepi * ppi * TMath::Cos(thetapi);
const double ypi = yl0 + scalepi * ppi * TMath::Sin(thetapi);
a = new TArrow(xl0,yl0,xpi,ypi,.01,">");
a->SetLineColor(colPi);
a->Draw();
}
示例11: plotAnitaEventMap
void plotAnitaEventMap(Adu5Pat *patPtr,double phi,double theta){
double sourceLon,sourceLat,headLon,headLat,phi10Lon,phi10Lat,phi6Lon,phi6Lat,phi14Lon,phi14Lat,actualLat,actualLon,actual2Lat,actual2Lon;
float xEvent,yEvent,xAnita,yAnita,anitaLat,anitaLon,anitaAlt,xHead,yHead,x10,y10,x6,y6,x14,y14,yActual,xActual,yActual2,xActual2;
anitaLat = patPtr->latitude;
anitaLon = patPtr->longitude;
anitaAlt = patPtr->altitude;
UsefulAdu5Pat usefulPat(patPtr);
std::cout << "source " << std::endl;
//int sourceLoc = usefulPat.getSourceLonAndLatAltZero((180-phi)/180.*PI,(theta)/180.*PI,sourceLon,sourceLat);
int sourceLoc = usefulPat.getSourceLonAndLatAltZero((phi)/180.*PI,(theta)/180.*PI,sourceLon,sourceLat);
std::cout << std::endl << "heading " << std::endl;
int headLoc = usefulPat.getSourceLonAndLatAltZero(0./180.*PI,10./180.*PI,headLon,headLat);
std::cout << std::endl << "phi 10 " << std::endl;
int headLoc10 = usefulPat.getSourceLonAndLatAltZero(180./180.*PI,10./180.*PI,phi10Lon,phi10Lat);
std::cout << std::endl << "phi 14 " << std::endl;
int headLoc14 = usefulPat.getSourceLonAndLatAltZero(270./180.*PI,10./180.*PI,phi14Lon,phi14Lat);
std::cout << std::endl << "phi 6 " << std::endl;
int headLoc6 = usefulPat.getSourceLonAndLatAltZero(90./180.*PI,10./180.*PI,phi6Lon,phi6Lat);
std::cout << std::endl << "actual 14.5 " << std::endl;
int actualLoc = usefulPat.getSourceLonAndLatAltZero(phi/180.*PI,12.5/180.*PI,actualLon,actualLat);
std::cout << std::endl << "actual 4.5 " << std::endl;
int actualLoc2 = usefulPat.getSourceLonAndLatAltZero(phi/180.*PI,7.5/180.*PI,actual2Lon,actual2Lat);
//int sourceLoc = usefulPat.getSourceLonAndLatAltZero((phi)/180.*PI,(TMath::PiOver2()-theta)/180.*PI,sourceLon,sourceLat);
TImage *map = TImage::Open("/home/mottram/work/eventCorrelator/macros/antarcticaIceMap.png");
std::cout << "sourceLoc " << sourceLoc << " phi " << phi << " theta " << theta << " lon " << sourceLon << " lat " << sourceLat << std::endl;
gStyle->SetMarkerColor(kBlack);
//gStyle->SetMarkerSize(2);
gStyle->SetTextSize(0.02);
TMarker *anitaPos = new TMarker(xAnita,yAnita,23);
getRelXYFromLatLong(anitaLat,anitaLon,xAnita,yAnita);
getRelXYFromLatLong(static_cast<float>(sourceLat),static_cast<float>(sourceLon),xEvent,yEvent);
getRelXYFromLatLong(static_cast<float>(headLat),static_cast<float>(headLon),xHead,yHead);
getRelXYFromLatLong(static_cast<float>(phi10Lat),static_cast<float>(phi10Lon),x10,y10);
getRelXYFromLatLong(static_cast<float>(phi14Lat),static_cast<float>(phi14Lon),x14,y14);
getRelXYFromLatLong(static_cast<float>(phi6Lat),static_cast<float>(phi6Lon),x6,y6);
getRelXYFromLatLong(static_cast<float>(actualLat),static_cast<float>(actualLon),xActual,yActual);
getRelXYFromLatLong(static_cast<float>(actual2Lat),static_cast<float>(actual2Lon),xActual2,yActual2);
TCanvas *canMap=(TCanvas*)gROOT->FindObject("canMap");
if(!canMap)
canMap = new TCanvas("canMap","canMap",(int)xSize,(int)ySize);
canMap->Clear();
canMap->SetLogz();
canMap->SetTopMargin(0);
canMap->SetBottomMargin(0);
canMap->SetLeftMargin(0);
canMap->SetRightMargin(0);
map->Draw("");
TMarker *headingPos = new TMarker(xHead,yHead,29);
TMarker *heading14Pos = new TMarker(x14,y14,29);
TMarker *heading10Pos = new TMarker(x10,y10,29);
TMarker *heading6Pos = new TMarker(x6,y6,29);
TMarker *actualPos = new TMarker(xActual,yActual,29);
TMarker *actual2Pos = new TMarker(xActual2,yActual2,29);
headingPos->SetMarkerColor(kRed);
heading14Pos->SetMarkerColor(kGray);
heading10Pos->SetMarkerColor(kGray+2);
heading6Pos->SetMarkerColor(kViolet);
actualPos->SetMarkerColor(kRed+2);//12.5 theta
actual2Pos->SetMarkerColor(kBlue+2);//7.5 theta
headingPos->Draw("");
heading14Pos->Draw("");
heading10Pos->Draw("");
heading6Pos->Draw("");
actualPos->Draw("");
actual2Pos->Draw("");
anitaPos->DrawMarker(xAnita,yAnita);
TLatex *positionLabel=0;
char label[FILENAME_MAX];
if(sourceLoc==0){
if(anitaAlt<0){
sprintf(label,"Could not get event position, ANITA below 0 altitude!");
}
else if(theta>0){
sprintf(label,"Pointing upwards! Cannot locate source at ground position");
}
else{
sprintf(label,"Unkown error, cannot position source at 0 altitude");
}
positionLabel = new TLatex();
positionLabel->DrawLatex(0.05,0.95,label);
return;
}
TMarker *eventPos = new TMarker(xEvent,yEvent,29);
eventPos->SetMarkerColor(kBlack);
eventPos->Draw("");
sprintf(label,"ANITA location: lat %f; long %f; alt %f, x %f, y %f",anitaLat,anitaLon,anitaAlt,xAnita,yAnita);
//.........这里部分代码省略.........
示例12: PrintVertexRosenbrock
void PrintVertexRosenbrock()
{
// open file
std::ifstream data ("Vertex.txt", std::ios::in);
double buf;
std::vector<double> x1;
std::vector<double> x2;
std::vector<double> x3;
std::vector<double> y1;
std::vector<double> y2;
std::vector<double> y3;
// loop on file
while (1)
{
data >> buf;
if (data.eof())
{break;}
x1.push_back(buf);
data >> buf;
y1.push_back(buf);
data >> buf;
x2.push_back(buf);
data >> buf;
y2.push_back(buf);
data >> buf;
x3.push_back(buf);
data >> buf;
y3.push_back(buf);
}
// functions
//TF2* f = new TF2 ("himmelblau", "(x*x + y - 11)*(x*x + y - 11) + (x + y*y - 7)*(x + y*y - 7)", 0, 10, 0, 10); // himmelblau
gStyle->SetOptTitle(0);
TF2* f = new TF2 ("rosenbrock", "100*(y-x*x)*(y-x*x) + (1-x)*(1-x)", -1.5, 2.2, -0.5, 2.2); // rosenbrock
f->SetNpx(1000);
f->SetNpy(1000);
f->GetXaxis()->SetTitle("x");
f->GetYaxis()->SetTitle("y");
TCanvas* c1 = new TCanvas;
c1->SetLogz();
rosenbrock->Draw("COLZ");
// loop on vertex
std::vector<TLine*> vl1;
std::vector<TLine*> vl2;
std::vector<TLine*> vl3;
TLine* l1;
TLine* l2;
TLine* l3;
for (int i = 0; i < x1.size(); i++)
{
l1 = new TLine(0,0,0,0);
l2 = new TLine(0,0,0,0);
l3 = new TLine(0,0,0,0);
l1->SetLineWidth(1.5);
l2->SetLineWidth(1.5);
l3->SetLineWidth(1.5);
l1->SetLineColor(kBlue -10 + i);
l2->SetLineColor(kBlue -10 + i);
l3->SetLineColor(kBlue -10 + i);
l1->SetX1(x1.at(i));
l1->SetY1(y1.at(i));
l1->SetX2(x2.at(i));
l1->SetY2(y2.at(i));
l2->SetX1(x2.at(i));
l2->SetY1(y2.at(i));
l2->SetX2(x3.at(i));
l2->SetY2(y3.at(i));
l3->SetX1(x3.at(i));
l3->SetY1(y3.at(i));
l3->SetX2(x1.at(i));
l3->SetY2(y1.at(i));
l1->Draw("same");
l2->Draw("same");
l3->Draw("same");
}
TMarker* min = new TMarker (1,1,0);
min ->SetMarkerColor (kBlue);
min->SetMarkerStyle(20);
min->SetMarkerSize (1.0);
min->Draw();
}
示例13: TCanvas
void /home/users/m/k/mkomm/Diff13/analysis/unfolding/result/nominal/multi_top_y_nol()
{
//=========Macro generated from canvas: cvMulti0.984295447508/
//========= (Mon May 15 15:02:17 2017) by ROOT version6.02/05
TCanvas *cvMulti0.984295447508 = new TCanvas("cvMulti0.984295447508", "",0,0,800,650);
gStyle->SetOptFit(1);
gStyle->SetOptStat(0);
gStyle->SetOptTitle(0);
cvMulti0.984295447508->SetHighLightColor(2);
cvMulti0.984295447508->Range(-0.5419355,-0.2962025,3.329032,1.982278);
cvMulti0.984295447508->SetFillColor(0);
cvMulti0.984295447508->SetBorderMode(0);
cvMulti0.984295447508->SetBorderSize(2);
cvMulti0.984295447508->SetTickx(1);
cvMulti0.984295447508->SetTicky(1);
cvMulti0.984295447508->SetLeftMargin(0.14);
cvMulti0.984295447508->SetRightMargin(0.24);
cvMulti0.984295447508->SetTopMargin(0.08);
cvMulti0.984295447508->SetBottomMargin(0.13);
cvMulti0.984295447508->SetFrameFillStyle(0);
cvMulti0.984295447508->SetFrameLineWidth(0);
cvMulti0.984295447508->SetFrameBorderMode(0);
cvMulti0.984295447508->SetFrameBorderSize(0);
cvMulti0.984295447508->SetFrameFillStyle(0);
cvMulti0.984295447508->SetFrameLineWidth(0);
cvMulti0.984295447508->SetFrameBorderMode(0);
cvMulti0.984295447508->SetFrameBorderSize(0);
TH2F *axis0.09336527505115 = new TH2F("axis0.09336527505115","",50,0,2.4,50,0,1.8);
axis0.09336527505115->SetLineStyle(0);
axis0.09336527505115->SetMarkerStyle(20);
axis0.09336527505115->SetMarkerSize(0.16);
axis0.09336527505115->GetXaxis()->SetTitle("top quark |y|");
axis0.09336527505115->GetXaxis()->SetNdivisions(1005);
axis0.09336527505115->GetXaxis()->SetLabelFont(43);
axis0.09336527505115->GetXaxis()->SetLabelOffset(0.0077);
axis0.09336527505115->GetXaxis()->SetLabelSize(32);
axis0.09336527505115->GetXaxis()->SetTitleSize(35);
axis0.09336527505115->GetXaxis()->SetTickLength(0.04032258);
axis0.09336527505115->GetXaxis()->SetTitleOffset(1.15);
axis0.09336527505115->GetXaxis()->SetTitleFont(43);
axis0.09336527505115->GetYaxis()->SetTitle(" Scale factor");
axis0.09336527505115->GetYaxis()->SetNdivisions(512);
axis0.09336527505115->GetYaxis()->SetLabelFont(43);
axis0.09336527505115->GetYaxis()->SetLabelOffset(0.0077);
axis0.09336527505115->GetYaxis()->SetLabelSize(32);
axis0.09336527505115->GetYaxis()->SetTitleSize(35);
axis0.09336527505115->GetYaxis()->SetTickLength(0.03164557);
axis0.09336527505115->GetYaxis()->SetTitleOffset(1.3);
axis0.09336527505115->GetYaxis()->SetTitleFont(43);
axis0.09336527505115->GetZaxis()->SetLabelFont(43);
axis0.09336527505115->GetZaxis()->SetLabelOffset(0.0077);
axis0.09336527505115->GetZaxis()->SetLabelSize(32);
axis0.09336527505115->GetZaxis()->SetTitleSize(34);
axis0.09336527505115->GetZaxis()->SetTitleOffset(1.3);
axis0.09336527505115->GetZaxis()->SetTitleFont(43);
axis0.09336527505115->Draw("AXIS");
TF1 *tf13 = new TF1("tf1","1",0,2.4);
tf13->SetFillColor(19);
tf13->SetFillStyle(0);
tf13->SetMarkerStyle(20);
tf13->SetMarkerSize(0.16);
tf13->SetLineWidth(1);
tf13->GetXaxis()->SetNdivisions(505);
tf13->GetXaxis()->SetLabelFont(43);
tf13->GetXaxis()->SetLabelOffset(0.0077);
tf13->GetXaxis()->SetLabelSize(32);
tf13->GetXaxis()->SetTitleSize(34);
tf13->GetXaxis()->SetTickLength(0.05);
tf13->GetXaxis()->SetTitleOffset(1.15);
tf13->GetXaxis()->SetTitleFont(43);
tf13->GetYaxis()->SetNdivisions(512);
tf13->GetYaxis()->SetLabelFont(43);
tf13->GetYaxis()->SetLabelOffset(0.0077);
tf13->GetYaxis()->SetLabelSize(32);
tf13->GetYaxis()->SetTitleSize(34);
tf13->GetYaxis()->SetTitleOffset(1.3);
tf13->GetYaxis()->SetTitleFont(43);
tf13->Draw("LSame");
TMarker *marker = new TMarker(0.0892,0.9606917,20);
Int_t ci; // for color index setting
TColor *color; // for color definition with alpha
ci = TColor::GetColor("#f9910c");
marker->SetMarkerColor(ci);
marker->SetMarkerStyle(20);
marker->SetMarkerSize(1.2);
marker->Draw();
TLine *line = new TLine(0.0892,0.9359605,0.0892,0.9854228);
ci = TColor::GetColor("#f9910c");
line->SetLineColor(ci);
line->SetLineWidth(2);
line->Draw();
line = new TLine(0.2,0,0.2,1.8);
line->SetLineStyle(2);
line->Draw();
line = new TLine(0.0892,0.9606917,0.3142,0.9554859);
//.........这里部分代码省略.........
示例14: drawMeasurement
void drawMeasurement(int i, double m[5], char label[2][100], int aux[5],
double vstep, TH2F* histo, TCanvas* canvas) {
double lowY = (i+1)*vstep;
double uppY = (i+2)*vstep;
//double lowX = histo->GetBinLowEdge(1);
//double uppX = histo->GetBinLowEdge(histo->GetNbinsX()) +
// histo->GetBinWidth(histo->GetNbinsX());
double lowX = 0.25;
double uppX = 2.80;
double widthX = uppX - lowX;
// y-range of the histogram is [0...1]
double startX = lowX + 0.04*widthX;
TPaveText* text = new TPaveText(startX, lowY,
startX, uppY, "BR");
text->SetTextAlign(12);
text->SetFillColor(aux[1]);
text->SetTextColor(aux[0]);
text->SetLineColor(1);
text->SetBorderSize(0);
TText* t0 = text->AddText(" ");
t0->SetTextSize(0.08);
t0->SetTextFont(aux[2]);
TText* t1 = text->AddText(label[0]);
t1->SetTextSize(0.08);
t1->SetTextFont(aux[2]);
TText* t2 = text->AddText(label[1]);
t2->SetTextSize(0.08);
t2->SetTextFont(aux[2]);
text->Draw();
double ypos = 0.5*(lowY+uppY);
double mean = m[0];
double nErr1 = m[1];
double pErr1 = m[2];
double nErr2 = sqrt(m[1]*m[1]+m[3]*m[3]);
double pErr2 = sqrt(m[2]*m[2]+m[4]*m[4]);
// draw TGraphAsymmErrors 1 (stat only) |---*---|
TMarker* measurement = new TMarker(mean, ypos, aux[4]);
measurement->SetMarkerColor(aux[0]);
measurement->SetMarkerStyle(aux[4]);
measurement->SetMarkerSize(1.5);
//measurement->SetMarkerSize(1.75);
measurement->Draw();
double vsizeErr1 = 0.09*vstep;
TLine* l1 = new TLine(mean, ypos, mean-nErr1, ypos);
l1->SetLineWidth(aux[3]);
l1->SetLineColor(aux[0]);
l1->Draw();
TLine* l2 = new TLine(mean, ypos, mean+pErr1, ypos);
l2->SetLineWidth(aux[3]);
l2->SetLineColor(aux[0]);
l2->Draw();
TLine* l3 = new TLine(mean-nErr1, ypos-vsizeErr1,
mean-nErr1, ypos+vsizeErr1);
l3->SetLineWidth(aux[3]);
l3->SetLineColor(aux[0]);
l3->Draw();
TLine* l4 = new TLine(mean+pErr1, ypos-vsizeErr1,
mean+pErr1, ypos+vsizeErr1);
l4->SetLineWidth(aux[3]);
l4->SetLineColor(aux[0]);
l4->Draw();
// overlay TGraphAsymmErrors 2 (stat+syst) |----*-----|
double vsizeErr2 = 0.12*vstep;
TLine* l5 = new TLine(mean, ypos, mean-nErr2, ypos);
l5->SetLineWidth(aux[3]);
l5->SetLineColor(aux[0]);
l5->Draw();
TLine* l6 = new TLine(mean, ypos, mean+pErr2, ypos);
l6->SetLineWidth(aux[3]);
l6->SetLineColor(aux[0]);
l6->Draw();
TLine* l7 = new TLine(mean-nErr2, ypos-vsizeErr2,
mean-nErr2, ypos+vsizeErr2);
l7->SetLineWidth(aux[3]);
l7->SetLineColor(aux[0]);
l7->Draw();
TLine* l8 = new TLine(mean+pErr2, ypos-vsizeErr2,
mean+pErr2, ypos+vsizeErr2);
l8->SetLineWidth(aux[3]);
l8->SetLineColor(aux[0]);
l8->Draw();
// draw measurement label "XXX+/-YY+/-ZZ"
TPaveText* num = new TPaveText(uppX-0.32*widthX,
lowY, uppX-0.02*widthX, uppY, "BR");
num->SetTextAlign(12);
num->SetFillColor(aux[1]);
//.........这里部分代码省略.........
示例15: geugd_riordan
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");
}
//.........这里部分代码省略.........