本文整理汇总了C++中TProfile::SetTitle方法的典型用法代码示例。如果您正苦于以下问题:C++ TProfile::SetTitle方法的具体用法?C++ TProfile::SetTitle怎么用?C++ TProfile::SetTitle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TProfile
的用法示例。
在下文中一共展示了TProfile::SetTitle方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: overlayTProfiles
TProfile* overlayTProfiles(TH2F* hdata, TH2F* hdy, float ymin, float ymax, TString savename)
{
// See how the mean of the dimumass changes vs some variable by making TProfiles of a 2D histogram with the Dimu mass as the y axis.
// Compare data to MC and save the results as png files.
TString dataname = TString("Golden_JSON_DoubleMuon_Data");
TString dyname = TString("Drell_Yan_Monte_Carlo_2015");
// Make TProfiles from them to see how the mean changes vs the x variable.
TProfile* pdata = hdata->ProfileX();
pdata->SetLineColor(1);
pdata->SetLineWidth(3);
pdata->SetTitle(hdata->GetTitle());
pdata->GetYaxis()->SetTitle(hdata->GetYaxis()->GetTitle());
TProfile* pdy = hdy->ProfileX();
pdy->SetLineColor(2);
pdy->SetLineWidth(3);
pdy->SetTitle(hdy->GetTitle());
pdy->GetYaxis()->SetTitle(hdy->GetYaxis()->GetTitle());
std::cout<< "hdata: " << hdata << std::endl;
std::cout<< "hdy: " << hdy << std::endl;
std::cout<< "pdata: " << pdata << std::endl;
std::cout<< "pdy: " << pdy << std::endl;
TCanvas* c = new TCanvas();
c->SetGridx(kTRUE);
c->SetGridy(kTRUE);
// Draw data and MC on the same plot
// Have to draw the same plots twice to get error bars and a curve through the error bars.
c->cd();
// hdata->Draw("colz");
pdata->SetAxisRange(ymin,ymax,"Y");
pdata->Draw("hist c");
pdata->Draw("E X0 same");
pdy->Draw("hist c same");
pdy->Draw("E X0 same");
// Stat box alignment
DiMuPlottingSystem* dps = new DiMuPlottingSystem();
dps->arrangeStatBox(c);
// Legend
TLegend* l = new TLegend(0.15, 0.15, 0.7, 0.25, "", "brNDC");
l->AddEntry(pdata, dataname, "l");
l->AddEntry(pdy, dyname, "l");
l->Draw("same");
c->Print(savename);
return pdata;
}
示例2: flavor_ana
void flavor_ana(int doMC=1,
const char * JecType = "abs",
const char * inFile0Name="../outputs/jetSkimRelValQCD_Pt_80_120_sw354-JEC_Summer09_7TeV_ReReco332.root",
const char * inFile1Name="djtree_JEC_Summer09_7TeV_ReReco332.root")
{
// Define Inputs
cout << "======= Inputs: ========" << endl;
//cout << "Inclusive jets: " << inFile0Name << endl;
//cout << "Dijets: " << inFile1Name << endl;
//TFile * inFile0 = new TFile(inFile0Name);
//TFile * inFile1 = new TFile(inFile1Name);
TFile * inFile0 = new TFile("../outputs/jetSkimRelValQCD_Pt_80_120_sw354-JEC_Summer09_7TeV_ReReco332.root");
TFile * inFile1 = new TFile(Form("djtree_JEC_Summer09_7TeV_ReReco332_%s.root",JecType));
TTree * Events;
inFile0->GetObject("Events",Events);
TTree * djtree;
inFile1->GetObject("djtree",djtree);
aliases(Events);
// === Dijets ===
cout << endl << "================ dijets ==============" << endl;
Int_t numPreSelEvtl = djtree->GetEntries("vz>-99");
cout << "Events:" << endl;
cout << "- with none-fake vtx: " << numPreSelEvtl << endl;
// - selection -
TCut evtSelDj("nlpet>80 && nlpet<120 && alpet>80 && jdphi>2.8");
TCut evtSelDj2("nlpet>80 && nlpet<120 && alpet>80 && jdphi>3.0");
Int_t numSelEvt1 = djtree->GetEntries(evtSelDj);
cout << "- Passing sel: " << numSelEvt1 << endl;
Int_t numSelEvt2 = djtree->GetEntries(evtSelDj2);
cout << "- Passing diphi sel: " << numSelEvt2 << endl;
// === flavor studies ===
TProfile * hNrJFlav = new TProfile("hNrJFlav","flavor",10,85,110);
hNrJFlav->SetMarkerColor(kRed);
hNrJFlav->SetLineColor(kRed);
hNrJFlav->SetMarkerStyle(kOpenCircle);
hNrJFlav->SetMinimum(0.);
hNrJFlav->SetMaximum(0.7);
hNrJFlav->SetTitle(";p_{T}^{gen jet};q jet fraction");
TProfile * hAwJFlav = (TProfile*)hNrJFlav->Clone("hAwJFlav");
hAwJFlav->SetMarkerColor(kBlue);
hAwJFlav->SetLineColor(kBlue);
TCanvas * cJFlav = new TCanvas("cJFlav","cJFlav",500,500);
TCut matParton("nlpstat>-99&&alpstat>-99");
djtree->Draw("(abs(nlpid)<6):nlpet>>hNrJFlav",evtSelDj&&matParton,"prof");
djtree->Draw("(abs(alpid)<6):alpet>>hAwJFlav",evtSelDj&&matParton,"prof same");
TLegend *leg2 = new TLegend(0.605,0.216,0.905,0.369,NULL,"brNDC");
leg2->SetFillColor(0);
leg2->SetBorderSize(0);
leg2->SetTextSize(0.03);
leg2->AddEntry(hNrJFlav,"Di-Jets, Near Jet","p");
leg2->AddEntry(hAwJFlav,"Di-Jets, Away Jet","p");
leg2->Draw();
cJFlav->Print("plots/cDJFlavor.gif");
}
示例3: getProfile
//------------------------------------------------------------//
// Get TProfile
//------------------------------------------------------------//
TProfile* getProfile(TFile* file, TString pname, TString xtitle,
TString ytitle, int color, int marker)
{
TProfile* prof = (TProfile*) (file->Get(pname.Data())->Clone(Form("%s_%i",pname.Data(),color)));
prof->GetXaxis()->SetTitle(xtitle.Data());
prof->GetYaxis()->SetTitle(ytitle.Data());
prof->SetMarkerStyle(marker);
prof->SetMarkerColor(color);
//prof->SetMarkerSize(0.5);
prof->SetLineColor(color);
prof->SetTitle("");
prof->SetStats(0);
prof->GetYaxis()->SetTitleOffset(1.5);
return prof;
}
示例4: Fake100PeVShower
void Fake100PeVShower(int opt)
{
// opt == 0 implies save to root file
// opt == 1 implies plot and save to canvas
TFile* file = NULL;
TCanvas* c = NULL;
if(opt == 0)
file = new TFile("fake100PeVShower.root","recreate");
if(opt == 1)
c = makeCanvas("c");
TString gaus = "1.5e7*TMath::Exp(-(pow(x-10,2)/9))";
TString bump = "5e6*TMath::Exp(-(pow(x-17,2)/20))";
TF1* f = new TF1("f",(gaus+"+"+bump).Data(),0,30);
int nbins = 3000;
float xmin = 0;
float xmax = 30;
TProfile* prof = new TProfile("prof","",nbins,xmin,xmax);
prof->SetStats(0);
prof->SetTitle("");
prof->GetYaxis()->SetTitle("Charge excess / 1e7");
prof->GetXaxis()->SetTitle("z [m]");
float step = xmax / nbins;
for(int i =0; i<nbins; ++i){
float x = step * i;
if(opt == 1 ) prof->Fill(x, f->Eval(x)/1e7);
else prof->Fill(x, f->Eval(x));
}
if(opt == 1){
prof->Draw();
c->SaveAs("JaimeCheck/FakeProfile100PeV.png");
}
if(opt == 0){
file->Write();
file->Close();
}
}
示例5: drawOutputOfBensNumberZeroedChannel16BH
void drawOutputOfBensNumberZeroedChannel16BH(){
// gStyle->SetOptStat("mre");
auto cOld = new TChain("angResTree");
// cOld->Add("januaryTests/photogrammetryNumbers/generateAngularResolutionTreePlots_3*.root");
cOld->Add("januaryTests/photogrammetryNumbersZeroedChannel16BH_cosminV3Trees/generateAngularResolutionTreePlots_3*.root");
auto cNew = new TChain("angResTree");
cNew->Add("januaryTests/bensNumbersZeroedChannel16BH_cosminV3Trees/generateAngularResolutionTreePlots_3*.root");
const Int_t numVars = 2;
TString drawVars[numVars] = {"deltaPhiDeg", "deltaThetaDeg"};
TString varNames[numVars] = {"#delta#phi", "#delta#theta"};
for(int varInd=0; varInd < numVars; varInd++){
auto c1 = new TCanvas();
const Int_t numPhiBins = 128;
TProfile* hProfOld = new TProfile("hProfOld", "Photogrammetry", numPhiBins, 0, 360);
TH1D* hOld = new TH1D("hOld", "Photogrammetry", numPhiBins/2, -5, 5);
TString drawCommandOld = TString::Format("%s:phiExpected>>hProfOld", drawVars[varInd].Data());
cOld->Draw(drawCommandOld, "TMath::Abs(deltaPhiDeg) < 5", "goff");
TString drawCommandOld2 = TString::Format("%s>>hOld", drawVars[varInd].Data());
cOld->Draw(drawCommandOld2, "TMath::Abs(deltaPhiDeg) < 5", "goff");
hProfOld->SetLineColor(kBlue);
hOld->SetLineColor(kBlue);
TProfile* hProfNew = new TProfile("hProfNew", "Ben's numbers", numPhiBins, 0, 360);
TH1D* hNew = new TH1D("hNew", "Ben's numbers", numPhiBins/2, -5, 5);
TString drawCommandNew = TString::Format("%s:phiExpected>>hProfNew", drawVars[varInd].Data());
cNew->Draw(drawCommandNew, "TMath::Abs(deltaPhiDeg) < 5", "goff");
TString drawCommandNew2 = TString::Format("%s>>hNew", drawVars[varInd].Data());
cNew->Draw(drawCommandNew2, "TMath::Abs(deltaPhiDeg) < 5", "goff");
hProfNew->SetLineColor(kRed);
hNew->SetLineColor(kRed);
hProfNew->Draw();
hProfOld->Draw("same");
// hProfOld->Draw();
// hProfNew->Draw("same");
auto l = c1->BuildLegend();
l->Draw();
// TH1D* hs[2] = {hOld, hNew};
TH1D* hs[2] = {hNew, hOld};
TCanvas* c2 = RootTools::drawHistsWithStatsBoxes(2, hs, "", "mre");
auto l2 = c2->BuildLegend();
l2->Draw();
hProfNew->SetTitle("Comparison of WAIS divide photogrammetry vs. Ben's numbers "+varNames[varInd]+" ; Expected #phi (Degrees); " + varNames[varInd] + " (Degrees)");
hProfOld->SetTitle("Comparison of WAIS divide photogrammetry vs. Ben's numbers "+varNames[varInd]+" ; Expected #phi (Degrees); " + varNames[varInd] + " (Degrees)");
c1->Update();
hOld->SetTitle("Comparison of WAIS divide pulses "+varNames[varInd]+", photogrammetry vs. Ben's numbers;"+varNames[varInd]+" (Degrees); Events/bin");
hNew->SetTitle("Comparison of WAIS divide pulses "+varNames[varInd]+", photogrammetry vs. Ben's numbers;"+varNames[varInd]+" (Degrees); Events/bin");
c2->Update();
}
}
示例6: draw_clouds_profiles
void draw_clouds_profiles()
{
// gROOT->ProcessLine(".L ../utils.C");
// gROOT->ProcessLine(".L AliLRCFit.cxx");
TFile *f[8];
// f[0] = new TFile( "output_classesByV0M_LHC10h.root" );
// f[0] = new TFile( "output_classesByV0M_LHC10h_c10_5_1.root" );
f[0] = new TFile( "output_classesByV0M_LHC10h_c10_5_25_1_05.root" );
// f[0] = new TFile( "output_classesByV0M_LHC11h_FemtoPlus_c10_5_CUT_OUTLIERS.root" );
// f[0] = new TFile( "output_classesByV0M_LHC15o_fieldMM_c10_5_CUT_OUTLIERS.root" );
// f[0] = new TFile( "output_classesByV0M_LHC15o_fieldPP_c10_5_CUT_OUTLIERS.root" );
// const int nCW = 2; //nCentrWidths
// const double cWidths[nCW] = { 10, 5 }; //width of the centrality bins
// const double cStep[nCW] = { 5, 2.5 }; //centrality bins step
// const int nCentrBins[nCW] = { 17, 35 }; //n centrality bins
// const int nCW = 3; //nCentrWidths
// const double cWidths[nCW] = { 10, 5, 1.0 }; //width of the centrality bins
// const double cStep[nCW] = { 5, 2.5, 1.0 }; //centrality bins step
// const int nCentrBins[nCW] = { 17, 35, 90 }; //n centrality bins
// const int nCW = 4; //nCentrWidths
// const double cWidths[nCW] = { 10, 5, 1.0, 0.5 }; //width of the centrality bins
// const double cStep[nCW] = { 5, 2.5, 1.0, 1.0 }; //centrality bins step
// const int nCentrBins[nCW] = { 17, 35, 90, 90 }; //n centrality bins
const int nCW = 5; //nCentrWidths
const double cWidths[nCW] = { 10, 5, 2.5, 1.0, 0.5 }; //width of the centrality bins
const double cStep[nCW] = { 5, 2.5, 2.5, 1.0, 1.0 }; //centrality bins step
const int nCentrBins[nCW] = { 17, 35, 36, 90, 90 }; //n centrality bins
TH2D *hist2D;//[200][3];
TProfile *profile;//[200][3];
int cW = 2;
int etaW = 1;
int phiW = 0;
const int kCorrType = 1; //0-NN, 1-PtPt, 2-PtN
TCanvas *canv_tmp_for_fit = new TCanvas("canv_tmp_for_fit","canv_tmp_for_fit",50,50,300,300 );
TCanvas *canv_2D_clouds = new TCanvas("canv_2D_clouds","canv_2D_clouds",150,250,1400,600 );
tuneCanvas(canv_2D_clouds);
canv_2D_clouds->Divide(2,1);
gStyle->SetOptStat( kFALSE );
TGraph *grFromFit2D = new TGraph;
bool firstDraw = true;
// for ( int cBin = 0; cBin < nCentrBins[cW]; cBin++ )
for ( int cBin = nCentrBins[cW]-1; cBin >= 0; cBin-- )
{
if (cBin%2!=0)
continue;
// cout << "cBin=" << cBin << endl;
float cBinMin = cStep[cW] * cBin;
float cBinMax = cWidths[cW] + cStep[cW] * cBin;
// ##### pad 1 - clouds
tunePad( canv_2D_clouds->cd(1) );
if ( kCorrType == 0 )
{
hist2D = (TH2D*)f[0]->Get( Form("hist2D_NN_c%.1f-%.1f_etaW_%d_phiW_%d", cBinMin, cBinMax, etaW, phiW) );
hist2D->SetTitle( "");
hist2D->GetXaxis()->SetTitle( "N_{ch} Forward");
hist2D->GetYaxis()->SetTitle( "N_{ch} Backward");
hist2D->GetXaxis()->SetRangeUser(0,650);
hist2D->GetYaxis()->SetRangeUser(0,650);
}
else if ( kCorrType == 1 )
{
hist2D = (TH2D*)f[0]->Get( Form("hist2D_PtPt_c%.1f-%.1f_etaW_%d_phiW_%d", cBinMin, cBinMax, etaW, phiW) );
hist2D->SetTitle( "");
hist2D->GetXaxis()->SetTitle( "#LTp_{T}#GT Forward");
hist2D->GetYaxis()->SetTitle( "#LTp_{T}#GT Backward");
} hist2D->SetMarkerColor(kOrange-9+cBin);
tuneHist2D_onPad(hist2D);
hist2D->GetXaxis()->CenterTitle();
hist2D->GetYaxis()->CenterTitle();
// removeBinsWithFewEntries(hist2D);
hist2D->DrawCopy( firstDraw ? "" : "same" );
// ##### pad 2 - profiles
tunePad( canv_2D_clouds->cd(2) );
profile = hist2D->ProfileX(); //(TProfile*)f[0]->Get( Form("hist2D_c%.1f-%.1f_etaW_%d_phiW_%d_pfx", cBinMin, cBinMax, etaW, phiW) );
if ( kCorrType == 0 )
{
profile->SetTitle( "");
profile->GetYaxis()->SetTitle( "#LTN_{ch}#GT Backward");
profile->GetXaxis()->SetRangeUser(0,650);
profile->GetYaxis()->SetRangeUser(0,650);
}
//.........这里部分代码省略.........