本文整理汇总了C++中TPad::Modified方法的典型用法代码示例。如果您正苦于以下问题:C++ TPad::Modified方法的具体用法?C++ TPad::Modified怎么用?C++ TPad::Modified使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPad
的用法示例。
在下文中一共展示了TPad::Modified方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ProcEvent
void ProcEvent(Int_t event, Int_t px, Int_t py, TObject *sel)
{
// print event type and current cursor position
TCanvas *c = (TCanvas *) gTQSender;
TPad *pad = (TPad *) c->GetSelectedPad();
if(!pad) return;
gROOT->SetEditHistograms(kFALSE);
//printf("event=%d, px=%d, py=%d\n", event, px, py);
//Float_t x = pad->AbsPixeltoX(px);
//Float_t y = pad->AbsPixeltoY(py);
//x = pad->PadtoX(x);
//y = pad->PadtoY(y);
//printf("x=%.3g, y=%.3g\n",x,y);
if(event==kButton1Double){
pad->Pop();
//printf("%s %d\n",pad->GetName(),pad->GetNumber());
pad->cd();
TCanvas *c_blow;
TIter next(pad->GetListOfPrimitives());
if((TCanvas*)gROOT->GetListOfCanvases()->FindObject("c_blow")){
c_blow=(TCanvas*)gROOT->GetListOfCanvases()->FindObject("c_blow");
c_blow->Clear();
//printf("show %d\n",c_blow->GetUniqueID());
//c_blow->GetCanvasImp()->Show();
//c_blow->RaiseWindow();
//c_blow->GetCanvasImp()->RaiseWindow();
//c_blow->Flush();
//gVirtualX->RaiseWindow(c_blow->GetUniqueID());
//c_blow->Show();
}
else{
// c_blow = new TCanvas("c_blow","blowup",750,0,743,525);
c_blow = new TCanvas("c_blow","blowup",100,50,600,600);
c_blow->SetFillColor(10); //white
//c_blow->ToggleEventStatus();
//c_blow->SetCrosshair();
c_blow->Draw();
}
c_blow->cd();
gROOT->SetSelectedPad((TPad*)c_blow);
TPad *clone =(TPad*)pad->Clone();
clone->SetPad(0,0,1,1);
clone->Draw();
clone->Modified();
clone->Update();
c_blow->Show();
}
}
示例2: plotVsDeltaEta_nice
//.........这里部分代码省略.........
continue;
TGraphErrors *g = etaGraphs[idxCent][idxDataSet][idxMoment];
if (idxCent == 0)
ShiftGraphX(g, -0.015);
else if (idxCent == 1)
ShiftGraphX(g, -0.005);
else if (idxCent == 4)
ShiftGraphX(g, 0.005);
else if (idxCent == 8)
ShiftGraphX(g, 0.015);
ConfigGraph(g, idxMoment, idxCent);
if (idxCent == 0) {
g->Draw("AP");
if (idxMoment == 5) {
// TLine *line0 = new TLine(aMinX, 0, aMaxX, 0);
// line0->SetLineColor(kGray+1);
// line0->SetLineStyle(2);
// line0->SetLineWidth(2);
// line0->Draw();
}
else if (idxMoment == 6) {
TLine *line1 = new TLine(aMinX, 1, aMaxX, 1);
line1->SetLineColor(kGray+1);
line1->SetLineStyle(2);
line1->SetLineWidth(2);
line1->Draw();
legRat[idxDataSet]->AddEntry(line1, "Poisson", "l");
}
}
g->Draw("PSAME");
if (idxMoment == 4)
legRat[idxDataSet]->AddEntry(etaGraphs[idxCent][idxDataSet][4], Form("%s", cent1[idxCent]), "pl");
} // for (int idxCent = 0; idxCent < 9; idxCent++) {
} // for (int idxMoment = 0 ; idxMoment < nMoments; ++idxMoment) {
pad->cd(2);
TLatex *texb_3 = new TLatex(0.05, 0.55, "Au+Au collisions #sqrt{#it{s}_{NN}} = 14.5 GeV");
texb_3->SetTextSize(0.07);
texb_3->Draw("same");
TLatex *texb_3a = new TLatex(0.05, 0.49, "Net-Charge, 0.2 < #it{p}_{T} (GeV/#it{c}) < 2.0, 0-5%");
texb_3a->SetTextSize(0.07);
texb_3a->Draw("same");
TLatex *texb_3b = new TLatex(0.05,0.44, "statistical errors only");
texb_3b->SetTextSize(0.06);
texb_3b->Draw("same");
pad->cd(1);
TLatex *texb_4 = new TLatex(0.7, 19, "STAR Preliminary");
texb_4->SetTextSize(0.07);
texb_4->Draw("same");
pad->cd(3);
legRat[idxDataSet]->Draw();
pad->Modified();
} // for (int idxDataSet = 0 ; idxDataSet < nDataSets; ++idxDataSet) {
// -----------------------------------------------------
SaveCanvas(name);
// -----------------------------------------------------
TFile *fOut = TFile::Open("STAR_QM2015_Preliminary.root", "UPDATE");
fOut->cd();
TList* list = new TList;
for (int idxMoment = 4; idxMoment < nMoments; ++idxMoment) {
for (int idxCent = 0; idxCent < nCent; ++idxCent) {
if (idxCent > 1)
continue;
if (idxCent == 0)
ShiftGraphX(etaGraphs[idxCent][0][idxMoment], 0.015);
else if (idxCent == 1)
ShiftGraphX(etaGraphs[idxCent][0][idxMoment], 0.005);
else if (idxCent == 4)
ShiftGraphX(etaGraphs[idxCent][0][idxMoment], -0.005);
else if (idxCent == 8)
ShiftGraphX(etaGraphs[idxCent][0][idxMoment], -0.015);
etaGraphs[idxCent][0][idxMoment]->SetName(Form("Net-Charge_%s_DeltaEta_14.5GeV_%s_stat", aMoments[idxMoment], cent[idxCent]));
list->Add(etaGraphs[idxCent][0][idxMoment]);
}
}
list->Write("Net-Charge_VsDeltaEta", TObject::kSingleKey);
fOut->Close();
}
示例3: TCanvas
//################################################################################################################################
TCanvas *drawRatioPlotWithPurity(TH1D *prediction, TH1D *sr, TString xTitle, TString filename, double purity, bool LowECaloRegion){
TCanvas *c = new TCanvas("c"+filename,"c",0,0,500,500);
c->cd();
float y = 0.3;
TPad *pad1 = new TPad("pad1", "Control Plots 1", 0.01, y, 0.99, 0.99);
TPad *padRatio = new TPad("rp1", "Ratio1", 0.01, 0.01, 0.99, y-0.01);
TH1D *ratio = 0;
ratio = (TH1D*) sr->Clone();
ratio->Divide(prediction);
ratio->GetYaxis()->SetTitle((TString) sr->GetName() + "/" + (TString) prediction->GetName());
ratio->SetTitle("");
ratio->SetLabelSize(0.1,"X");
ratio->SetLabelSize(0.1,"Y");
ratio->SetTitleOffset(0.5,"Y");
ratio->SetTitleSize(0.11,"Y");
ratio->SetLineColor(kBlack);
ratio->SetMarkerColor(kBlack);
padRatio->cd();
ratio->GetYaxis()->SetRangeUser(0,2);
ratio->Draw();
// Draw line at one!
float xmin = ratio->GetXaxis()->GetXmin();
float xmax = ratio->GetXaxis()->GetXmax();
TLine *line = new TLine(xmin,1,xmax,1);
line->SetLineWidth(2);
line->Draw("same");
padRatio->Modified();
TLegend *leg = new TLegend(0.5,0.8,0.85,0.9);
leg->AddEntry(sr,sr->GetName(),"l");
leg->AddEntry(prediction,prediction->GetName(),"pel");
pad1->cd();
//pad1->SetLogy();
sr->SetLineColor(kRed);
sr->SetMarkerColor(kRed);
prediction->SetLineColor(kBlack);
prediction->SetMarkerColor(kBlack);
sr->SetTitle("");
prediction->SetTitle("");
prediction->GetXaxis()->SetTitle(xTitle);
sr->GetXaxis()->SetTitle(xTitle);
prediction->SetTitleSize(0.07,"X");
prediction->GetXaxis()->SetTitleOffset(0.7);
sr->SetTitleSize(0.07,"X");
sr->GetXaxis()->SetTitleOffset(0.7);
prediction->Draw("e");
sr->Draw("e same");
double maximum =prediction->GetMaximum()*1.2;
double minimum = 0.00001;
if(sr->GetMinimum()!=0) minimum=sr->GetMinimum()*0.9;
if(prediction->GetMinimum()!=0) minimum=prediction->GetMinimum()*0.9;
if(sr->GetMaximum()>prediction->GetMaximum()){
maximum=sr->GetMaximum()*1.2;
}
//leg->Draw("same");
//***********************
TLatex* info = new TLatex();
info->SetTextFont(132);
info-> SetNDC();
info->SetTextSize(0.06);
TString AuxString = Form("Purity of fakes in CR = %4.1f ",purity*100);
//info->DrawLatex(0.4,0.7,AuxString);
TLatex* info1 = new TLatex();
info1->SetTextFont(132);
info1-> SetNDC();
info1->SetTextSize(0.06);
if(LowECaloRegion) AuxString = "E_{calo}<10GeV";
else AuxString = "E_{calo}>10GeV";
//info1->DrawLatex(0.2,0.82,AuxString);
//***********************
// Draw both pads to canvas
c->cd();
pad1->Draw();
padRatio->SetGridy();
c -> SetBottomMargin(0.55);
//c->Modified();
padRatio->Draw();
c->SaveAs(filename);
//.........这里部分代码省略.........
开发者ID:telenz,项目名称:HighDeDx-DisappTrks-PostProcessing-ExclusiveBins,代码行数:101,代码来源:a1_fakeRatesFromData.C
示例4: limit
//.........这里部分代码省略.........
entry->SetTextFont(42);
entry=leg->AddEntry("Graph0","#pm2#sigma Expected","F");
ci = TColor::GetColor("#ffff00");
entry->SetFillColor(ci);
entry->SetFillStyle(1001);
entry->SetLineColor(1);
entry->SetLineStyle(1);
entry->SetLineWidth(1);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(42);
leg->Draw();
TPave *pave = new TPave(0.16,0.81,0.96,0.94,1,"brNDC");
pave->SetFillColor(0);
pave->Draw();
leg = new TLegend(0.495,0.825,0.945,0.925,NULL,"NBNDC");
leg->SetBorderSize(0);
leg->SetLineColor(1);
leg->SetLineStyle(1);
leg->SetLineWidth(1);
leg->SetFillColor(0);
leg->SetFillStyle(1001);
entry=leg->AddEntry("Graph3","Observed","LP");
entry->SetLineColor(1);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(20);
entry->SetMarkerSize(1);
entry->SetTextFont(42);
entry=leg->AddEntry("Graph2","Expected","L");
ci = TColor::GetColor("#ff0000");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(42);
entry=leg->AddEntry("Graph1","#pm1#sigma Expected","F");
ci = TColor::GetColor("#00ff00");
entry->SetFillColor(ci);
entry->SetFillStyle(1001);
entry->SetLineColor(1);
entry->SetLineStyle(1);
entry->SetLineWidth(1);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(42);
entry=leg->AddEntry("Graph0","#pm2#sigma Expected","F");
ci = TColor::GetColor("#ffff00");
entry->SetFillColor(ci);
entry->SetFillStyle(1001);
entry->SetLineColor(1);
entry->SetLineStyle(1);
entry->SetLineWidth(1);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(42);
leg->Draw();
TLatex * tex = new TLatex(0.196,0.9113,"CMS");
tex->SetNDC();
tex->SetTextAlign(13);
tex->SetTextSize(0.048);
tex->SetLineWidth(2);
tex->Draw();
tex = new TLatex(0.196,0.8537,"Internal");
tex->SetNDC();
tex->SetTextAlign(13);
tex->SetTextFont(52);
tex->SetTextSize(0.03648);
tex->SetLineWidth(2);
tex->Draw();
tex = new TLatex(0.96,0.952,"");
tex->SetNDC();
tex->SetTextAlign(31);
tex->SetTextFont(42);
tex->SetTextSize(0.036);
tex->SetLineWidth(2);
tex->Draw();
tex = new TLatex(0.16,0.952,"");
tex->SetNDC();
tex->SetTextFont(42);
tex->SetTextSize(0.036);
tex->SetLineWidth(2);
tex->Draw();
pad->Modified();
limit->cd();
limit->Modified();
limit->cd();
limit->SetSelected(limit);
}
示例5: zj_ptj_8TeV
void zj_ptj_8TeV()
{
//=========Macro generated from canvas: default_Canvas/defaultCanvas
//========= (Thu Apr 28 10:19:34 2016) by ROOT version6.04/10
TCanvas *default_Canvas = new TCanvas("default_Canvas", "defaultCanvas",0,0,800,800);
gStyle->SetOptStat(0);
gStyle->SetOptTitle(0);
default_Canvas->SetHighLightColor(2);
default_Canvas->Range(0,0,1,1);
default_Canvas->SetFillColor(0);
default_Canvas->SetBorderMode(0);
default_Canvas->SetBorderSize(2);
default_Canvas->SetTickx(1);
default_Canvas->SetTicky(1);
default_Canvas->SetLeftMargin(0.14);
default_Canvas->SetRightMargin(0.05);
default_Canvas->SetTopMargin(0.05);
default_Canvas->SetBottomMargin(0.16);
default_Canvas->SetFrameLineWidth(2);
default_Canvas->SetFrameBorderMode(0);
// ------------>Primitives in pad: bottomPad
TPad *bottomPad = new TPad("bottomPad", "bottomPad",0.005,0.05,0.995,0.995);
bottomPad->Draw();
bottomPad->cd();
bottomPad->Range(0,0,1,1);
bottomPad->SetFillColor(0);
bottomPad->SetFillStyle(4000);
bottomPad->SetBorderMode(0);
bottomPad->SetBorderSize(2);
bottomPad->SetTickx(1);
bottomPad->SetTicky(1);
bottomPad->SetLeftMargin(0.14);
bottomPad->SetRightMargin(0.05);
bottomPad->SetTopMargin(0.05);
bottomPad->SetBottomMargin(0.16);
bottomPad->SetFrameLineWidth(2);
bottomPad->SetFrameBorderMode(0);
bottomPad->Modified();
default_Canvas->cd();
// ------------>Primitives in pad: upperPad
TPad *upperPad = new TPad("upperPad", "upperPad",0.005,0.05,0.995,0.995);
upperPad->Draw();
upperPad->cd();
upperPad->Range(6.172839,-0.2132695,104.9383,0.4330016);
upperPad->SetFillColor(0);
upperPad->SetFillStyle(4000);
upperPad->SetBorderMode(0);
upperPad->SetBorderSize(2);
upperPad->SetTickx(1);
upperPad->SetTicky(1);
upperPad->SetLeftMargin(0.14);
upperPad->SetRightMargin(0.05);
upperPad->SetTopMargin(0.05);
upperPad->SetBottomMargin(0.33);
upperPad->SetFrameLineWidth(2);
upperPad->SetFrameBorderMode(0);
upperPad->SetFrameLineWidth(2);
upperPad->SetFrameBorderMode(0);
Double_t xAxis19[6] = {20, 25, 30, 40, 50, 100};
TH1F *z_ptj_toterr__19 = new TH1F("z_ptj_toterr__19","z_ptj",5, xAxis19);
z_ptj_toterr__19->SetBinContent(1,0.3608738);
z_ptj_toterr__19->SetBinContent(2,0.225932);
z_ptj_toterr__19->SetBinContent(3,0.1253807);
z_ptj_toterr__19->SetBinContent(4,0.06703913);
z_ptj_toterr__19->SetBinContent(5,0.01561868);
z_ptj_toterr__19->SetBinContent(6,0.780934);
z_ptj_toterr__19->SetBinError(1,0.02073388);
z_ptj_toterr__19->SetBinError(2,0.01400757);
z_ptj_toterr__19->SetBinError(3,0.009350811);
z_ptj_toterr__19->SetBinError(4,0.004623786);
z_ptj_toterr__19->SetBinError(5,0.001395185);
z_ptj_toterr__19->SetBinError(6,0.06975923);
z_ptj_toterr__19->SetEntries(12);
z_ptj_toterr__19->SetStats(0);
Int_t ci; // for color index setting
TColor *color; // for color definition with alpha
ci = TColor::GetColor("#ffff00");
z_ptj_toterr__19->SetFillColor(ci);
ci = TColor::GetColor("#ffff00");
z_ptj_toterr__19->SetLineColor(ci);
z_ptj_toterr__19->SetLineWidth(2);
ci = TColor::GetColor("#ffff00");
z_ptj_toterr__19->SetMarkerColor(ci);
z_ptj_toterr__19->SetMarkerStyle(0);
z_ptj_toterr__19->GetXaxis()->SetNdivisions(4);
z_ptj_toterr__19->GetXaxis()->SetLabelFont(132);
z_ptj_toterr__19->GetXaxis()->SetLabelOffset(999);
z_ptj_toterr__19->GetXaxis()->SetLabelSize(0);
z_ptj_toterr__19->GetXaxis()->SetTitleSize(0.06);
z_ptj_toterr__19->GetXaxis()->SetTitleFont(132);
z_ptj_toterr__19->GetYaxis()->SetTitle("d#sigma(#it{Zj})/d#it{p}_{T}^{jet} [pb/GeV]");
z_ptj_toterr__19->GetYaxis()->SetLabelFont(132);
z_ptj_toterr__19->GetYaxis()->SetLabelSize(0.05);
z_ptj_toterr__19->GetYaxis()->SetTitleSize(0.06);
//.........这里部分代码省略.........
示例6: probabilityDirection
//.........这里部分代码省略.........
for (int j = 0; j < _vertex; j++)
{
if (_pdg[j] == 5)
{
bs.push_back(j);
}
else//if (_pdg[j] == -5)
{
bbars.push_back(j);
}
}
for (int k = 0; k < bbars.size(); k++)
{
/*if (
_bbarIPdistance < 0.50
|| _bbartotalnumber > 5
|| _bbartotalnumber < 3
|| _bbarnumber < 2
|| _bbartotalnumber - _bbarnumber < 2
)
{
continue;
}*/
if (bbars.size() > 1)
{
std::cout << "Nb: " << i << '\n';
probhist->Fill(_probability[bbars[k]]);
chihist->Fill(_chi2[bbars[k]]);
}
else
{
probhist_non->Fill(_probability[bbars[0]]);
chihist_non->Fill(_chi2[bbars[0]]);
}
}
for (int m = 0; m < bs.size(); m++)
{
/*if (
_bIPdistance < 0.50
|| _btotalnumber > 5
//|| _btotalnumber < 3
|| _bnumber < 2
|| _btotalnumber - _bnumber < 2
)
{
continue;
}*/
if (bs.size() > 1)
{
probhist->Fill(_probability[bs[m]]);
chihist->Fill(_chi2[bs[m]]);
}
else
{
probhist_non->Fill(_probability[bs[0]]);
chihist_non->Fill(_chi2[bs[0]]);
}
}
if ( bbars.size() > 0)
{
totalcounter++;
}
if ( bs.size() > 0)
{
totalcounter++;
}
}
boxPad->cd();
probhist_non->SetMarkerStyle(20);
chihist_non->SetMarkerStyle(20);
chihist_non->SetMarkerColor(kBlack);
chihist_non->SetMarkerSize(0.7);
chihist_non->GetXaxis()->SetTitle("#chi^2");
chihist->SetFillColor(kYellow);
chihist->GetXaxis()->SetTitle("#chi^{2}");
probhist_non->SetMarkerColor(kBlack);
probhist_non->SetMarkerSize(0.7);
probhist_non->GetXaxis()->SetTitle("P(V)");
//probhist->GetYaxis()->SetRange(0,0.1);
//probhist_non->GetYaxis()->SetRange(0,0.1);
probhist->SetMaximum(2000);
probhist_non->SetMaximum(2000);
probhist_non->SetMinimum(0);
probhist->SetMinimum(0);
probhist->SetFillColor(kYellow);
probhist->GetXaxis()->SetTitle("P(V)");
probhist->DrawNormalized("same");
probhist_non->DrawNormalized("ex0psame");
boxPad->SetGrid();
box1Pad->cd();
box1Pad->SetLogy();
chihist->DrawNormalized("");
chihist_non->DrawNormalized("ex0psame",1);
box1Pad->SetGrid();
box1Pad->Modified();
boxPad->Modified();
std::cout << "Statistics: " << probhist->GetEntries() << " with ternary; " << probhist_non->GetEntries() << " without ternary; " << totalcounter << " total; " << counter << " discarded\n";
std::cout << "Mean: " << probhist->GetMean() << " with ternary; " << probhist_non->GetMean() << " without ternary;\n";
}
示例7: plotVsEta_nice
//.........这里部分代码省略.........
for (int idxMoment = 4 ; idxMoment < nMoments; ++idxMoment) {
pad->cd(idxMoment-3);
TGraphErrors *g = etaGraphs[idxCent][idxEtaSuper][idxDataSet][idxMoment];
// if (idxCent == 0)
// ShiftGraphX(g, -0.015);
// else if (idxCent == 1)
// ShiftGraphX(g, -0.005);
// else if (idxCent == 4)
// ShiftGraphX(g, 0.005);
// else if (idxCent == 8)
// ShiftGraphX(g, 0.015);
ConfigGraph(g, idxMoment, idxEtaSuper);
if (idxEtaSuper == 0) {
g->Draw("AP");
TLine *line05 = new TLine( 0.5, aMinY[idxMoment], 0.5, aMaxY[idxMoment]);
line05->SetLineColor(kGray+1);
line05->SetLineStyle(3);
line05->Draw();
TLine *line50 = new TLine(-0.5, aMinY[idxMoment], -0.5, aMaxY[idxMoment]);
line50->SetLineColor(kGray+1);
line50->SetLineStyle(3);
line50->Draw();
TLine *line00 = new TLine(0., aMinY[idxMoment],0, aMaxY[idxMoment]);
line00->SetLineColor(kGray+1);
line00->SetLineStyle(3);
line00->Draw();
if (idxMoment == 5) {
// TLine *line0 = new TLine(aMinX, 0, aMaxX, 0);
// line0->SetLineColor(kGray+1);
// line0->SetLineStyle(2);
// line0->SetLineWidth(2);
// line0->Draw();
}
else if (idxMoment == 6) {
TLine *line1 = new TLine(aMinX, 1, aMaxX, 1);
line1->SetLineColor(kGray+1);
line1->SetLineStyle(2);
line1->SetLineWidth(2);
line1->Draw();
}
}
g->Draw("PSAME");
} // for (int idxMoment = 0 ; idxMoment < nMoments; ++idxMoment) {
if (idxCent == 0) {
legRat[idxDataSet]->AddEntry(etaGraphs[0][idxEtaSuper][idxDataSet][4],
Form("#Delta#eta = %.1f", aEtaSuperSetsBinWidth[idxEtaSuper]), "pl");
}
} // for (int idxEta = 0 ; idxEta < nEta; ++idxEta) {
TLine *linex = new TLine(-0.55, 1, 0.55, 1);
linex->SetLineColor(kGray+1);
linex->SetLineStyle(2);
linex->SetLineWidth(2);
legRat[idxDataSet]->AddEntry(linex, "Poisson", "l");
pad->cd(1);
TLatex *texb_3 = new TLatex(-0.49, 9.3, "Au+Au collisions #sqrt{#it{s}_{NN}} = 14.5 GeV");
texb_3->SetTextSize(0.07);
texb_3->Draw("same");
TLatex *texb_3a = new TLatex(-0.49,8.9, "Net-Charge, 0.2 < #it{p}_{T} (GeV/#it{c}) < 2.0, 0-5%");
texb_3a->SetTextSize(0.07);
texb_3a->Draw("same");
pad->cd(2);
TLatex *texb_3b = new TLatex(0.49,0.42, "statistical errors only");
texb_3b->SetTextSize(0.06);
texb_3b->SetTextAlign(31);
texb_3b->Draw("same");
TLatex *texb_3c = new TLatex(0.49,0.38, "horizontal error: #Delta#eta width");
texb_3c->SetTextSize(0.06);
texb_3c->SetTextAlign(31);
texb_3c->Draw("same");
TLatex *texb_4 = new TLatex(-0.49, 0.42, "STAR Preliminary");
texb_4->SetTextSize(0.07);
texb_4->Draw("same");
pad->cd(3);
legRat[idxDataSet]->Draw("lt");
pad->Modified();
} // for (int idxDataSet = 0 ; idxDataSet < nDataSets; ++idxDataSet) {
} // for (int idxCent = 0; idxCent < 9; idxCent++) {
// -----------------------------------------------------
SaveCanvas(name);
}
示例8: genPlots02
// draw the same thing but after reco
void genPlots02(std::string fullPath, int nOverlay = 500, bool custBinning = false)
{
const int fVerbose(1);
setTDRStyle();
gStyle->SetOptStat(112211);
gStyle->SetPalette(1);
// Canvas
c = new TCanvas("c2","c2",1000,600);
const unsigned int nPadX = 1;
const unsigned int nPadY = 1;
c->Divide(nPadX,nPadY);
const unsigned int nPads=nPadX*nPadY;
for(unsigned int i=1; i<=nPads; i++)
{
TPad* pad= (TPad*)c->cd(i);
pad->SetTopMargin(0.10);
pad->SetRightMargin(0.20);
pad->SetLeftMargin(0.15);
}
// Open file
TFile *f = TFile::Open(fullPath.c_str());
if (f==0)
{
cout << "File " << fullPath << " not found -- exiting" << endl;
return;
}
if(fVerbose>0)
cout << "Succesfully opened file " << fullPath << endl;
// Get TTree
TTree* t = (TTree*) f->Get("events");
if(fVerbose>0) cout << "Got TTree with " << t->GetEntries() << " entries" << endl;
// Do a cut, if needed
//t->Draw(">>lst","chi2lb>.1&&mlb>5.61&&mlb<5.63");
//t->Draw(">>lst","chi2lb>.1&&isSig==1");
t->Draw(">>lst","(rid1m&4)==4&&(rid2m&4)==4&&mjp>2.895&&mjp<3.295&&prob1m>0.1&&prob2m>0.1&&ptjp>2&&probjp>0.005&&ml0>1.101&&ml0<1.129&&probpr>0.02&&probpi>0.02&&rptpr>rptpi&&ptl0>3&&rptpr>1&&rptpi>0.5&&probl0>0.02&&alphal0<0.3&&d3l0>1&&d3l0/d3El0>10&&problb>0.001&&alphalb<0.3");
TEventList *lst;
lst = (TEventList*)gDirectory->Get("lst");
t->SetEventList(lst);
if(fVerbose>0) cout << "Got TTree with " << t->GetEntries() << " entries" << endl;
// Do plots
c->cd(1);
//doPlot2d(t,"hrzL0vtx", "vrl0:TMath::Abs(vzl0)",30,0,300,30,0,120,"Tit","|z|","r","cm","cm");
if (custBinning)
{
double newbinsX[]={0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50};
const int newbinsX_size = sizeof(newbinsX)/sizeof(double);
std::vector<double> binvecX(newbinsX,newbinsX+newbinsX_size);
//double newbinsY[]={0,1,2,3,4,5,6,7,8,9,10};
double newbinsY[]={0,0.5,1,2,4,8,16,32};
const int newbinsY_size = sizeof(newbinsY)/sizeof(double);
std::vector<double> binvecY(newbinsY,newbinsY+newbinsY_size);
doPlot2d(t,"hrzL0vtxreco", "vrl0:TMath::Abs(vzl0)",binvecX, binvecY,"#Lambda vertices","|z|","r","cm","cm");
}
else
{
doPlot2d(t,"hrzL0vtxreco", "vrl0:TMath::Abs(vzl0)",30,0,50,30,0,30,"#Lambda vertices","|z|","r","cm","cm");
}
// add tracker
TPad* pad;
pad = (TPad*)c->cd(1);
pad->Modified();
pad->Update();
repositionPalette("hrzL0vtxreco");
pad->Update();
pad->SetLogz();
drawTracker(pad);
if (nOverlay<=0) return;
int maxN = nOverlay;
if (maxN > t->GetEntries()) maxN = t->GetEntries();
double vrl0,vzl0,ppr,ppi,etapr,etapi;
t->SetBranchAddress("vrl0",&vrl0);
t->SetBranchAddress("vzl0",&vzl0);
t->SetBranchAddress("ppr",&ppr);
t->SetBranchAddress("etapr",&etapr);
t->SetBranchAddress("ppi",&ppi);
t->SetBranchAddress("etapi",&etapi);
double scalepr = 4;
double scalepi = 8;
{ // reference indicator
const double x1pr = 0; const double y1pr = -3;
const double x2pr = scalepr; const double y2pr = y1pr;
const double versatz = 14;
const double x1pi = x1pr+versatz; const double y1pi = -3;
const double x2pi = x2pr+versatz+scalepi; const double y2pi = y1pi;
TArrow *a;
a = new TArrow(x1pr,y1pr,x2pr,y2pr,.01,">");
a->SetLineColor(24);
a->Draw();
TLatex tl;
tl.SetTextSize(20);
tl.SetTextFont(4);
tl.DrawLatex(x1pr,y2pr-1.2,"p(p) / 1 GeV");
a = new TArrow(x1pi,y1pi,x2pi,y2pi,.01,">");
a->SetLineColor(20);
a->Draw();
//.........这里部分代码省略.........
示例9: DrawGraphs
void SingleAnalysis::DrawGraphs()
{
std::cout << "Drawing graphs" << std::endl;
// special case for erec and deviation
m_pERecCanvas->cd();
TPad *pERecPad = new TPad("ERecPad", "ERecPad", 0.02, 0.37, 0.95, 0.99);
pERecPad->Draw();
pERecPad->cd();
pERecPad->Range(-19.23077,0.01,96.15385,1428.571);
pERecPad->SetFillColor(0);
pERecPad->SetBorderMode(0);
pERecPad->SetBorderSize(2);
pERecPad->SetTickx(1);
pERecPad->SetTicky(1);
pERecPad->SetLeftMargin(0.1666667);
pERecPad->SetRightMargin(0.01);
pERecPad->SetTopMargin(0.02);
pERecPad->SetBottomMargin(0.0);
pERecPad->SetFrameLineWidth(1);
pERecPad->SetFrameBorderMode(0);
m_canvasMultiGraphMap[E_REC].second->Draw("ap");
this->PostDrawMultiGraph(E_REC, m_canvasMultiGraphMap[E_REC].second);
TLegend *pLegend = pERecPad->BuildLegend();
pLegend->SetBorderSize(0);
pLegend->SetLineColor(0);
pLegend->SetLineStyle(0);
pLegend->SetLineWidth(1);
pLegend->SetFillColor(0);
pLegend->SetFillStyle(0);
pLegend->SetTextSize(0.04);
pERecPad->Modified();
m_pERecCanvas->cd();
TPad *pERecDeviationPad = new TPad("ERecDeviationPad", "ERecDeviationPad", 0.02, 0, 0.95, 0.37);
pERecDeviationPad->Draw();
pERecDeviationPad->cd();
pERecDeviationPad->Range(-19.23077,-0.3993507,96.15385,0.25);
pERecDeviationPad->SetFillColor(0);
pERecDeviationPad->SetBorderMode(0);
pERecDeviationPad->SetBorderSize(2);
pERecDeviationPad->SetTickx(1);
pERecDeviationPad->SetTicky(1);
pERecDeviationPad->SetLeftMargin(0.1666667);
pERecDeviationPad->SetRightMargin(0.01);
pERecDeviationPad->SetTopMargin(0);
pERecDeviationPad->SetBottomMargin(0.23);
pERecDeviationPad->SetFrameLineWidth(1);
pERecDeviationPad->SetFrameBorderMode(0);
m_canvasMultiGraphMap[E_REC_DEVIATION].second->Draw("ap");
TF1 *pLin = new TF1("lin", "0", 0, 90);
pLin->SetLineColor(kBlack);
pLin->SetLineWidth(1);
pLin->SetLineStyle(2);
pLin->Draw("same");
this->PostDrawMultiGraph(E_REC_DEVIATION, m_canvasMultiGraphMap[E_REC_DEVIATION].second);
pERecDeviationPad->Modified();
for(CanvasMultiGraphMap::iterator graphIter = m_canvasMultiGraphMap.begin(), graphEndIter = m_canvasMultiGraphMap.end() ;
graphEndIter != graphIter ; ++graphIter)
{
if(graphIter->first == E_REC || graphIter->first == E_REC_DEVIATION)
continue;
graphIter->second.first->cd();
graphIter->second.second->Draw("ap");
this->PostDrawMultiGraph(graphIter->first, graphIter->second.second);
TLegend *pLegend = graphIter->second.first->BuildLegend();
pLegend->SetBorderSize(0);
pLegend->SetLineColor(0);
pLegend->SetLineStyle(1);
pLegend->SetLineWidth(1);
pLegend->SetFillColor(0);
pLegend->SetFillStyle(0);
pLegend->SetTextSize(0.04);
}
}
示例10: plot
//.........这里部分代码省略.........
plotpad->SetTickx(1);
plotpad->SetTicky(1);
plotpad->SetLeftMargin(0.16);
plotpad->SetRightMargin(0.05);
plotpad->SetTopMargin(0.065);
plotpad->SetBottomMargin(0.0);
plotpad->SetFrameFillStyle(0);
plotpad->SetFrameBorderMode(0);
hFrame->GetXaxis()->SetTitleSize(0);
hFrame->GetXaxis()->SetLabelSize(0);
hFrame->GetYaxis()->SetTitleFont(43);
hFrame->GetYaxis()->SetTitleSize(33);
hFrame->GetYaxis()->SetTitleOffset(1.3);
// Draw objects
hFrame->Draw();
exp->Draw("hist same");
uncert->Draw("E2 same");
hExpBkgTotalUncert->Draw("E2 same");
// Data
data->Draw("same");
//signal->Draw("same");
TLegend *leg = new TLegend(0.53,0.6,0.87,0.91,NULL,"brNDC");
leg->SetBorderSize(0);
leg->SetTextFont(63);
leg->SetTextSize(18);
leg->SetLineColor(1);
leg->SetLineStyle(1);
leg->SetLineWidth(1);
leg->SetFillColor(kWhite);
//leg->SetFillStyle(4000); // enabling this will cause the plot to be erased from the pad
TLegendEntry* entry = leg->AddEntry(data, "Data", "P");
s.str("");
s << "with H^{#pm}#rightarrow#tau^{#pm}#nu";
entry = leg->AddEntry(signal, s.str().c_str(), "L");
entry = leg->AddEntry(qcd, "QCD (meas.)", "F");
entry = leg->AddEntry(ewktau, "EWK genuine #tau (meas.)", "F");
entry = leg->AddEntry(fakes, "EWK fake #tau (MC)", "F");
entry = leg->AddEntry(uncert, "stat. uncert.", "F");
entry = leg->AddEntry(hExpBkgTotalUncert, "stat. #oplus syst. uncert.", "F");
leg->Draw();
string myTitle = "CMS Preliminary";
if (paperStatus)
myTitle = "CMS";
TLatex *tex = new TLatex(0.62,0.945,myTitle.c_str());
tex->SetNDC();
tex->SetTextFont(43);
tex->SetTextSize(27);
tex->SetLineWidth(2);
tex->Draw();
tex = new TLatex(0.2,0.945,"#sqrt{s} = 7 TeV");
tex->SetNDC();
tex->SetTextFont(43);
tex->SetTextSize(27);
tex->SetLineWidth(2);
tex->Draw();
tex = new TLatex(0.43,0.945,"2.2 fb^{-1}");
tex->SetNDC();
tex->SetTextFont(43);
tex->SetTextSize(27);
tex->SetLineWidth(2);
tex->Draw();
s.str("");
s << "m_{H^{#pm}} = " << mass << " GeV/c^{2}";
tex = new TLatex(0.28,0.865,s.str().c_str());
tex->SetNDC();
tex->SetTextFont(63);
tex->SetTextSize(20);
tex->SetLineWidth(2);
tex->Draw();
s.str("");
s << "BR(t#rightarrowbH^{#pm})=" << setprecision(2) << br;
tex = new TLatex(0.28,0.805,s.str().c_str());
tex->SetNDC();
tex->SetTextFont(63);
tex->SetTextSize(20);
tex->SetLineWidth(2);
tex->Draw();
plotpad->RedrawAxis();
plotpad->Modified();
s.str("");
s << "mT_datadriven_m" << mass << ".png";
myCanvas->Print(s.str().c_str());
s.str("");
s << "mT_datadriven_m" << mass << ".C";
myCanvas->Print(s.str().c_str());
s.str("");
s << "mT_datadriven_m" << mass << ".eps";
myCanvas->Print(s.str().c_str());
}
示例11: TCanvas
TCanvas *drawRatioPlot(TH1D *prediction, TH1D *sr, TString xTitle, TString filename){
TCanvas *c = new TCanvas("c"+filename,"c",0,0,500,500);
float y = 0.3;
TPad *pad1 = new TPad("pad1", "Control Plots 1", 0.01, y, 0.99, 0.99);
TPad *padRatio = new TPad("rp1", "Ratio1", 0.01, 0.01, 0.99, y-0.01);
TH1D *ratio = 0;
//ratio = (TH1D*) sr->Clone();
//ratio->Divide(prediction);
ratio = (TH1D*) prediction->Clone();
ratio->Divide(sr);
for(int i=1; i<=ratio->GetNbinsX();i++){
cout<<"Scaling Factor in "<<i<<". bin ="<<ratio->GetBinContent(i)<<" +/- "<<ratio->GetBinError(i)<<endl;
}
ratio->GetYaxis()->SetTitle("Pred/Bkg");
ratio->SetTitle("");
ratio->SetLabelSize(0.1,"X");
ratio->SetLabelSize(0.1,"Y");
ratio->SetTitleOffset(0.5,"Y");
ratio->SetTitleSize(0.15,"Y");
padRatio->cd();
//ratio->GetYaxis()->SetRangeUser(0,2);
ratio->Draw();
// Draw line at one!
float xmin = ratio->GetXaxis()->GetXmin();
float xmax = ratio->GetXaxis()->GetXmax();
TLine *line = new TLine(xmin,1,xmax,1);
line->SetLineWidth(2);
line->Draw("same");
padRatio->Modified();
TLegend *leg = new TLegend(0.6,0.8,0.9,0.9);
leg->AddEntry(sr,"bkg","l");
leg->AddEntry(prediction,"bkg prediction","pel");
pad1->cd();
pad1->SetLogy();
sr->SetLineColor(kRed);
sr->SetMarkerColor(kRed);
sr->SetMarkerStyle(20);
sr->SetTitle("");
prediction->SetMarkerStyle(20);
prediction->SetTitle("");
prediction->GetXaxis()->SetTitle(xTitle);
sr->GetXaxis()->SetTitle(xTitle);
prediction->SetTitleSize(0.07,"X");
prediction->GetXaxis()->SetTitleOffset(0.7);
sr->SetTitleSize(0.07,"X");
sr->GetXaxis()->SetTitleOffset(0.7);
prediction->Draw("e");
sr->Draw("e same");
double maximum =prediction->GetMaximum()*2.5;
double minimum = 0.00001;
if(sr->GetMinimum()!=0) minimum=sr->GetMinimum()*0.5;
if(prediction->GetMinimum()!=0) minimum=prediction->GetMinimum()*0.5;
if(sr->GetMaximum()>prediction->GetMaximum()){
maximum=sr->GetMaximum()*2.5;
}
prediction->GetYaxis()->SetRangeUser(minimum,maximum);
leg->Draw("same");
// Draw both pads to canvas
c->cd();
pad1->Draw();
padRatio->SetGridy();
padRatio->Draw();
c->SaveAs(filename);
return c;
}
示例12: wmj_fit_stack
//.........这里部分代码省略.........
grae->SetHistogram(Graph_Graph_Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]563001300230053006);
grae->Draw("e1p");
TLegend *leg = new TLegend(0.2,0.53,0.6,0.78,NULL,"brNDC");
leg->SetBorderSize(0);
leg->SetTextFont(132);
leg->SetLineColor(1);
leg->SetLineStyle(1);
leg->SetLineWidth(2);
leg->SetFillColor(10);
leg->SetFillStyle(0);
TLegendEntry *entry=leg->AddEntry("h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]","Data, #sqrt{s}=8 TeV","lep");
entry->SetLineColor(1);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(20);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
entry=leg->AddEntry("h5","Electroweak","f");
ci = TColor::GetColor("#3333ff");
entry->SetFillColor(ci);
entry->SetFillStyle(1001);
ci = TColor::GetColor("#3333ff");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
entry=leg->AddEntry("sumBkgPdf_totbkg_fitW","QCD","f");
ci = TColor::GetColor("#ffff66");
entry->SetFillColor(ci);
entry->SetFillStyle(1001);
ci = TColor::GetColor("#ffff66");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
entry=leg->AddEntry("sumPdf_Norm[muminus_ISO_]","Fit","l");
ci = TColor::GetColor("#ff0000");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
entry->SetMarkerColor(1);
entry->SetMarkerStyle(21);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
leg->Draw();
TPaveText *pt = new TPaveText(0.2,0.8,0.4,0.87,"brNDC");
pt->SetBorderSize(0);
pt->SetFillStyle(0);
pt->SetLineWidth(2);
pt->SetTextFont(132);
TText *AText = pt->AddText("LHCb");
pt->Draw();
TH1F *Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy = new TH1F("Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy","Histogram of combData_plot__muminus_ISO_",100,0,1.1);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetMinimum(0);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetMaximum(31005.58);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetDirectory(0);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetStats(0);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetLineWidth(2);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->SetMarkerStyle(0);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetTitle("#it{p}_{T}^{#it{#mu}} / #it{p}_{T}^{#it{#mu}-jet} ");
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetRange(1,91);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetNdivisions(1005);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetLabelFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetLabelOffset(0.02);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetLabelSize(0.05);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetTitleSize(0.06);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetXaxis()->SetTitleFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetTitle("Events / (0.05)");
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetLabelFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetLabelSize(0.05);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetTitleSize(0.06);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetTitleOffset(1.1);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetYaxis()->SetTitleFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetZaxis()->SetLabelFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetZaxis()->SetLabelSize(0.05);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetZaxis()->SetTitleSize(0.06);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->GetZaxis()->SetTitleFont(132);
Graph_Graph_Graph_Graph_h_combData_Cut[samples == samples::fitW_etam_0 || samples == samples::fitW_etam_1 || samples == samples::fitW_etam_2 || samples == samples::fitW_etam_3]5630013002_copy->Draw("sameaxis");
upperPad->Modified();
default_Canvas->cd();
default_Canvas->Modified();
default_Canvas->cd();
default_Canvas->SetSelected(default_Canvas);
}
示例13: test3
//.........这里部分代码省略.........
test3_green_0_1_norm__2->GetYaxis()->SetTitleFont(132);
test3_green_0_1_norm__2->GetZaxis()->SetLabelFont(132);
test3_green_0_1_norm__2->GetZaxis()->SetLabelSize(0.05);
test3_green_0_1_norm__2->GetZaxis()->SetTitleSize(0.06);
test3_green_0_1_norm__2->GetZaxis()->SetTitleFont(132);
test3_green_0_1_norm__2->Draw("same");
TLegend *leg = new TLegend(0.2,0.7,0.4,0.85,NULL,"brNDC");
leg->SetBorderSize(0);
leg->SetTextFont(132);
leg->SetLineColor(1);
leg->SetLineStyle(1);
leg->SetLineWidth(2);
leg->SetFillColor(10);
leg->SetFillStyle(0);
TLegendEntry *entry=leg->AddEntry("MuonTrackingMC2015RW_Sim09/ETA_tot","T&P","lep");
ci = TColor::GetColor("#ff0000");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
ci = TColor::GetColor("#ff0000");
entry->SetMarkerColor(ci);
entry->SetMarkerStyle(20);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
entry=leg->AddEntry("MuonUbsTrackingMC2015/ETA_tot","Truth","lep");
ci = TColor::GetColor("#00ff00");
entry->SetLineColor(ci);
entry->SetLineStyle(1);
entry->SetLineWidth(2);
ci = TColor::GetColor("#00ff00");
entry->SetMarkerColor(ci);
entry->SetMarkerStyle(20);
entry->SetMarkerSize(1);
entry->SetTextFont(132);
leg->Draw();
TH1F *test3_red_0_0_norm_copy__3 = new TH1F("test3_red_0_0_norm_copy__3","ETA",10,2,4.5);
test3_red_0_0_norm_copy__3->SetBinContent(1,0.1040398);
test3_red_0_0_norm_copy__3->SetBinContent(2,0.1186439);
test3_red_0_0_norm_copy__3->SetBinContent(3,0.1256071);
test3_red_0_0_norm_copy__3->SetBinContent(4,0.1229555);
test3_red_0_0_norm_copy__3->SetBinContent(5,0.118442);
test3_red_0_0_norm_copy__3->SetBinContent(6,0.1127067);
test3_red_0_0_norm_copy__3->SetBinContent(7,0.09951538);
test3_red_0_0_norm_copy__3->SetBinContent(8,0.08332527);
test3_red_0_0_norm_copy__3->SetBinContent(9,0.06651872);
test3_red_0_0_norm_copy__3->SetBinContent(10,0.0482457);
test3_red_0_0_norm_copy__3->SetBinError(1,0.001708584);
test3_red_0_0_norm_copy__3->SetBinError(2,0.001736969);
test3_red_0_0_norm_copy__3->SetBinError(3,0.001484444);
test3_red_0_0_norm_copy__3->SetBinError(4,0.001426268);
test3_red_0_0_norm_copy__3->SetBinError(5,0.001336676);
test3_red_0_0_norm_copy__3->SetBinError(6,0.00122978);
test3_red_0_0_norm_copy__3->SetBinError(7,0.00125216);
test3_red_0_0_norm_copy__3->SetBinError(8,0.00113555);
test3_red_0_0_norm_copy__3->SetBinError(9,0.0009819959);
test3_red_0_0_norm_copy__3->SetBinError(10,0.0009418311);
test3_red_0_0_norm_copy__3->SetEntries(58129);
test3_red_0_0_norm_copy__3->SetDirectory(0);
test3_red_0_0_norm_copy__3->SetStats(0);
ci = TColor::GetColor("#ff0000");
test3_red_0_0_norm_copy__3->SetFillColor(ci);
test3_red_0_0_norm_copy__3->SetFillStyle(0);
ci = TColor::GetColor("#ff0000");
test3_red_0_0_norm_copy__3->SetLineColor(ci);
test3_red_0_0_norm_copy__3->SetLineWidth(2);
ci = TColor::GetColor("#ff0000");
test3_red_0_0_norm_copy__3->SetMarkerColor(ci);
test3_red_0_0_norm_copy__3->SetMarkerStyle(20);
test3_red_0_0_norm_copy__3->GetXaxis()->SetTitle("#eta");
test3_red_0_0_norm_copy__3->GetXaxis()->SetNdivisions(1005);
test3_red_0_0_norm_copy__3->GetXaxis()->SetLabelFont(132);
test3_red_0_0_norm_copy__3->GetXaxis()->SetLabelOffset(0.02);
test3_red_0_0_norm_copy__3->GetXaxis()->SetLabelSize(0.05);
test3_red_0_0_norm_copy__3->GetXaxis()->SetTitleSize(0.06);
test3_red_0_0_norm_copy__3->GetXaxis()->SetTitleFont(132);
test3_red_0_0_norm_copy__3->GetYaxis()->SetNdivisions(505);
test3_red_0_0_norm_copy__3->GetYaxis()->SetLabelFont(132);
test3_red_0_0_norm_copy__3->GetYaxis()->SetLabelSize(0.05);
test3_red_0_0_norm_copy__3->GetYaxis()->SetTitleSize(0.06);
test3_red_0_0_norm_copy__3->GetYaxis()->SetTitleFont(132);
test3_red_0_0_norm_copy__3->GetZaxis()->SetLabelFont(132);
test3_red_0_0_norm_copy__3->GetZaxis()->SetLabelSize(0.05);
test3_red_0_0_norm_copy__3->GetZaxis()->SetTitleSize(0.06);
test3_red_0_0_norm_copy__3->GetZaxis()->SetTitleFont(132);
test3_red_0_0_norm_copy__3->Draw("sameaxis");
upperPad->Modified();
default_Canvas->cd();
default_Canvas->Modified();
default_Canvas->cd();
default_Canvas->SetSelected(default_Canvas);
}
示例14: genDisplay
// draws the decay vertices of the Lambda_s
void genDisplay(std::string fullPath, int iGen, int iReco = -1, bool savePdf = false)
{
const int fVerbose(0);
setTDRStyle();
//gStyle->SetOptStat(112211);
gStyle->SetOptStat(0);
gStyle->SetPalette(1);
// Canvases
crz = new TCanvas("crz","crz",1000,600);
TPad* padrz = (TPad*)crz->cd(1);
setPadMargins(padrz, 0.02, 0.05, 0.02, 0.05);
crphi = new TCanvas("crphi","crphi",600,600);
TPad* padrphi = (TPad*)crphi->cd(1);
setPadMargins(padrphi, 0.02, 0.05, 0.02, 0.05);
// Open file
TFile *f = TFile::Open(fullPath.c_str());
if (f==0)
{
cout << "File " << fullPath << " not found -- exiting" << endl;
return;
}
if(fVerbose>0)
cout << "Succesfully opened file " << fullPath << endl;
// Get TTree with GenEvents
TTree* tgen = (TTree*) f->Get("genevents");
if(fVerbose>0) cout << "Got TTree with " << tgen->GetEntries() << " entries" << endl;
// Do a cut, if needed
tgen->Draw(">>lst","ptmu1>3&&ptmu2>3&&TMath::Abs(etamu1)<2.5&&TMath::Abs(etamu2)<2.5");
TEventList *lst;
lst = (TEventList*)gDirectory->Get("lst");
tgen->SetEventList(lst);
// Get TTree with iRecoEvents
TTree* treco = (TTree*) f->Get("events");
if(fVerbose>0) cout << "Got TTree with " << treco->GetEntries() << " entries" << endl;
// Do plots
const int nbins(30);
const double rangeR(30), rangeZ(100); // standard
//const double rangeR(60), rangeZ(200); // zoomed out
//const double rangeR(100), rangeZ(200); // zoomed in
//const double rangeR(12), rangeZ(30); // zoomed further in
padrz->cd();
TH2F *hrz = new TH2F("hdisp","", nbins,-rangeZ,rangeZ,nbins,-rangeR,rangeR);
hrz->Draw();
padrphi->cd();
TH2F *hrphi = new TH2F("hdisp","", nbins,-rangeR,rangeR,nbins,-rangeR,rangeR);
hrphi->Draw();
// add tracker
padrz->Modified();
padrz->Update();
drawTrackerRZ(padrz);
padrphi->Modified();
padrphi->Update();
drawTrackerRPhi(padrphi);
// set branch addresses for gentree
double vrl0,vxl0,vyl0,vzl0,vrlb,vxlb,vylb,vzlb;
double pmu1,phimu1,etamu1,pmu2,phimu2,etamu2;
double ppr,ppi,phipr,phipi,etapr,etapi;
tgen->SetBranchAddress("vrl0",&vrl0);
tgen->SetBranchAddress("vxl0",&vxl0);
tgen->SetBranchAddress("vyl0",&vyl0);
tgen->SetBranchAddress("vzl0",&vzl0);
tgen->SetBranchAddress("vrlb",&vrlb);
tgen->SetBranchAddress("vxlb",&vxlb);
tgen->SetBranchAddress("vylb",&vylb);
tgen->SetBranchAddress("vzlb",&vzlb);
tgen->SetBranchAddress("pmu1",&pmu1);
tgen->SetBranchAddress("etamu1",&etamu1);
tgen->SetBranchAddress("phimu1",&phimu1);
tgen->SetBranchAddress("pmu2",&pmu2);
tgen->SetBranchAddress("etamu2",&etamu2);
tgen->SetBranchAddress("phimu2",&phimu2);
tgen->SetBranchAddress("ppr",&ppr);
tgen->SetBranchAddress("etapr",&etapr);
tgen->SetBranchAddress("phipr",&phipr);
tgen->SetBranchAddress("ppi",&ppi);
tgen->SetBranchAddress("etapi",&etapi);
tgen->SetBranchAddress("phipi",&phipi);
int genrun, genls, genevt;
tgen->SetBranchAddress("run",&genrun);
tgen->SetBranchAddress("LS",&genls);
tgen->SetBranchAddress("event",&genevt);
// set branch addresses for recotree
double rvrl0,rvxl0,rvyl0,rvzl0,rvrlb,rvxlb,rvylb,rvzlb;
double rpmu1,retamu1,rphimu1,rpmu2,retamu2,rphimu2;
double rppr,rppi,retapr,retapi,rphipr,rphipi;
treco->SetBranchAddress("vrl0",&rvrl0);
treco->SetBranchAddress("vxl0",&rvxl0);
treco->SetBranchAddress("vyl0",&rvyl0);
treco->SetBranchAddress("vzl0",&rvzl0);
treco->SetBranchAddress("vrlb",&rvrlb);
treco->SetBranchAddress("vxlb",&rvxlb);
treco->SetBranchAddress("vylb",&rvylb);
treco->SetBranchAddress("vzlb",&rvzlb);
treco->SetBranchAddress("rpt1m",&rpmu1);
//.........这里部分代码省略.........
示例15: genPlotsRatio0102
void genPlotsRatio0102(std::string fullPath, bool custBinning = false)
{
genPlots01(fullPath, 0, custBinning);
TH2F *h1 = (TH2F*)gDirectory->GetList()->FindObject("hrzL0vtx");
genPlots02(fullPath, 0, custBinning);
TH2F *h2 = (TH2F*)gDirectory->GetList()->FindObject("hrzL0vtxreco");
if (0==h1)
{
cout << "Histo hrzL0vtx not present" << endl;
return;
}
if (0==h2)
{
cout << "Histo hrzL0vtxreco not present" << endl;
return;
}
TH2F *hratio;
if (custBinning)
{
double newbinsX[]={0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50};
const int newbinsX_size = sizeof(newbinsX)/sizeof(double);
double newbinsY[]={0,0.5,1,2,4,8,16,32};
const int newbinsY_size = sizeof(newbinsY)/sizeof(double);
hratio = new TH2F("hratio","hratio",newbinsX_size-1,newbinsX,newbinsY_size-1,newbinsY);
}
else
{
hratio = new TH2F("hratio","hratio",30,0,50,30,0,30);
}
c = new TCanvas("c3","c3",1000,600);
const unsigned int nPadX = 1;
const unsigned int nPadY = 1;
c->Divide(nPadX,nPadY);
const unsigned int nPads=nPadX*nPadY;
for(unsigned int i=1; i<=nPads; i++)
{
TPad* pad= (TPad*)c->cd(i);
pad->SetTopMargin(0.10);
pad->SetRightMargin(0.20);
pad->SetLeftMargin(0.15);
//pad->SetLogy();
}
for(int i=1; i<=h1->GetNbinsX(); i++)
for(int j=1; j<=h1->GetNbinsY(); j++)
{
if (h1->GetBinContent(i,j) != 0.)
hratio->SetBinContent(i,j,h2->GetBinContent(i,j) / h1->GetBinContent(i,j));
else
hratio->SetBinContent(i,j,0);
}
hratio->Draw("COLZ");
// add tracker
TPad* pad;
pad = (TPad*)c->cd(1);
pad->Modified();
pad->Update();
repositionPalette("hratio");
pad->Update();
drawTracker(pad);
}