本文整理汇总了C++中TPad::GetUxmin方法的典型用法代码示例。如果您正苦于以下问题:C++ TPad::GetUxmin方法的具体用法?C++ TPad::GetUxmin怎么用?C++ TPad::GetUxmin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPad
的用法示例。
在下文中一共展示了TPad::GetUxmin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: composeTrackAnalysisbyAssociator
//.........这里部分代码省略.........
double maxY = 40;
TCanvas* myCanvas = new TCanvas("Canvas", "Canvas", 800, 600);
myCanvas->cd();
TPad* myPad = new TPad("Pad", "Pad", 0, 0, 1, 1);
myPad->Draw();
myPad->cd();
((TH1D*)(myParticleHist->At(0)))->SetStats(0);
((TH1D*)(myParticleHist->At(0)))->GetXaxis()->SetTitle("simPt/Gev");
((TH1D*)(myParticleHist->At(0)))->GetXaxis()->CenterTitle(1);
((TH1D*)(myParticleHist->At(0)))->Draw();
for(int Index = 0; Index < FileNumber; Index++) {
((TH1D*)(mySTAHist->At(Index)))->SetStats(0);
((TH1D*)(mySTAHist->At(Index)))->SetLineColor(kRed+Index);
((TH1D*)(mySTAHist->At(Index)))->Draw("same");
}
TLegend *STALeg = new TLegend(0.6,0.1,0.9,0.3);
STALeg->SetBorderSize(1);
TString LegKey = "ParticleTrack";
STALeg->AddEntry(myParticleHist->At(0), LegKey, "lpf");
for(int Index = 0; Index < FileNumber; Index++) {
LegKey = TypeName[Index];
STALeg->AddEntry(mySTAHist->At(Index), LegKey, "lpf");
}
STALeg->Draw();
string SaveName = OutputPlotNamepreFix + "_STA2simPt" + OutputPlotNameFix;
myCanvas->SaveAs(SaveName.c_str());
myPad->Clear();
myPad->Update();
double YScale = myPad->GetUymax() / 110.;
((TH1D*)(myEfficiencyHist->At(0)))->GetXaxis()->SetTitle("simPt/Gev");
((TH1D*)(myEfficiencyHist->At(0)))->GetXaxis()->CenterTitle(1);
((TH1D*)(myEfficiencyHist->At(0)))->SetStats(0);
((TH1D*)(myEfficiencyHist->At(0)))->Scale(YScale);
((TH1D*)(myEfficiencyHist->At(0)))->SetLineColor(kRed);
((TH1D*)(myEfficiencyHist->At(0)))->Draw("same,ah");
for(int Index = 1; Index < FileNumber; Index++) {
((TH1D*)(myEfficiencyHist->At(Index)))->SetStats(0);
((TH1D*)(myEfficiencyHist->At(Index)))->Scale(YScale);
((TH1D*)(myEfficiencyHist->At(Index)))->SetLineColor(kRed+Index);
((TH1D*)(myEfficiencyHist->At(Index)))->Draw("same,ah");
}
myPad->Update();
if(debug) cout << "Y: " << myPad->GetUymax() << endl;
double YAxisMinValue=((TH1D*)(myEfficiencyHist->At(0)))->GetYaxis()->GetXmin();
double YAxisMaxValue=((TH1D*)(myEfficiencyHist->At(0)))->GetYaxis()->GetXmax();
int YAxisNBins=((TH1D*)(myEfficiencyHist->At(0)))->GetYaxis()->GetNbins();
TGaxis* YAxis = new TGaxis(myPad->GetUxmin(), myPad->GetUymin(), myPad->GetUxmin(), myPad->GetUymax(), 0, 110, 510, "-R");
YAxis->SetLineColor(kGreen);
YAxis->SetLabelColor(kGreen);
YAxis->SetTitle("Efficiency of STA for simPts");
YAxis->CenterTitle(1);
YAxis->Draw();
double XAxisMinValue=((TH1D*)(myEfficiencyHist->At(0)))->GetXaxis()->GetXmin();
double XAxisMaxValue=((TH1D*)(myEfficiencyHist->At(0)))->GetXaxis()->GetXmax();
int XAxisNBins=((TH1D*)(myEfficiencyHist->At(0)))->GetXaxis()->GetNbins();
TGaxis* XAxis = new TGaxis(myPad->GetUxmin(), myPad->GetUymin(), myPad->GetUxmax(), myPad->GetUymin(), XAxisMinValue, XAxisMaxValue, 510, "+L");
XAxis->SetTitle("simPt/Gev");
XAxis->CenterTitle(1);
XAxis->Draw();
TLegend *EffLeg = new TLegend(0.1,0.9,0.4,1.0);
EffLeg->SetBorderSize(1);
for(int Index = 0; Index < FileNumber; Index++) {
TString LegKey = TypeName[Index];
EffLeg->AddEntry(myEfficiencyHist->At(Index), LegKey, "lpf");
}
EffLeg->Draw();
string SaveName = OutputPlotNamepreFix + "_Eff2simPt" + OutputPlotNameFix;
myCanvas->SaveAs(SaveName.c_str());
((TH1D*)(myDeltaPtHist->At(0)))->SetStats(0);
((TH1D*)(myDeltaPtHist->At(0)))->GetXaxis()->SetTitle("simPt/Gev");
((TH1D*)(myDeltaPtHist->At(0)))->GetXaxis()->CenterTitle(1);
((TH1D*)(myDeltaPtHist->At(0)))->GetYaxis()->SetTitle("deltPt/simPt");
((TH1D*)(myDeltaPtHist->At(0)))->GetYaxis()->CenterTitle(1);
((TH1D*)(myDeltaPtHist->At(0)))->SetLineColor(kRed);
((TH1D*)(myDeltaPtHist->At(0)))->Draw("");
for(int Index = 1; Index < FileNumber; Index++) {
((TH1D*)(myDeltaPtHist->At(Index)))->SetStats(0);
//((TH1D*)(myDeltaPtHist->At(Index)))->GetXaxis()->SetTitle("simPt/Gev");
//((TH1D*)(myDeltaPtHist->At(Index)))->GetXaxis()->CenterTitle(1);
//((TH1D*)(myDeltaPtHist->At(Index)))->GetYaxis()->SetTitle("deltPt/simPt");
//((TH1D*)(myDeltaPtHist->At(Index)))->GetYaxis()->CenterTitle(1);
((TH1D*)(myDeltaPtHist->At(Index)))->SetLineColor(kRed+Index);
((TH1D*)(myDeltaPtHist->At(Index)))->Draw("same");
//SaveName = OutputPlotNamepreFix + TypeName[Index] + "DeltaPt" + OutputPlotNameFix;
//myCanvas->SaveAs(SaveName.c_str());
}
TLegend *PtLeg = new TLegend(0.6,0.8,0.9,0.9);
PtLeg->SetBorderSize(1);
for(int Index = 0; Index < FileNumber; Index++) {
TString LegKey = TypeName[Index];
PtLeg->AddEntry(myDeltaPtHist->At(Index), LegKey, "lpf");
}
PtLeg->Draw();
SaveName = OutputPlotNamepreFix + "_DeltaPt" + OutputPlotNameFix;
myCanvas->SaveAs(SaveName.c_str());
}
示例2: talk
//.........这里部分代码省略.........
if (draw) pad = new TPad(TString("Pad"+ss.str()),"",0.,0.,1.,1.);
if (pad) {
pad->SetGrid();
pad->Draw();
pad->cd();
pad->SetLogz();
}
TH1F* hr = 0;
if (draw) hr = pad->DrawFrame(0.,0.,1.,1.);
// Histo title
if (hr) {
std::stringstream sss;
sss << "H_{T}=" << ht_min[iht]
<< "(p_{T1},p_{T2},p_{T3})="
<< pt1_min[iht] << ","
<< pt2_min[iht] << ","
<< pt3_min[iht] << ")"
<< ", (x_{1},x_{2},x_{3})="
<< x1_min[iht] << ","
<< x2_min[iht] << ","
<< x3_max[iht] << ")";
hr->SetTitle( sss.str().c_str() );
hr->GetXaxis()->SetTitle( "x_{2}" );
hr->GetYaxis()->SetTitle( "x_{1}" );
}
// Create 2D cross-section plot
TH2D* his = 0;
if (draw) his = new TH2D(TString("Histo"+ss.str()),"",
xbins,xmin,xmax,
ybins,ymin,ymax);
// Fill 2D cross-section plot
for ( int xbin = 0; xbin < xbins; ++xbin ) {
for ( int ybin = 0; ybin < ybins; ++ybin ) {
double x2 = ( ( xmax - xmin ) / xbins ) * xbin + xmin;
double x1 = ( ( ymax - ymin ) / ybins ) * ybin + ymin;
double val = ( x1*x1 + x2*x2 ) / ( ( 1 - x1 ) * ( 1 - x2 ) );
if ( !constrain( x1, x2, x3 ) ) { continue; }
if ( x1 < x1_cut[ix1] ) { continue; }
double alpha_t = x2 / ( 2 * sqrt(x1+x2-1) );
if (his) his->Fill( x2+xbin_centre, x1+ybin_centre, val );
}
}
// Draw 2D cross-section plot
gStyle->SetPalette(1);
if (his) {
his->SetMaximum( his->GetMaximum() );
his->SetMinimum( his->GetMinimum(1.e-12) );
his->Draw("COLZsame");
}
// Pad for AlphaT contours
if (c1) c1->cd();
TPad* overlay = 0;
if (draw) overlay = new TPad(TString("Overlay"+ss.str()),"",0.,0.,1.,1.);
if (overlay) {
overlay->SetFillStyle(4000);
overlay->SetFillColor(0);
overlay->SetFrameFillStyle(4000);
overlay->Draw();
overlay->cd();
}
TH1F* hframe = 0;
if (draw) overlay->DrawFrame(pad->GetUxmin(),
pad->GetUymin(),
pad->GetUxmax(),
pad->GetUymax());
// Graphs of AlphaT contours
TMultiGraph* mg = 0;
if (draw) {
mg = new TMultiGraph();
for ( Int_t iat = 0; iat < nat; iat++ ) {
Double_t alpha_t = at[iat];
const Int_t n_ = 100;
Double_t x1_[n_];
Double_t x2_[n_];
for ( Int_t j = 0; j < 100; j++ ) {
x2_[j] = j*0.01;
Double_t temp = ( x2_[j] - 2. * alpha_t * alpha_t ) / ( 2. * alpha_t );
x1_[j] = temp * temp + 1 - alpha_t * alpha_t;
}
TGraph* gr = new TGraph(n_,x2_,x1_);
mg->Add(gr,"l");
}
mg->Draw();
}
if (c1) c1->cd();
if (c1) c1->SaveAs(TString(ss.str()+".png"));
}
}
示例3: test
//.........这里部分代码省略.........
// << " x2: " << val(x2_bin,nbins)
// << " x1_bin: " << x1_bin
// << " x1: " << val(x1_bin,nbins)
// << " val: " << dalitz[x2_bin][x1_bin]
// << std::endl;
if (his) his->Fill( val(x2_bin,ps)+ps.width/2.,
val(x1_bin,ps)+ps.width/2.,
dalitz[x2_bin][x1_bin] );
}
}
// Draw 2D cross-section plot
gStyle->SetPalette(1);
if (his) {
//his->SetMaximum( his->GetMaximum()*10. );
//his->SetMinimum( his->GetMinimum(1.e-12)*0.1 );
// his->SetMaximum( 1.e9 );
// his->SetMinimum( 1.e0 );
his->Draw("COLZsame");
}
// Pad for AlphaT contours
if (c1) c1->cd();
TPad* overlay = 0;
if (draw) overlay = new TPad(TString("Overlay"+ss.str()),"",0.,0.,1.,1.);
if (overlay) {
overlay->SetFillStyle(4000);
overlay->SetFillColor(0);
overlay->SetFrameFillStyle(4000);
overlay->Draw();
overlay->cd();
}
//TH1F* hframe = 0;
if (draw) overlay->DrawFrame(pad->GetUxmin(),
pad->GetUymin(),
pad->GetUxmax(),
pad->GetUymax());
// Graphs of AlphaT contours
TMultiGraph* mg = 0;
if (draw) {
mg = new TMultiGraph();
for ( Int_t icut = 0; icut < (int)ps.cutValues.size(); icut++ ) {
Double_t alpha_t = ps.cutValues[icut];
const Int_t n = ps.nbins;
DoubleV x1(n,0.);
DoubleV x2(n,0.);
for ( Int_t x2_bin = 0; x2_bin < ps.nbins; x2_bin++ ) {
x2[x2_bin] = x2_bin * ps.width;
x1[x2_bin] = cutAlgoInverse(ps.cutValues[icut],x2[x2_bin],ALGO_TYPE);
}
TGraph* gr = new TGraph(n,&x2.front(),&x1.front());
mg->Add(gr,"l");
}
mg->Draw();
}
if (c1) c1->cd();
if (c1) c1->SaveAs(TString(ss.str()+".png"));
if (c1) c1->SaveAs(TString(ss.str()+".pdf"));
if (c1) c1->SaveAs(TString(ss.str()+".C"));
}
// Canvas for ratio vs Meff
if (false) {
示例4: GE11sEfficiencyScan
//.........这里部分代码省略.........
gr_IV->Draw("sameCP");
gr_V->SetMarkerColor(kBlack);
gr_V->SetLineColor(kBlack);
gr_V->SetMarkerStyle(21);
gr_V->Draw("sameCP");
//create a transparent pad drawn on top of the main pad
c1->cd();
TPad *overlay = new TPad("overlay","",0,0,1,1);
overlay->SetFillStyle(4000);
overlay->SetFillColor(0);
overlay->SetFrameFillStyle(4000);
overlay->Draw();
overlay->cd();
// create second graph
//TGraphErrors* gr_GIF_Num = new TGraphErrors("data_noerror.dat","%lg %lg");
TGraphErrors *gr_GIF_Num = new TGraphErrors(GIF_Nevents.size());
TGraphErrors *gr_IV_Num = new TGraphErrors(IV_Nevents.size());
TGraphErrors *gr_V_Num = new TGraphErrors(V_Nevents.size());
for(unsigned int i=0;i<V_MeanPosOfSector.size();i++)
{
gr_GIF_Num->SetPoint(i,GIF_MeanPosOfSector[i],GIF_Nevents[i]);
gr_IV_Num->SetPoint(i,IV_MeanPosOfSector[i],IV_Nevents[i]);
gr_V_Num->SetPoint(i,V_MeanPosOfSector[i],V_Nevents[i]);
}
gr_GIF_Num->SetMarkerColor(kBlue);
gr_GIF_Num->SetLineColor(kBlue);
gr_GIF_Num->SetLineStyle(2);
gr_GIF_Num->SetLineWidth(3);
gr_GIF_Num->SetMarkerStyle(22);
gr_GIF_Num->SetName("gr_GIF_Num");
gr_IV_Num->SetMarkerColor(kGreen-6);
gr_IV_Num->SetLineColor(kGreen);
gr_IV_Num->SetMarkerStyle(22);
gr_IV_Num->SetLineStyle(2);
gr_IV_Num->SetLineWidth(3);
gr_IV_Num->SetName("gr_IV_Num");
gr_V_Num->SetMarkerColor(kBlack);
gr_V_Num->SetLineColor(kBlack);
gr_V_Num->SetMarkerStyle(22);
gr_V_Num->SetLineStyle(2);
gr_V_Num->SetLineWidth(3);
gr_V_Num->SetName("gr_V_Num");
Double_t xmin = pad->GetUxmin();
Double_t ymin = 0;
Double_t xmax = pad->GetUxmax();
Double_t ymax = 1550;
TH1F *hframe = overlay->DrawFrame(xmin,ymin,xmax,ymax);
hframe->GetXaxis()->SetLabelOffset(99);
hframe->GetYaxis()->SetLabelOffset(99);
hframe->Draw("Y+");
gr_GIF_Num->Draw("CPY+");
gr_IV_Num->Draw("CPY+");
gr_V_Num->Draw("CPY+");
//Draw the Legend
TLegend *leg = new TLegend(0.10,0.732,0.40,0.90);
leg->AddEntry(gr_GIF,"GE11_IV_GIF eff","LPE");
leg->AddEntry(gr_IV,"GE11_IV eff","LPE");
leg->AddEntry(gr_V,"GE11_V eff","LPE");
leg->AddEntry(gr_GIF_Num,"No of events_GE11_IV_GIF","LPE");
leg->AddEntry(gr_IV_Num,"No of events_GE11_IV","LPE");
leg->AddEntry(gr_V_Num,"No of events_GE11_V","LPE");
leg->Draw("same");
const char *runnum = RunName.c_str();
TLatex *t2a = new TLatex(0.00,0.94, runnum );
t2a->SetNDC();
t2a->SetTextFont(42);
t2a->SetTextSize(0.033);
t2a->SetTextAlign(13);
t2a->Draw("same");
//Draw an axis on the right side
TGaxis *axis = new TGaxis(xmax,ymin,xmax, ymax,ymin,ymax,510,"+L");
axis->SetLineColor(kRed);
axis->SetLabelColor(kRed);
axis->SetTitle("Approx. No. of Events");
axis->Draw();
string OutputFileName = "GE11_Efficiency_Scan_"+std::to_string(RunNumber)+".pdf";
const char *CharOutputFileName = OutputFileName.c_str();
c1->SaveAs(CharOutputFileName);
c1->Write();
//tree->Write();
//tree->Write("", TObject::kOverwrite);
f->Write();
}