本文整理汇总了C++中TAxis::SetLabelOffset方法的典型用法代码示例。如果您正苦于以下问题:C++ TAxis::SetLabelOffset方法的具体用法?C++ TAxis::SetLabelOffset怎么用?C++ TAxis::SetLabelOffset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TAxis
的用法示例。
在下文中一共展示了TAxis::SetLabelOffset方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetAxis
//------------------------------------------------------------------------------
// SetAxis
//------------------------------------------------------------------------------
void SetAxis(TH1* hist,
TString xtitle,
TString ytitle,
Float_t size,
Float_t offset)
{
TAxis* xaxis = (TAxis*)hist->GetXaxis();
TAxis* yaxis = (TAxis*)hist->GetYaxis();
xaxis->SetLabelFont(42);
yaxis->SetLabelFont(42);
xaxis->SetTitleFont(42);
yaxis->SetTitleFont(42);
xaxis->SetLabelOffset(0.025);
yaxis->SetLabelOffset(0.025);
xaxis->SetTitleOffset(1.4);
yaxis->SetTitleOffset(offset);
xaxis->SetLabelSize(size);
yaxis->SetLabelSize(size);
xaxis->SetTitleSize(size);
yaxis->SetTitleSize(size);
xaxis->SetTitle(xtitle);
yaxis->SetTitle(ytitle);
xaxis->SetNdivisions(505);
yaxis->SetNdivisions(505);
yaxis->CenterTitle();
gPad->GetFrame()->DrawClone();
gPad->RedrawAxis();
}
示例2: showGraph
void showGraph(double canvasSizeX, double canvasSizeY,
TGraph* graph,
bool useLogScaleX, double xMin, double xMax, const std::string& xAxisTitle, double xAxisOffset,
bool useLogScaleY, double yMin, double yMax, const std::string& yAxisTitle, double yAxisOffset,
const std::string& outputFileName)
{
TCanvas* canvas = new TCanvas("canvas", "canvas", canvasSizeX, canvasSizeY);
canvas->SetFillColor(10);
canvas->SetBorderSize(2);
canvas->SetTopMargin(0.05);
canvas->SetLeftMargin(0.19);
canvas->SetBottomMargin(0.19);
canvas->SetRightMargin(0.05);
canvas->SetLogx(useLogScaleX);
canvas->SetLogy(useLogScaleY);
TH1* dummyHistogram = new TH1D("dummyHistogram", "dummyHistogram", 10, xMin, xMax);
dummyHistogram->SetTitle("");
dummyHistogram->SetStats(false);
dummyHistogram->SetMinimum(yMin);
dummyHistogram->SetMaximum(yMax);
dummyHistogram->Draw("axis");
TAxis* xAxis = dummyHistogram->GetXaxis();
xAxis->SetTitle(xAxisTitle.data());
xAxis->SetTitleOffset(xAxisOffset);
xAxis->SetTitleSize(0.065);
xAxis->SetLabelSize(0.055);
xAxis->SetLabelOffset(0.01);
xAxis->SetTickLength(0.055);
xAxis->SetNdivisions(505);
TAxis* yAxis = dummyHistogram->GetYaxis();
yAxis->SetTitle(yAxisTitle.data());
yAxis->SetTitleOffset(yAxisOffset);
yAxis->SetTitleSize(0.070);
yAxis->SetLabelSize(0.055);
yAxis->SetLabelOffset(0.01);
yAxis->SetTickLength(0.055);
yAxis->SetNdivisions(505);
graph->SetMarkerColor(1);
graph->SetLineColor(1);
graph->Draw("p");
canvas->Update();
size_t idx = outputFileName.find_last_of('.');
std::string outputFileName_plot = std::string(outputFileName, 0, idx);
if ( useLogScaleY ) outputFileName_plot.append("_log");
else outputFileName_plot.append("_linear");
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 dummyHistogram;
delete canvas;
}
示例3: residual_error
/*
double residual_error( double error_data, double pdf )
{
double chi2 = 0.;
if ( pdf > 0 )
chi2 += 2. * ( pdf - error_data );
if ( error_data > 0 && pdf > 0 )
chi2=(error_data/pdf);
//chi2 += 2. * error_data * log( error_data / error_pdf );
// return ( ( error_data >= pdf ) ? sqrt( chi2 ) : -sqrt( chi2 ) );
// return ( ( error_data >= pdf ) ? chi2 : chi2 );
return ( chi2 );
}
*/
TH1D* residualHist( const RooHist* rhist, const RooCurve* curve )
{
double r = 0.2;
double sr = 1. / r;
// Grab info from the histogram.
int n = rhist->GetN();
double* x = rhist->GetX();
double* y = rhist->GetY();
//rhist->Sumw2();
// double e;
// Create residual histogram.
double xMin = x[ 0 ];
double xMax = x[ n - 1 ];
TH1D* residuals_temp = new TH1D( "r", "", n, xMin, xMax );
double datum = 0.;
double pdf = 0.;
double error_data = 0.;
// Fill the histogram.
if ( curve )
for ( int bin = 0; bin < n; bin++ )
{
datum = y[ bin ];
pdf = curve->Eval( x[ bin ] );
error_data = rhist->GetErrorY(bin);
// error_pdf = curve->Eval( x[ bin ] );
residuals_temp->SetBinContent( bin + 1, residual( datum, pdf ) );
// residuals_temp->SetBinError ( bin + 1, residual_error( error_data, pdf ) );
residuals_temp->SetBinError ( bin + 1, error_data / pdf );
}
residuals_temp->SetMinimum ( -2. );
residuals_temp->SetMaximum ( 2. );
residuals_temp->SetStats ( false );
residuals_temp->SetMarkerStyle( 8 );
residuals_temp->SetMarkerSize ( .8 );
TAxis* xAxis = residuals_temp->GetXaxis();
xAxis->SetTickLength ( sr * xAxis->GetTickLength() );
xAxis->SetLabelSize ( sr * xAxis->GetLabelSize() );
xAxis->SetTitleSize ( sr * xAxis->GetTitleSize() );
xAxis->SetLabelOffset( sr * xAxis->GetLabelOffset() );
TAxis* yAxis = residuals_temp->GetYaxis();
//yAxis->SetNdivisions ( 500 );
//yAxis->SetLabelSize ( 10*sr * yAxis->GetLabelSize() );
yAxis->SetLabelSize ( 2.5 * yAxis->GetLabelSize() );
yAxis->SetTitle(" (DATA - FIT) / FIT");
yAxis->SetTitleSize ( 0.09 );
yAxis->SetTitleOffset( 0.35 );
return residuals_temp;
}
示例4: makePlot
//.........这里部分代码省略.........
histogramSVfitMEMkEq0->SetFillStyle(0);
histogramSVfitMEMkEq0->SetLineColor(colors[2]);
histogramSVfitMEMkEq0->SetLineStyle(lineStyles[2]);
histogramSVfitMEMkEq0->SetLineWidth(lineWidths[2]);
histogramSVfitMEMkEq0->SetMarkerColor(colors[2]);
histogramSVfitMEMkEq0->SetMarkerStyle(markerStyles[2]);
histogramSVfitMEMkEq0->SetMarkerSize(markerSizes[2]);
// CV: fix pathological bins at high mass for which dN/dm increases
int numBins = histogramSVfitMEMkEq0->GetNbinsX();
for ( int idxBin = 1; idxBin <= numBins; ++idxBin ) {
double binCenter = histogramSVfitMEMkEq0->GetBinCenter(idxBin);
if ( (channel == "#tau_{h}#tau_{h}" && massPoint == 500 && binCenter > 1500.) ||
(channel == "#tau_{h}#tau_{h}" && massPoint == 800 && binCenter > 2000.) ||
(channel == "#mu#tau_{h}" && massPoint == 500 && binCenter > 1500.) ||
(channel == "#mu#tau_{h}" && massPoint == 800 && binCenter > 2500.) ) {
histogramSVfitMEMkEq0->SetBinContent(idxBin, 0.);
}
}
histogramSVfitMEMkNeq0->SetFillColor(0);
histogramSVfitMEMkNeq0->SetFillStyle(0);
histogramSVfitMEMkNeq0->SetLineColor(colors[3]);
histogramSVfitMEMkNeq0->SetLineStyle(lineStyles[3]);
histogramSVfitMEMkNeq0->SetLineWidth(lineWidths[3]);
histogramSVfitMEMkNeq0->SetMarkerColor(colors[3]);
histogramSVfitMEMkNeq0->SetMarkerStyle(markerStyles[3]);
histogramSVfitMEMkNeq0->SetMarkerSize(markerSizes[3]);
TAxis* xAxis = histogramCA->GetXaxis();
xAxis->SetTitle("m_{#tau#tau} [GeV]");
xAxis->SetTitleOffset(1.15);
xAxis->SetTitleSize(0.070);
xAxis->SetTitleFont(42);
xAxis->SetLabelOffset(0.010);
xAxis->SetLabelSize(0.055);
xAxis->SetLabelFont(42);
xAxis->SetTickLength(0.040);
xAxis->SetNdivisions(510);
//double xMin = 20.;
//double xMax = xAxis->GetXmax();
//xAxis->SetRangeUser(xMin, xMax);
TAxis* yAxis = histogramCA->GetYaxis();
yAxis->SetTitle("dN/dm_{#tau#tau} [1/GeV]");
yAxis->SetTitleOffset(1.20);
yAxis->SetTitleSize(0.070);
yAxis->SetTitleFont(42);
yAxis->SetLabelOffset(0.010);
yAxis->SetLabelSize(0.055);
yAxis->SetLabelFont(42);
yAxis->SetTickLength(0.040);
yAxis->SetNdivisions(505);
double massPoint_double = 0.;
if ( massPoint == 90 ) massPoint_double = 91.2;
else massPoint_double = massPoint;
double dLog = (TMath::Log(5.*massPoint_double) - TMath::Log(50.))/25.; // xMin = 50, xMax = 5*massPoint, numBins = 25
double binWidth = TMath::Exp(TMath::Log(massPoint_double) + 0.5*dLog) - TMath::Exp(TMath::Log(massPoint_double) - 0.5*dLog);
double sf_binWidth = 1./binWidth;
std::cout << "massPoint = " << massPoint << ": sf_binWidth = " << sf_binWidth << std::endl;
histogramCA->SetTitle("");
histogramCA->SetStats(false);
histogramCA->SetMaximum(sf_binWidth*0.79);
histogramCA->SetMinimum(sf_binWidth*1.1e-4);
示例5: plot3
//.........这里部分代码省略.........
if( (sphmin < fitsph) && (fitsph<sphmax) ) {
MMII(C1,C2,fitx,fitsph,fitcph,MZ,MW);
if(MZ < Mmin) { Mmin = MZ; cout << MZ << "\t" << sqrt(fitsph) << endl;}
}
}
}
}
// CREATE PLOTS /////////////////////////////////////////////////////////
NPplot->SetLineStyle(2);
NPplot->SetMarkerStyle(20);
NPplot->SetMarkerSize(0.4);
SMplot->SetMarkerStyle(20);
SMplot->SetMarkerSize(0.4);
if(strpltmd.compare("cos") == 0) {yMin = 0.0; yMax = 1.0;}
if(strpltmd.compare("sin") == 0) {yMin = 0.0; yMax = 1.0;}
if(strpltmd.compare("mmp") == 0) {xMin = 0.0; xMax = 5.0; yMin = 0.0; yMax = 5;}
TH1F* frame = MyC->DrawFrame(0.9*xMin,0.9*yMin,1.1*xMax,1.0*yMax);
frame->SetTitle(plottitle.c_str());
TAxis *xaxis = frame->GetXaxis();
TAxis *yaxis = frame->GetYaxis();
xaxis->SetTitle(xtitle.c_str());
xaxis->CenterTitle();
xaxis->SetTitleOffset(1.);
xaxis->SetDecimals();
xaxis->SetLabelSize(0.03);
xaxis->SetLabelOffset(0.01);
yaxis->SetTitle(ytitle.c_str());
yaxis->CenterTitle();
yaxis->SetTitleOffset(1.2);
yaxis->SetDecimals();
yaxis->SetLabelSize(0.03);
yaxis->SetLabelOffset(0.01);
TLegend *mmleg = new TLegend(mmlegxmin,mmlegymin,mmlegxmax,mmlegymax);
mmleg->AddEntry(NPplot,NPleg.c_str(),"l");
mmleg->AddEntry(SMplot,SMleg.c_str(),"l");
mmleg->SetTextSize(0.025);
mmleg->SetFillStyle(0);
if( (strfile.compare("uu-d") != 0) && (strfile.compare("nu-d") != 0) ) {
for(tphStep=0; tphStep<tphSteps; tphStep++){NPmrk[tphStep]->Draw(); SMmrk[tphStep]->Draw();}
}
Float_t xdummy[1] = {0.0}, ydummy[1] = {0.0};
TGraph *circle = new TGraph(1,xdummy,ydummy);
circle->SetMarkerStyle(24);
circle->SetMarkerColor(kGreen+1);
circle->SetMarkerSize(0.8);
TGraph *square = new TGraph(1,xdummy,ydummy);
square->SetMarkerStyle(25);
square->SetMarkerColor(kCyan+1);
square->SetMarkerSize(0.8);
TGraph *triangle = new TGraph(1,xdummy,ydummy);
示例6: drawFigure7
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// drawFigure7
//
// parameter = "dg0"
// parameter = "lam0"
// parameter = "dk0"
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void drawFigure7(TString parameter = "dk0")
{
gInterpreter->ExecuteMacro("WZPaperStyle.C");
gSystem->mkdir("pdf", kTRUE);
gSystem->mkdir("png", kTRUE);
// Individual settings
//----------------------------------------------------------------------------
if (parameter.Contains("dg0"))
{
xtitle = "#Delta#kappa^{Z}";
ytitle = "#lambda";
xmin = -0.5;
xmax = 0.5;
ymin = -0.039;
ymax = 0.053;
}
else if (parameter.Contains("lam0"))
{
xtitle = "#Delta#kappa^{Z}";
ytitle = "#Deltag^{Z}_{1}";
xmin = -0.53;
xmax = 0.53;
ymin = -0.05;
ymax = 0.09;
}
else if (parameter.Contains("dk0"))
{
xtitle = "#Deltag^{Z}_{1}";
ytitle = "#lambda";
xmin = -0.059;
xmax = 0.059;
ymin = -0.037;
ymax = 0.052;
}
// Read the input file
//----------------------------------------------------------------------------
TFile* file = new TFile("rootfiles/contours_" + parameter + "_2Dpol2.root", "read");
TGraph* cont_exp_68 = (TGraph*)file->Get("cont_exp_68");
TGraph* cont_exp_95 = (TGraph*)file->Get("cont_exp_95");
TGraph* cont_exp_99 = (TGraph*)file->Get("cont_exp_99");
TGraph* cont_obs_95 = (TGraph*)file->Get("cont_obs_95");
TGraph* bestFit = (TGraph*)file->Get("bestFit");
bestFit->SetMarkerSize(1.5);
bestFit->SetMarkerStyle(34);
TGraph* g_large = new TGraph(2);
g_large->SetPoint(0, -1.0, 1.0);
g_large->SetPoint(1, 1.0, 1.0);
// Draw
//----------------------------------------------------------------------------
TCanvas* canvas = new TCanvas("canvas", "canvas");
TMultiGraph* mg = new TMultiGraph();
mg->Add(cont_exp_68);
mg->Add(cont_exp_95);
mg->Add(cont_exp_99);
mg->Add(cont_obs_95);
mg->Add(bestFit, "p");
mg->Add(g_large);
mg->Draw("ac");
mg->SetMinimum(ymin);
mg->SetMaximum(ymax);
// Axis labels
//----------------------------------------------------------------------------
TAxis* xaxis = mg->GetXaxis();
TAxis* yaxis = mg->GetYaxis();
xaxis->SetLabelFont ( 42);
xaxis->SetLabelOffset( 0.01);
xaxis->SetLabelSize ( 0.05);
xaxis->SetNdivisions ( 505);
xaxis->SetTitle (xtitle);
xaxis->SetTitleFont ( 42);
xaxis->SetTitleOffset( 1.2);
xaxis->SetTitleSize ( 0.05);
//.........这里部分代码省略.........
示例7: ratio
/*
* Main Function
*/
void ratio() {
gStyle->SetFrameLineWidth(1);
//Number of Measurements
const int NUM = 2;
//Measurements and uncertainties
// mean, -stat, +stat, -syst, +syst
double m[NUM][5] = {
0.98, 0.10, 0.10, 0.14, 0.14,
//1.33, 0.32, 0.32, 0.22, 0.22
1.26, 0.37, 0.37, 0.46, 0.46
};
//Theory and uncertainties
// mean, -uncert, +uncert
double t[NUM][3] = {
1.0, 0.114, 0.114,
1.0, 0.111, 0.111
};
// label text, sub-label text
// Note: TString does not work, b/c one cannot pass an array of TStrings
// as an argument to a function
char label[NUM][2][100] = {
"Z#gamma#gamma", "",
//"W#gamma#gamma", ""
"W#gamma#gamma (#mu)", ""
};
// format:
// # color, bgColor, fontSytle, linewidth, markerStyle
int aux[NUM][5] = {
1, 10, 42, 2, 20,
1, 10, 42, 2, 20
};
// determning the x size of the plot
double lowX = LOW_X;
double uppX = UPP_X;
TH2F* lft = new TH2F("lft", "", 50, lowX, uppX, 1, 0.0, 1.0);
// height = NUM*unitHeight + 2*spacers + 1*bottomMargin + 0.5*topMargin
const double unitHeight = 50.0; // even number
const double height = (double(NUM)+2.0)*unitHeight+100.0+30.0;
// how much to step each time to cover the vertical range of the histo in
// exactly NUM+2 steps
const double vstep = unitHeight/(height-100.0-30.0);
const double width = 800.0;
printf("Canvas: width=%d, height=%d\n",
TMath::Nint(width), TMath::Nint(height));
printf("Y-step = %6.4f\n", vstep);
// Set canvas and margins
TCanvas* canvas = new TCanvas("canvas", "canvas", 200, 0,
TMath::Nint(width), TMath::Nint(height));
canvas->SetFillColor(10);
canvas->SetRightMargin(20.0/width);
canvas->SetLeftMargin(20.0/width);
canvas->SetBottomMargin(56.0/height);
canvas->SetTopMargin(30.0/height);
canvas->Draw();
canvas->cd();
//printf("TopMargin : %6.4f\n", canvas->GetTopMargin());
//printf("BottomMargin: %6.4f\n", canvas->GetBottomMargin());
TAxis* xaxis = lft->GetXaxis();
TAxis* yaxis = lft->GetYaxis();
xaxis->CenterTitle(kTRUE);
xaxis->SetTitleSize(0.07);
xaxis->SetTitleFont(62);
xaxis->SetTitleOffset(1.1);
xaxis->SetNdivisions(6,5,0);
xaxis->SetLabelOffset(0.01);
xaxis->SetLabelSize(0.05);
xaxis->SetLabelFont(42);
yaxis->SetLabelSize(0.0);
yaxis->SetNdivisions(-1);
lft->SetXTitle("Cross Section Ratio #sigma_{Exp} / #sigma_{Theory}");
lft->SetYTitle("");
lft->SetStats(kFALSE);
lft->SetTitle("");
lft->Draw();
// Draw Theory Bands
for (int i=0; i!=NUM; ++i) {
drawTheory(i, t[i][0], t[i][1], t[i][2], vstep);
//.........这里部分代码省略.........
示例8: draw
//.........这里部分代码省略.........
} // readLine
int n = lineNum;
inFile.close();
// for (int i=0; i<n; i++){
// cout << i << " " << x[0][i] << " " << x[3][i] << " "
// << x[4][i] << endl;
// }
TGraph* tg1 = new TGraph(n, x[0], x[1]);
TGraph* tg2 = new TGraph(n, x[0], x[2]);
TGraph* tg3 = new TGraph(n, x[0], x[3]);
TGraph* tg4 = new TGraph(n, x[0], x[4]);
TGraph* tg5 = new TGraph(n, x[0], x[5]);
TGraph* tg6 = new TGraph(n, x[0], x[6]);
TGraph* tg7 = new TGraph(n, x[0], x[7]);
TGraph* tg8 = new TGraph(n, x[0], x[8]);
TGraph* tg9 = new TGraph(n, x[0], x[9]);
TGraph* tg10 = new TGraph(n, x[0], x[10]);
TGraph* tg11 = new TGraph(n, x[0], x[11]);
TGraph* tg12 = new TGraph(n, x[0], x[12]);
TGraph* tg13 = new TGraph(n, x[0], x[13]);
TGraph* tg14 = new TGraph(n, x[0], x[14]);
TGraph* tg15 = new TGraph(n, x[0], x[15]);
TAxis* xa = axhist->GetXaxis();
TAxis* ya = axhist->GetYaxis();
xa->SetTitleOffset(1.2); // factor multiplies default offset
ya->SetTitleOffset(1.1);
xa->SetLabelOffset(0.005);
ya->SetLabelOffset(0.005);
xa->SetTickLength(0.015); // default = 0.03
ya->SetTickLength(0.015); // default = 0.03
xa->SetTitleSize(0.05);
ya->SetTitleSize(0.05);
// gPad->SetLogx(1);
// xa->SetLimits(90., 700.);
xa->SetNdivisions(-5); // negative value should force number of divisions?
ya->SetNdivisions(-4);
xa->SetLabelSize(0.05);
ya->SetLabelSize(0.05);
// Draw axes and then add stuff
// kDot=1, kPlus, kStar, kCircle=4, kMultiply=5,
// kFullDotSmall=6, kFullDotMedium=7, kFullDotLarge=8,
// kFullCircle=20, kFullSquare=21, kFullTriangleUp=22,
// kFullTriangleDown=23, kOpenCircle=24, kOpenSquare=25,
// kOpenTriangleUp=26, kOpenDiamond=27, kOpenCross=28,
// kFullStar=29, kOpenStar=30
axhist->Draw();
tg1->SetLineColor(kRed);
tg1->SetLineWidth(2);
tg1->SetLineStyle(2);
tg1->SetMarkerColor(kRed);
示例9: makePlot
//.........这里部分代码省略.........
int fillStyles[4] = { 0, 3002, 3004, 3005 };
histogramDYJets->SetFillColor(fillColors[0]);
histogramDYJets->SetFillStyle(fillStyles[0]);
histogramDYJets->SetLineColor(lineColors[0]);
histogramDYJets->SetLineStyle(lineStyles[0]);
histogramDYJets->SetLineWidth(lineWidths[0]);
histogramHiggs125->SetFillColor(fillColors[1]);
histogramHiggs125->SetFillStyle(fillStyles[1]);
histogramHiggs125->SetLineColor(lineColors[1]);
histogramHiggs125->SetLineStyle(lineStyles[1]);
histogramHiggs125->SetLineWidth(lineWidths[1]);
histogramHiggs200->SetFillColor(fillColors[2]);
histogramHiggs200->SetFillStyle(fillStyles[2]);
histogramHiggs200->SetLineColor(lineColors[2]);
histogramHiggs200->SetLineStyle(lineStyles[2]);
histogramHiggs200->SetLineWidth(lineWidths[2]);
histogramHiggs300->SetFillColor(fillColors[3]);
histogramHiggs300->SetFillStyle(fillStyles[3]);
histogramHiggs300->SetLineColor(lineColors[3]);
histogramHiggs300->SetLineStyle(lineStyles[3]);
histogramHiggs300->SetLineWidth(lineWidths[3]);
TAxis* xAxis = histogramHiggs300->GetXaxis();
if ( histogram == "mVis" ) xAxis->SetRangeUser(0,350);
else xAxis->SetRangeUser(0,450);
xAxis->SetTitle(xAxisTitle.data());
xAxis->SetTitleOffset(1.00);
xAxis->SetTitleSize(0.070);
xAxis->SetTitleFont(42);
xAxis->SetLabelOffset(0.010);
xAxis->SetLabelSize(0.050);
xAxis->SetLabelFont(42);
xAxis->SetTickLength(0.040);
xAxis->SetNdivisions(505);
//double xMin = 20.;
//double xMax = xAxis->GetXmax();
//xAxis->SetRangeUser(xMin, xMax);
TAxis* yAxis = histogramHiggs300->GetYaxis();
yAxis->SetTitle(yAxisTitle.data());
yAxis->SetTitleOffset(1.20);
yAxis->SetTitleSize(0.070);
yAxis->SetTitleFont(42);
yAxis->SetLabelOffset(0.010);
yAxis->SetLabelSize(0.055);
yAxis->SetLabelFont(42);
yAxis->SetTickLength(0.040);
yAxis->SetNdivisions(505);
histogramHiggs300->SetTitle("");
histogramHiggs300->SetStats(false);
histogramHiggs300->SetMaximum(1.2*histogramDYJets->GetMaximum());
histogramHiggs300->SetMinimum(0.);
histogramHiggs300->Draw("hist");
histogramHiggs200->Draw("histsame");
histogramHiggs125->Draw("histsame");
histogramDYJets->Draw("histsame");
histogramHiggs300->Draw("axissame");
TLegend* legend_new = new TLegend(0.50, 0.62, 0.87, 0.92, NULL, "brNDC");
legend_new->SetFillColor(10);
示例10: DrawZPeak
//.........这里部分代码省略.........
allmc->SetFillStyle (3345);
allmc->SetLineColor (kWhite);
allmc->SetLineWidth (0);
allmc->SetMarkerColor(kOrange-2);
allmc->SetMarkerSize (0);
THStack* hs = new THStack();
if (energy.Contains("8TeV"))
{
WV->SetFillColor(kRed+1); // kAzure
WV->SetLineColor(kRed+1); // kAzure
VVV->SetFillColor(kRed+1); // kBlack
VVV->SetLineColor(kRed+1); // kBlack
hs->Add(VVV);
hs->Add(WV);
}
hs->Add(Zgamma);
hs->Add(ZZ);
hs->Add(fakes);
hs->Add(WZ);
// Draw
//----------------------------------------------------------------------------
TCanvas* canvas = new TCanvas(energy, energy);
data->Draw("ep");
// Axis labels
//----------------------------------------------------------------------------
TAxis* xaxis = data->GetXaxis();
TAxis* yaxis = data->GetYaxis();
xaxis->SetLabelFont ( 42);
xaxis->SetLabelOffset(0.01);
xaxis->SetLabelSize (0.05);
xaxis->SetNdivisions ( 505);
xaxis->SetTitleFont ( 42);
xaxis->SetTitleOffset( 1.3);
xaxis->SetTitleSize (0.05);
yaxis->SetLabelFont ( 42);
yaxis->SetLabelOffset(0.01);
yaxis->SetLabelSize (0.05);
yaxis->SetNdivisions ( 505);
yaxis->SetTitleFont ( 42);
yaxis->SetTitleOffset( 1.6);
yaxis->SetTitleSize (0.05);
xaxis->SetRangeUser(68, 112);
xaxis->SetTitle("m_{#font[12]{ll}} (GeV)");
yaxis->SetTitle(Form("Events / %.0f GeV", data->GetBinWidth(0)));
// Adjust scale
//----------------------------------------------------------------------------
Float_t theMax = GetMaximumIncludingErrors(data);
Float_t theMaxMC = GetMaximumIncludingErrors(allmc);
if (theMaxMC > theMax) theMax = theMaxMC;
data->SetMaximum(1.15 * theMax);
// Legend
//----------------------------------------------------------------------------
Double_t x0 = 0.635;
Double_t y0 = 0.770;
DrawTLegend(x0, y0 + 2.*(_yoffset+0.001), data, " Data", "ep");
DrawTLegend(x0, y0 + 1.*(_yoffset+0.001), WZ, " WZ", "f");
DrawTLegend(x0, y0, fakes, " Non-prompt leptons", "f");
DrawTLegend(x0, y0 - 1.*(_yoffset+0.001), ZZ, " MC background", "f");
DrawTLegend(x0, y0 - 2.*(_yoffset+0.001), allmc, " stat. #oplus syst.", "f");
// Finish it
//----------------------------------------------------------------------------
data->SetTitle("");
DrawTLatex(_cmsTextFont, 0.215, 0.880, 0.055, 13, "CMS");
// DrawTLatex(_extraTextFont, 0.215, 0.826, 0.030, 13, "Preliminary");
DrawTLatex(_lumiTextFont, 0.940, 0.940, 0.040, 31, _lumiText);
hs ->Draw("hist,same");
allmc->Draw("e2,same");
data ->Draw("ep,same");
canvas->GetFrame()->DrawClone();
canvas->RedrawAxis();
canvas->Update();
canvas->SaveAs("pdf/" + name + energy + ".pdf");
canvas->SaveAs("png/" + name + energy + ".png");
}
示例11: main
//.........这里部分代码省略.........
TObjArray *branches = events->GetListOfBranches();
if (branches == 0) {
cerr << programName << ": tree \"Events\" in file " << fileName << " contains no branches" << endl;
return 7004;
}
bool verbose = vm.count(kVerboseOpt) > 0;
BranchVector v;
const size_t n = branches->GetEntries();
cout << fileName << " has " << n << " branches" << endl;
for (size_t i = 0; i < n; ++i) {
TBranch *b = dynamic_cast<TBranch *>(branches->At(i));
assert(b != 0);
string name(b->GetName());
if (name == "EventAux")
continue;
size_type s = GetTotalSize(b, verbose);
v.push_back(make_pair(b->GetName(), s));
}
if (vm.count(kAlphabeticOrderOpt)) {
sort(v.begin(), v.end(), sortByName());
} else {
sort(v.begin(), v.end(), sortByCompressedSize());
}
bool plot = (vm.count(kPlotOpt) > 0);
bool save = (vm.count(kSavePlotOpt) > 0);
int top = n;
if (vm.count(kPlotTopOpt) > 0)
top = vm[kPlotTopOpt].as<int>();
TH1F uncompressed("uncompressed", "branch sizes", top, -0.5, -0.5 + top);
TH1F compressed("compressed", "branch sizes", top, -0.5, -0.5 + top);
int x = 0;
TAxis *cxAxis = compressed.GetXaxis();
TAxis *uxAxis = uncompressed.GetXaxis();
for (BranchVector::const_iterator b = v.begin(); b != v.end(); ++b) {
const string &name = b->first;
size_type size = b->second;
cout << size << " " << name << endl;
if (x < top) {
cxAxis->SetBinLabel(x + 1, name.c_str());
uxAxis->SetBinLabel(x + 1, name.c_str());
compressed.Fill(x, size.second);
uncompressed.Fill(x, size.first);
x++;
}
}
// size_type branchSize = GetTotalBranchSize( events );
// cout << "total branches size: " << branchSize.first << " bytes (uncompressed), "
// << branchSize.second << " bytes (compressed)"<< endl;
size_type totalSize = GetTotalSize(events);
cout << "total tree size: " << totalSize.first << " bytes (uncompressed), " << totalSize.second
<< " bytes (compressed)" << endl;
double mn = DBL_MAX;
for (int i = 1; i <= top; ++i) {
double cm = compressed.GetMinimum(i), um = uncompressed.GetMinimum(i);
if (cm > 0 && cm < mn)
mn = cm;
if (um > 0 && um < mn)
mn = um;
}
mn *= 0.8;
double mx = max(compressed.GetMaximum(), uncompressed.GetMaximum());
mx *= 1.2;
uncompressed.SetMinimum(mn);
uncompressed.SetMaximum(mx);
compressed.SetMinimum(mn);
// compressed.SetMaximum( mx );
cxAxis->SetLabelOffset(-0.32);
cxAxis->LabelsOption("v");
cxAxis->SetLabelSize(0.03);
uxAxis->SetLabelOffset(-0.32);
uxAxis->LabelsOption("v");
uxAxis->SetLabelSize(0.03);
compressed.GetYaxis()->SetTitle("Bytes");
compressed.SetFillColor(kBlue);
compressed.SetLineWidth(2);
uncompressed.GetYaxis()->SetTitle("Bytes");
uncompressed.SetFillColor(kRed);
uncompressed.SetLineWidth(2);
if (plot) {
string plotName = vm[kPlotOpt].as<string>();
gROOT->SetStyle("Plain");
gStyle->SetOptStat(kFALSE);
gStyle->SetOptLogy();
TCanvas c;
uncompressed.Draw();
compressed.Draw("same");
c.SaveAs(plotName.c_str());
}
if (save) {
string fileName = vm[kSavePlotOpt].as<string>();
TFile f(fileName.c_str(), "RECREATE");
compressed.Write();
uncompressed.Write();
f.Close();
}
return 0;
}
示例12: plotFit
//.........这里部分代码省略.........
fitxArray[tphStep] = fitx;
if (fitx < fitxMin) fitxMin = fitx;
if (fitx > fitxMax) fitxMax = fitx;
tphStep++;
TMarker *m = new TMarker(fitxArray[tphStep],tphArray[tphStep],20);
m->SetMarkerSize(2);
m->SetMarkerColor(31+tphStep);
m->Draw();
}
}
if (s2bStep == 0) {
TH1F* frame = MyC->DrawFrame(0.0,0.0,1.1*fitxMax,1.1);
// TH1F* frame = MyC->DrawFrame(0.7*fitxMin,0.7*tphMin,1.1*fitxMax,1.1*tphMax);
TAxis *xaxis = frame->GetXaxis();
TAxis *yaxis = frame->GetYaxis();
xaxis->SetTitle("x = u^{2}/v^{2}");
xaxis->CenterTitle();
xaxis->SetTitleOffset(1.);
xaxis->SetDecimals();
xaxis->SetLabelSize(0.03);
xaxis->SetLabelOffset(0.01);
yaxis->SetTitle("tan^{2}(#phi)");
yaxis->CenterTitle();
yaxis->SetTitleOffset(1.);
yaxis->SetDecimals();
yaxis->SetLabelSize(0.03);
yaxis->SetLabelOffset(0.01);
frame->SetTitle(plottitle.c_str());
}
tphplots[s2bStep] = new TGraph(tphSteps,fitxArray,tphArray);
tphplots[s2bStep]->SetMarkerStyle(20);
tphplots[s2bStep]->SetMarkerSize(0.4);
tphplots[s2bStep]->Draw("CP");
}
}
else if (strpltmd.compare("s2b") == 0) {
s2bMax = -1.0;
TGraph *s2bplots[tphSteps-100];
for(tphStep=0; tphStep<tphSteps-100; tphStep++) {
Float_t s2bArray[s2bSteps], fitxArray[s2bSteps];
示例13: drawFigure6
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// drawFigure6
//
// logy = 0
// logy = 1
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void drawFigure6(Int_t logy = 0)
{
gInterpreter->ExecuteMacro("WZPaperStyle.C");
gSystem->mkdir("pdf", kTRUE);
gSystem->mkdir("png", kTRUE);
// Read the input file
//----------------------------------------------------------------------------
TString name = "WZ_PtZ_plot_allCh_largeATGC";
TFile* file = new TFile("rootfiles/" + name + ".root", "read");
TCanvas* c1 = (TCanvas*)file->Get("c1_allCh");
TH1F* data = (TH1F*)c1->FindObject("histo_data_3e");
TH1F* aTGC_dk = (TH1F*)c1->FindObject("histo_aTGC_dk_3e");
TH1F* aTGC_lam = (TH1F*)c1->FindObject("histo_aTGC_lam_3e");
TH1F* aTGC_dg = (TH1F*)c1->FindObject("histo_aTGC_dg_3e");
TH1F* WZ = (TH1F*)c1->FindObject("histo_SM_3e");
TH1F* fakes = (TH1F*)c1->FindObject("fake_0");
TH1F* ZZ = (TH1F*)c1->FindObject("total_bkg_rebined_ZZ_0");
TH1F* Zgamma = (TH1F*)c1->FindObject("total_bkg_rebined_Zgamma_0");
TH1F* WV = (TH1F*)c1->FindObject("total_bkg_rebined_WV_0");
TH1F* VVV = (TH1F*)c1->FindObject("total_bkg_rebined_VVV_0");
WZ->SetFillColor(kOrange-2);
WZ->SetLineColor(kOrange-2);
Zgamma->SetFillColor(kRed+1);
Zgamma->SetLineColor(kRed+1);
ZZ->SetFillColor(kRed+1);
ZZ->SetLineColor(kRed+1);
fakes->SetFillColor(kGray+1);
fakes->SetLineColor(kGray+1);
WV->SetFillColor(kRed+1);
WV->SetLineColor(kRed+1);
VVV->SetFillColor(kRed+1);
VVV->SetLineColor(kRed+1);
// Draw
//----------------------------------------------------------------------------
TCanvas* canvas = new TCanvas("canvas", "canvas");
canvas->SetLogy(logy);
data->Draw("ep");
// Axis labels
//----------------------------------------------------------------------------
TAxis* xaxis = data->GetXaxis();
TAxis* yaxis = data->GetYaxis();
xaxis->SetLabelFont ( 42);
xaxis->SetLabelOffset(0.01);
xaxis->SetLabelSize (0.05);
xaxis->SetNdivisions ( 505);
xaxis->SetTitleFont ( 42);
xaxis->SetTitleOffset( 1.2);
xaxis->SetTitleSize (0.05);
yaxis->SetLabelFont ( 42);
yaxis->SetLabelOffset(0.01);
yaxis->SetLabelSize (0.05);
yaxis->SetNdivisions ( 505);
yaxis->SetTitleFont ( 42);
yaxis->SetTitleOffset( 1.6);
yaxis->SetTitleSize (0.05);
xaxis->SetTitle("p_{T}^{Z} (GeV)");
yaxis->SetTitle(Form("Events / %.0f GeV", data->GetBinWidth(0)));
// Adjust scale
//----------------------------------------------------------------------------
Float_t theMax = GetMaximumIncludingErrors(data);
Float_t theMaxMC = GetMaximumIncludingErrors(aTGC_dk);
if (theMaxMC > theMax) theMax = theMaxMC;
if (canvas->GetLogy()) {
data->SetMaximum(15 * theMax);
data->SetMinimum(1);
} else {
data->SetMaximum(1.2 * theMax);
//.........这里部分代码省略.........
示例14: finalSpectra
//.........这里部分代码省略.........
c1->cd(); gPad->SetLogy();
int centralMarker=29;
int minbiasMarker=8;
int peripheralMarker=22;
int hMinusMarker=21;
int ua1Marker=4;
// central
//
gCentral=removeXErrors(gCentralX);
gCentral->SetMinimum(yMin); gCentral->SetMaximum(yMax);
gCentral->SetMarkerStyle(centralMarker);
gCentral->SetMarkerSize(markerSize+.2);
gCentral->Draw("ap");
strcpy(txt,"1/p_{T} d^{2}N^{(h^{-}+h^{+})/2}/dp_{T}d#eta #cbar_{|#eta|<0.5}(GeV/c)^{-2}");
// yaxis
axis=gCentral->GetYaxis();
axis->SetTitle(txt);
axis->SetTitleSize(titleSize);
axis->SetTitleOffset(yTitleOffset);
axis->SetLabelSize(labelSize);
// xaxis
axis=gCentral->GetXaxis();
axis->SetTitle("p_{T} (GeV/c)");
axis->SetTitleSize(titleSize);
axis->SetTitleOffset(xTitleOffset);
axis->SetLabelOffset(0.003);
axis->SetLabelSize(labelSize);
axis->SetLimits(xMin,xMax);
// low pt central
gCentralLowPt->SetMarkerStyle(centralMarker);
gCentralLowPt->SetMarkerSize(markerSize);
gCentralLowPt->Draw("p");
// draw bin widths
// drawAxisBins(gCentralX,tickSize,yMax);
// TLine* line=new TLine;
// line->DrawLineNDC((2/6)*(1./.8)+.1,.8,2/6*(1./.8)+.1 ,.9);
// minbias
//
// remove x errors
gMinbias=removeXErrors(gMinbiasX);
gMinbias->SetMarkerStyle(minbiasMarker);
gMinbias->SetMarkerSize(markerSize);
gMinbias->Draw("p");
gMinbiasLowPt->SetMarkerStyle(minbiasMarker);
gMinbiasLowPt->SetMarkerSize(markerSize);
gMinbiasLowPt->Draw("p");
// peripheral
//
// remove x errors