本文整理汇总了C++中TH1D::SetTitleSize方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1D::SetTitleSize方法的具体用法?C++ TH1D::SetTitleSize怎么用?C++ TH1D::SetTitleSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1D
的用法示例。
在下文中一共展示了TH1D::SetTitleSize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TCanvas
//################################################################################################################################
//################################################################################################################################
//################################################################################################################################
TCanvas *drawRatioPlot(TH1D *prediction, TH1D *sr, TString xTitle, TString filename){
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.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,prediction->GetName(),"pel");
pad1->cd();
//pad1->SetLogy();
sr->SetLineColor(kRed);
sr->SetMarkerColor(kRed);
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");
if(sr->GetMaximum()>prediction->GetMaximum()){
sr->Draw("e");
prediction->Draw("e same");
}
leg->Draw("same");
// Draw both pads to canvas
c->cd();
pad1->Draw();
padRatio->SetGridy();
padRatio->Draw();
c->SaveAs(filename);
return c;
}
开发者ID:telenz,项目名称:HighDeDx-DisappTrks-PostProcessing-ExclusiveBins,代码行数:81,代码来源:a1_fakeRatesFromData.C
示例2: slopevscentrality
//.........这里部分代码省略.........
double star_sysplus[] = { 3.152323796820371, 1.1348034014753392, 0.6881948851887814, 0.3091, 0.3775553601791398, 0.6362180836788593, 0.39244649316817704, 1.060086081410373, 4.931994052105091 };
double xsysstar[] = {1,1,1,1,1,1,1,1,1};
for(i=0;i<9;i++){
star_sysminus[i]/=100;
star_sysplus[i]/=100;
}
gStyle->SetLegendFont(42);
TGraphErrors* slopevscent = new TGraphErrors(6,x_centrality,y_slope,NULL,statErr);
TGraphErrors* ALICE = new TGraphErrors(8,x_alice,y_alice,NULL,alice_statErrors);
TGraphErrors* STAR = new TGraphErrors(9,x_star,y_star,NULL,star_statErrors);
TGraphAsymmErrors* ALICE_sys = new TGraphAsymmErrors(8, x_alice, y_alice, xsysalice, xsysalice, alice_sysminus, alice_sysplus);
TGraphAsymmErrors* STAR_sys = new TGraphAsymmErrors(9, x_star, y_star, xsysstar, xsysstar, star_sysminus, star_sysplus);
slopevscent -> SetMarkerStyle(20);
slopevscent -> SetMarkerColor(kBlack);
ALICE -> SetMarkerStyle(25);
ALICE -> SetMarkerColor(kRed);
ALICE -> SetLineColor(kRed);
STAR -> SetMarkerStyle(kOpenStar);
STAR -> SetMarkerColor(kBlue);
STAR -> SetLineColor(kBlue);
TH1D* base = new TH1D("base","base",1,0,100);
base->GetYaxis()->SetRangeUser(0.00,0.06);
base->GetXaxis()->SetTitle("Centrality(%)");
base->GetYaxis()->SetTitle("Slope parameter(v_{2})");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TCanvas* c3 = MakeCanvas("c3","c3");
TLatex* text_a = makeLatex("CMS pPb #sqrt{s_{NN}}=5.02TeV",0.25,0.85) ;
TLatex* text_b = makeLatex("185 #leq N_{trk}^{offline} < 260",0.25,0.80) ;
TLatex* text_c = makeLatex("0.3 < p_{T} < 3 GeV/c",0.25,0.85) ;
TLatex* text_d = makeLatex("|#Delta#eta| > 2",0.25,0.80) ;
text_a->SetTextFont(42);
text_b->SetTextFont(42);
text_c->SetTextFont(42);
text_d->SetTextFont(42);
slopevscent->SetFillStyle(0);
slopevscent->SetFillColor(0);
slopevscent->SetFillStyle(0);
slopevscent->SetFillColor(0);
gStyle->SetOptTitle(0);
示例3: CombineCentralitiesForDirectory
void CombineCentralitiesForDirectory(TString pairType, TDirectory *dataDir)
{
// Gather the cfs and counts to combine centrality bins
vector<TString> centBins010 = {"05", "510"};
vector<TString> centBins1030 = {"1015", "1520", "2025", "2530"};
vector<TString> centBins3050 = {"3035", "3540", "4045", "4550"};
vector<TString> finalCentBins = {"010", "1030", "3050"};
vector<vector<TString> > centBins;
centBins.push_back(centBins010);
centBins.push_back(centBins1030);
centBins.push_back(centBins3050);
TDirectory *mergeDir = dataDir->GetDirectory("Merged");
if(!mergeDir) {
cout<<"Merge directory does not exist. Cannot merge."<<endl;
return;
}
//For each merge group, get the necessary CFs and counts
for(UInt_t iMerge = 0; iMerge < centBins.size(); iMerge++) {
vector<TH1D*> cfs;
vector<Double_t> counts;
Double_t totalCounts = 0;
for(UInt_t iCF = 0; iCF < centBins[iMerge].size(); iCF++) {
TString cfName = "CF" + pairType + centBins[iMerge][iCF];
TH1D *cf = (TH1D*)mergeDir->Get(cfName);
if(!cf) {
cout<<"Could not find CF named "<<cfName<<" in "<<mergeDir->GetName()<<endl;
return;
}
cfs.push_back(cf);
TString countName = "Count" + pairType + centBins[iMerge][iCF];
TVectorD *count = (TVectorD*) mergeDir->Get(countName);
totalCounts += count[0](0);
counts.push_back(count[0](0));
}
// Finally, combine the CFs
TH1D *combinedCF = CombineCFs(cfs, counts);
if (!combinedCF) {
cout << "Combine CF returned nothing. Continuing loop."
<<endl;
continue;
}
TVectorD finalCount(1);
finalCount[0] = totalCounts;
// Set names
TString combinedCFName = "CF" + pairType + finalCentBins[iMerge];
TString combinedCountName = "Count" + pairType + finalCentBins[iMerge];
combinedCF->SetName(combinedCFName);
combinedCF->SetTitle(combinedCFName);
// Set axis ranges
combinedCF->SetAxisRange(0.9, 1.1, "Y");
combinedCF->SetAxisRange(0., .5, "X");
combinedCF->SetLabelSize(0.05, "X");
combinedCF->SetLabelSize(0.05, "Y");
combinedCF->SetTitleSize(0.05, "X");
combinedCF->SetNdivisions(505, "X");
combinedCF->SetNdivisions(505, "Y");
cout<<"Writing combined CF "<<combinedCF->GetName()
<<" to "<<mergeDir->GetName()<<endl;
combinedCF->SetDirectory(0);
mergeDir->cd();
combinedCF->Write(combinedCF->GetName(), TObject::kOverwrite);
finalCount.Write(combinedCountName, TObject::kOverwrite);
}
}
示例4: EstimateBg_76X
//.........这里部分代码省略.........
if (iMethod!=0&&rebin>1) { h_side->Rebin(rebin); h_signal->Rebin(rebin); h_pred->Rebin(rebin); }
TLegend *leg = (TLegend*)can->GetListOfPrimitives()->At(can->GetListOfPrimitives()->GetEntries()-1);
leg->SetX1(0.35); leg->SetX2(0.65); leg->SetY1(0.6);
// Add ratio plot
int y1 = 350;
int y2 = 150;
int mid2 = 10;
can->Divide(1,2);
// Pad 1 (80+500+20 x 40+500)
TVirtualPad* p = can->cd(1);
p->SetPad(0,(y2+60+mid2)/(y1+y2+100.0+mid2),1,1);
p->SetTopMargin(40.0/(y1+40));
p->SetBottomMargin(0);
p->SetRightMargin(0.05);
p->SetLogy(1);
h_side->GetYaxis()->SetRangeUser(1.00001e-4,1e4);
h_side->Draw("HIST");
h_signal->Draw("SAMEHISTE1");
leg->Draw();
// Pad 2 (80+500+20 x 200+60)
p = can->cd(2);
p->SetGrid(0,1);
p->SetPad(0,0,1,(y2+60+mid2)/(y1+y2+100.0+mid2));
p->SetTopMargin(((float)mid2)/(y2+60+mid2));
p->SetBottomMargin(60.0/(y2+60+mid2));
p->SetRightMargin(0.05);
TH1D* ratio = (TH1D*)h_signal->Clone();
TH1D* div = (TH1D*)h_side->Clone();
//ratio->Scale(1/ratio->GetSumOfWeights());
double sum_bins_ratio = iMethod==0 ? ratio->Integral():
ratio->Integral(ratio->FindBin(R_CUT_LOW),ratio->FindBin(Rranges_ABCD[iMethod][3]));
ratio->Scale(1/sum_bins_ratio);
ratio->SetTitleSize(32.0/(y2+60+mid2),"xyz");
ratio->SetLabelSize(20.0/(y2+60+mid2),"xyz");
//ratio->Scale(1/div->GetSumOfWeights());
double sum_bins_div = iMethod==0 ? div->Integral():
div->Integral(div->FindBin(R_CUT_LOW),div->FindBin(Rranges_ABCD[iMethod][3]));
div->Scale(1/sum_bins_div);
ratio->Divide(div);
//ratio->GetYaxis()->SetRangeUser(0,2);
ratio->GetXaxis()->SetTitleOffset(0.7);
ratio->GetYaxis()->SetNdivisions(305);
ratio->GetYaxis()->SetTitle("Ratio (Norm.)");
ratio->GetYaxis()->SetTitleOffset(0.4);
ratio->SetTitleSize(24.0/(y2+60+mid2),"y");
ratio->SetTitle("");
ratio->SetMarkerStyle(20);
ratio->SetMarkerColor(1);
ratio->SetLineColor(1);
ratio->GetYaxis()->SetRangeUser(0,4);
ratio->Draw("PE1");
TLine* l = new TLine(ratio->GetXaxis()->GetXmin(), 1, ratio->GetXaxis()->GetXmax(), 1);
l->SetLineWidth(2);
//l->SetLineColor(2);
l->SetLineStyle(2);
l->Draw();
gPad->Update();
// Fit ratio
//TF1 *fit_ratio;
//if (iMethod==1) {
// fit_ratio = new TF1("fit_ratio","pol0", Rranges_ABCD[iMethod][0], Rranges_ABCD[iMethod][1]);
// fit_ratio->SetLineColor(1);
// ratio->Fit("fit_ratio","RE");
// fit_ratio->SetRange(Rranges_ABCD[iMethod][0], Rranges_ABCD[iMethod][2]);
// fit_ratio->Draw("SAME");
示例5: DrawComparison
TCanvas* DrawComparison(TH1D* prediction, TH1D* selection, TString Title, TString LumiTitle, TString xTitle, bool isData)
{
double MinX = selection->GetXaxis()->GetXmin();
double MaxX = selection->GetXaxis()->GetXmax();
double MaxY = selection->GetMaximum();
double YRangeMax = MaxY;
TString titlePrediction;
TString titleSelection;
TString RatioTitle;
if( isData ){
titlePrediction = "Data";
titleSelection = "MC";
RatioTitle = "(Data-MC)/MC";
}
else {
titlePrediction = "Data-driven Pred. from MC";
titleSelection = "MC Expectation";
RatioTitle = "(Pred-MC)/MC";
}
//static Int_t c_LightBrown = TColor::GetColor( "#D9D9CC" );
static Int_t c_LightGray = TColor::GetColor( "#DDDDDD" );
prediction->SetAxisRange(MinX, MaxX, "X");
prediction->GetYaxis()->SetRangeUser(0.005, YRangeMax);
prediction->SetMarkerStyle(20);
prediction->SetMarkerSize(0.9);
prediction->SetMarkerColor(kBlack);
prediction->SetXTitle(xTitle);
prediction->SetYTitle("Events");
selection->SetAxisRange(MinX, MaxX, "X");
selection->GetYaxis()->SetRangeUser(0.05, YRangeMax);
// selection->SetFillColor(c_LightBrown);
selection->SetFillColor(c_LightGray);
selection->SetTitle("");
selection->SetXTitle(xTitle);
selection->SetYTitle("Events");
TCanvas *c = new TCanvas("ca", "Comparison and ratio of two histos", 700, 700);
TPad *pad1 = new TPad("pad1a", "pad1a", 0, 0.35, 1, 1);
//pad1->SetLogy();
pad1->SetBottomMargin(0);
pad1->Draw();
pad1->cd();
selection->DrawCopy("hist");
prediction->Draw("same");
selection->SetFillColor(kAzure-3);
selection->SetFillStyle(3354);
selection->DrawCopy("e2same");
selection->SetFillStyle(1001);
// selection->SetFillColor(c_LightBrown);
selection->SetFillColor(c_LightGray);
TLegend* leg1 = new TLegend(0.48, 0.63, 0.95, 0.83);
leg1->SetFillStyle(0);
leg1->SetLineStyle(1);
leg1->SetTextFont(42);
leg1->SetTextSize(0.04);
leg1->AddEntry(selection, titleSelection, "lf");
leg1->AddEntry(prediction, titlePrediction, "lep");
leg1->Draw("same");
TPaveText* pt = new TPaveText(0.11, 0.98, 0.95, 0.86, "NDC");
pt->SetBorderSize(0);
pt->SetFillStyle(0);
pt->SetTextAlign(12);
pt->SetTextSize(0.045);
pt->AddText(Title);
pt->AddText(LumiTitle);
pt->Draw();
c->cd();
TPad *pad2 = new TPad("pad2a", "pad2a", 0, 0, 1, 0.35);
pad2->SetTopMargin(0);
pad2->Draw();
pad2->cd();
TH1D* r = new TH1D(*selection);
r->SetTitle("");
r->SetLabelSize(0.08, "XYZ");
r->SetLabelOffset(0.01, "XYZ");
r->SetTitleSize(0.09, "XYZ");
r->SetTitleOffset(0.65, "Y");
r->SetTickLength(0.05);
r->SetYTitle(RatioTitle);
r->SetStats(0);
r->SetMarkerStyle(20);
r->SetMarkerSize(0.9);
r->SetMarkerColor(kBlack);
r->Reset();
r->Add(prediction, 1);
r->Add(selection, -1);
r->Divide(selection);
r->SetMaximum(1.2);
r->SetMinimum(-1.2);
r->Draw("ep");
TLine l;
l.DrawLine(MinX, 0., MaxX, 0.);
c->cd();
return c;
}
示例6: 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;
}
示例7: if
TCanvas *drawRatioPlot(TH1D *prediction, TH1D *sr, TH1D *data, TString xTitle, TString filename, double ecaloCut){
gStyle -> SetPadLeftMargin(0.20);
data->SetMarkerStyle(20);
data->SetMarkerColor(kGreen);
data->SetLineColor(kGreen);
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);
pad1->SetNumber(100);
pad1->SetTicks(0,1);
cout<<"number pad1 = "<<pad1->GetNumber()<<endl;
cout<<"number padRatio = "<<padRatio->GetNumber()<<endl;
TH1D *ratio = 0;
//ratio = (TH1D*) sr->Clone();
//ratio->Divide(prediction);
ratio = (TH1D*) prediction->Clone();
ratio->Divide(data);
for(int i=1; i<=ratio->GetNbinsX();i++){
if(ratio->GetBinContent(i) != 0){
cout<<"N in CR in "<<i<<". bin ="<<prediction->GetBinContent(i)<<endl;
cout<<"N in SR in "<<i<<". bin ="<<sr->GetBinContent(i)<<endl;
cout<<"Rel. difference in "<<i<<". bin ="<<(1./ratio->GetBinContent(i)-1.)*100<<"%"<<endl;
}
else if(sr->GetBinContent(i) == 0 && prediction->GetBinContent(i) !=0) cout<<"Scaling Factor in "<<i<<". bin <"<<prediction->GetBinContent(i)/1.15<<" +/- "<<ratio->GetBinError(i)<<endl;
else if(sr->GetBinContent(i) != 0 && prediction->GetBinContent(i) ==0) cout<<"Scaling Factor in "<<i<<". bin <"<<(sr->GetEntries()/prediction->GetEntries())/sr->GetBinContent(i)<<" +/- "<<ratio->GetBinError(i)<<endl;
}
ratio->GetYaxis()->SetTitle("#frac{CR (MC)}{CR (data)}");
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("e");
// 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.7,0.9,0.9);
leg->AddEntry(sr,"SR (MC)","l");
leg->AddEntry(prediction,"lepton CR (MC)","pel");
pad1->cd();
pad1->SetLogy();
// pad1->SetLogx();
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);
double maximum = 0;
double minimum = 1000000;
if(sr->GetMinimum()!=0 && sr->GetMinimum()<minimum){
minimum=sr->GetMinimum()*0.5;
}
if(prediction->GetMinimum()!=0 && prediction->GetMinimum()<minimum){
minimum=prediction->GetMinimum()*0.5;
}
if(data->GetMinimum()!=0 && data->GetMinimum()<minimum){
minimum=data->GetMinimum()*0.5;
}
//.........这里部分代码省略.........
示例8: figure2_0_generate
//.........这里部分代码省略.........
TFile *rebinned = new TFile("~/Summer2016/root_forgraphs/figure2_0_notcorrected.root","RECREATE");
gr_pos->Write();
gr_neg->Write();
gr_diff->Write();
/*
gr_pos->RemovePoint(0);
gr_pos->RemovePoint(5);
gr_neg->RemovePoint(0);
gr_neg->RemovePoint(5);
gr_diff->RemovePoint(0);
gr_diff->RemovePoint(5);
*/
gStyle->SetLegendFont(42);
TH1D* base = new TH1D("base","base",1,-0.20,0.20);
//pPb
//base->GetYaxis()->SetRangeUser(0.065, 0.075);
base->GetYaxis()->SetRangeUser(0.06, 0.12);
//PbPb
//base->GetYaxis()->SetRangeUser(0.093, 0.103);
base->GetXaxis()->SetTitle("Observed A_{ch}");
base->GetYaxis()->SetTitle("v_{2}{2}");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TH1D* base2 = new TH1D("base2","base2",1,-0.2,0.2);
base2->GetYaxis()->SetRangeUser(-0.03, 0.03);
base2->GetXaxis()->SetTitle("Observed A_{ch}");
base2->GetYaxis()->SetTitle(" (v^{#minus}_{2} #minus v^{#plus}_{2})/(v^{#minus}_{2} #plus v^{#plus}_{2}) ");
base2->GetXaxis()->CenterTitle();
base2->GetYaxis()->CenterTitle();
base2->SetTitleSize (0.040,"X");
base2->SetTitleOffset(1.4,"X");
base2->SetTitleFont (42,"X");
base2->SetLabelOffset(0.006,"X");
base2->SetLabelSize (0.040,"X");
base2->SetLabelFont (42 ,"X");
base2->SetTitleSize (0.040,"Y");
base2->SetTitleOffset(2.0,"Y");
base2->SetTitleFont (42,"Y");
base2->SetLabelOffset(0.006,"Y");
base2->SetLabelSize (0.040,"Y");
base2->SetLabelFont (42 ,"Y");
示例9: getResHist
TH1D* getResHist(const string& inFileName, const string& histName,
double minResRatio) {
cout<<"Creating histogram for "<<inFileName<<endl;
// Get the hit-to-lpc residual for residuals > 30% of maximum residual
int nR = 120;
double rMin = 0.0;
double rMax = 600.0;
TH1D* theHist = new TH1D(histName.c_str(), "", nR, rMin, rMax);
theHist->SetDirectory(0);
theHist->SetXTitle("Hit-to-lpc residuals #delta r' larger than 30% of #delta r_{max} (mm)");
theHist->GetYaxis()->SetTicks("+");
theHist->GetYaxis()->SetLabelOffset(-0.03);
theHist->SetTitleOffset(1.25, "Y");
theHist->GetXaxis()->CenterTitle(kTRUE);
theHist->SetTitleSize(0.045, "X");
theHist->SetLabelSize(0.045, "X");
theHist->SetLabelSize(0.05, "Y");
TFile* theFile = TFile::Open(inFileName.c_str(), "read");
TTree* lpcTree = dynamic_cast<TTree*>(theFile->Get("lpcTree"));
vector<double>* hitResiduals = 0;
lpcTree->SetBranchAddress("hitResiduals", &hitResiduals);
int nEntries = lpcTree->GetEntries();
for (int i = 0; i < nEntries; i++) {
// Get the residual info
lpcTree->GetEntry(i);
// Sort the vector of hit residuals for this lpc cluster
std::sort(hitResiduals->begin(), hitResiduals->end());
// Get the maximum residual
int nResiduals = hitResiduals->size();
double maxResidual = (*hitResiduals)[nResiduals-1];
// Only consider hit residuals that are larger than minResidual
double minResidual = minResRatio*maxResidual;
double nPassRes(0.0), nTotRes(0.0);
for (int j = 0; j < nResiduals; j++) {
double resValue = (*hitResiduals)[j];
if (resValue > minResidual) {
// We have a residual distance that is large enough
theHist->Fill(resValue);
}
} // Loop over residuals
}
// Normalise the histogram
double scale(1.0);
double integral = theHist->Integral();
if (integral > 0.0) {scale = 1.0/integral;}
theHist->Scale(scale);
theFile->Close();
return theHist;
}
示例10: main
int main(int argc, char** argv){
TString chfile;
TString chfileref;
TString DirectoryLast;
TString labelData;
TString labelRef;
int ntrueargs = 0;
bool logyFlag = true;
bool normalize = false;
for (int i=1; i<argc; ++i) {
if (argv[i][0] == '-') {
if (argv[i][1]=='l') logyFlag = false;
else if (argv[i][1]=='b') gROOT->SetBatch();
else if (argv[i][1]=='h') return printUsage();
else if (argv[i][1]=='n') normalize=true;
else if (argv[i][1]=='D') labelData = argv[i+1];
else if (argv[i][1]=='R') labelRef= argv[i+1];
} else {
ntrueargs += 1;
if (ntrueargs==1) chfile = argv[i];
else if (ntrueargs==2) chfileref = argv[i];
else if (ntrueargs==3) DirectoryLast = argv[i];
}
}
if (ntrueargs<3) return printUsage();
TRint* app = new TRint("CMS Root Application", 0, 0);
TString cmssw_version = gSystem->Getenv("CMSSW_VERSION");
TString chsample = "EWKMu";
TString chtitle = chsample + " validation for " + cmssw_version;
//TCanvas* c1 = new TCanvas("c1",chtitle.Data());
TCanvas* c1 = new TCanvas("c1",chtitle.Data(),0,0,1024,768);
c1->SetFillColor(0);
TPaveLabel* paveTitle = new TPaveLabel(0.1,0.93,0.9,0.99, chtitle.Data());
paveTitle->Draw();
paveTitle->SetFillColor(0);
gStyle->SetOptLogy(logyFlag);
gStyle->SetPadGridX(true);
gStyle->SetPadGridY(true);
gStyle->SetOptStat(0);
// gStyle->SetFillColor(0);
TPad* pad[4];
pad[0] = new TPad("pad_tl","The top-left pad",0.01,0.48,0.49,0.92);
pad[0]->SetFillColor(0);
pad[1] = new TPad("pad_tr","The top-right pad",0.51,0.48,0.99,0.92);
pad[1]->SetFillColor(0);
pad[2] = new TPad("pad_bl","The bottom-left pad",0.01,0.01,0.49,0.46);
pad[2]->SetFillColor(0);
pad[3] = new TPad("pad_br","The bottom-right pad",0.51,0.01,0.99,0.46);
pad[3]->SetFillColor(0);
for (unsigned int i=0; i<4; ++i) pad[i]->Draw();
TLegend* leg = new TLegend(0.6041667,0.7487715,0.9861111,0.9576167);
leg->SetFillColor(0);
TFile* input_file = new TFile(chfile.Data(),"READONLY");
TFile* input_fileref = new TFile(chfileref.Data(),"READONLY");
bool first_plots_done = false;
TString directory = DirectoryLast + "/BeforeCuts";
TDirectory* dir_before = input_file->GetDirectory(directory);
TDirectory* dirref_before = input_fileref->GetDirectory(directory);
TList* list_before = dir_before->GetListOfKeys();
list_before->Print();
unsigned int list_before_size = list_before->GetSize();
TString auxTitle = chtitle + ": BEFORE CUTS";
for (unsigned int i=0; i<list_before_size; i+=4) {
if (first_plots_done==true) c1->DrawClone();
paveTitle->SetLabel(auxTitle.Data());
for (unsigned int j=0; j<4; ++j) {
pad[j]->cd();
pad[j]->Clear();
if ((i+j)>=list_before_size) continue;
TH1D* h1 = (TH1D*)dir_before->Get(list_before->At(i+j)->GetName());
// h1->SetLineColor(kBlue);
// h1->SetMarkerColor(kBlue);
h1->SetMarkerStyle(21);
h1->SetLineStyle(1);
h1->SetLineWidth(3);
h1->SetTitleSize(0.05,"X");
h1->SetTitleSize(0.05,"Y");
TString title=(TString)dir_before->Get(list_before->At(i+j)->GetName())->GetTitle();
TString name=(TString)dir_before->Get(list_before->At(i+j)->GetName())->GetName();
TString nameD =name+"_MC";
h1->SetXTitle(title);
//.........这里部分代码省略.........
示例11: CumulantErrGraph_v2_normalized
//.........这里部分代码省略.........
//error bars
err_pos[i] = sqrt(variance_pos);
err_neg[i] = sqrt(variance_neg);
err_diff[i] = sqrt(variance_diff);
}
cout << low << upp << endl;
for(i=0;i<NAchBins;i++){
cout << x[i] << ", ";
}
cout << endl << "v2" << endl;
for(i=0;i<NAchBins;i++){
cout << v2_diff[i] << ", ";
}
cout << endl << "v2 error" <<endl;
for(i=0;i<NAchBins;i++){
cout << "error is: " << err_pos[i] << endl;
}
gStyle->SetLegendFont(42);
TH1D* base = new TH1D("base","base",1,-0.3,0.3);
//pPb
//base->GetYaxis()->SetRangeUser(0.065, 0.075);
//PbPb
base->GetYaxis()->SetRangeUser(0.018, 0.03);
base->GetXaxis()->SetTitle("Observed A_{ch}");
base->GetYaxis()->SetTitle("v_{3}{2}");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TH1D* base2 = new TH1D("base2","base2",1,-0.4,0.4);
base2->GetYaxis()->SetRangeUser(-0.06, 0.06);
base2->GetXaxis()->SetTitle("Observed A_{ch}");
base2->GetYaxis()->SetTitle(" #frac{ v_{3}^{#minus} #minus v_{3}^{#plus} }{ v_{3}^{#minus} #plus v_{3}^{#plus} } ");
base2->GetXaxis()->CenterTitle();
base2->GetYaxis()->CenterTitle();
base2->SetTitleSize (0.040,"X");
base2->SetTitleOffset(1.4,"X");
base2->SetTitleFont (42,"X");
base2->SetLabelOffset(0.006,"X");
base2->SetLabelSize (0.040,"X");
base2->SetLabelFont (42 ,"X");
base2->SetTitleSize (0.040,"Y");
base2->SetTitleOffset(2.0,"Y");
base2->SetTitleFont (42,"Y");
base2->SetLabelOffset(0.006,"Y");
base2->SetLabelSize (0.040,"Y");
base2->SetLabelFont (42 ,"Y");
示例12: ALICE_Comparison
//.........这里部分代码省略.........
v2_pos[i] = sqrt(cmean);
errmean = c2_pos[i][0] -> GetMeanError();
variance_pos = (errmean*errmean)/(4*cmean);
//negative
cmean = c2_neg[i][0] -> GetMean();
v2_neg[i] = sqrt(cmean);
errmean = c2_neg[i][0] -> GetMeanError();
variance_neg = (errmean*errmean)/(4*cmean);
//difference
v2_diff[i] = (v2_neg[i] - v2_pos[i])/(v2_neg[i] + v2_pos[i]);
sum = v2_pos[i] + v2_neg[i];
variance_diff = (4*v2_neg[i]*v2_neg[i]*variance_pos)/(sum*sum*sum*sum)+(4*v2_pos[i]*v2_pos[i]*variance_neg)/(sum*sum*sum*sum);
//error bars
err_pos[i] = sqrt(variance_pos);
err_neg[i] = sqrt(variance_neg);
err_diff[i] = sqrt(variance_diff);
}
gStyle->SetLegendFont(42);
TH1D* base = new TH1D("base","base",1,-0.2,0.2);
//pPb
base->GetYaxis()->SetRangeUser(0.10, 0.11);
base->GetXaxis()->SetTitle("Observed A_{ch}");
base->GetYaxis()->SetTitle("v_{2}{SP}");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TH1D* base2 = new TH1D("base2","base2",1,-0.2,0.2);
base2->GetYaxis()->SetRangeUser(-0.05, 0.05);
base2->GetXaxis()->SetTitle("Observed A_{ch}");
base2->GetYaxis()->SetTitle(" (v^{#minus}_{2} #minus v^{#plus}_{2})/(v^{#minus}_{2} #plus v^{#plus}_{2}) ");
base2->GetXaxis()->CenterTitle();
base2->GetYaxis()->CenterTitle();
base2->SetTitleSize (0.040,"X");
base2->SetTitleOffset(1.4,"X");
base2->SetTitleFont (42,"X");
base2->SetLabelOffset(0.006,"X");
base2->SetLabelSize (0.040,"X");
base2->SetLabelFont (42 ,"X");
base2->SetTitleSize (0.040,"Y");
base2->SetTitleOffset(2.0,"Y");
base2->SetTitleFont (42,"Y");
base2->SetLabelOffset(0.006,"Y");
base2->SetLabelSize (0.040,"Y");
base2->SetLabelFont (42 ,"Y");
示例13: CumulantErrGraph_v2_allgraphs_cent
//.........这里部分代码省略.........
variance_neg = (errmean*errmean)/(4*cmean);
//difference
v2_diff[i] = (v2_neg[i] - v2_pos[i])/(v2_neg[i] + v2_pos[i]);
sum = v2_pos[i] + v2_neg[i];
variance_diff = (4*v2_neg[i]*v2_neg[i]*variance_pos)/(sum*sum*sum*sum)+(4*v2_pos[i]*v2_pos[i]*variance_neg)/(sum*sum*sum*sum);
//error bars
cout << "xcoord " << x[i] << endl;
err_pos[i] = sqrt(variance_pos);
err_neg[i] = sqrt(variance_neg);
err_diff[i] = sqrt(variance_diff);
}
gStyle->SetLegendFont(42);
TH1D* base = new TH1D("base","base",1,-0.12,0.12);
//pPb
//base->GetYaxis()->SetRangeUser(0.065, 0.075);
base->GetYaxis()->SetRangeUser(range_start, range_end);
//PbPb
//base->GetYaxis()->SetRangeUser(0.093, 0.103);
base->GetXaxis()->SetTitle("Corrected A_{ch}");
base->GetYaxis()->SetTitle("v_{2}{2}");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TH1D* base2 = new TH1D("base2","base2",1,-0.12,0.12);
base2->GetYaxis()->SetRangeUser(-0.03, 0.03);
base2->GetXaxis()->SetTitle("Corrected A_{ch}");
base2->GetYaxis()->SetTitle(" (v^{#minus}_{2} #minus v^{#plus}_{2})/(v^{#minus}_{2} #plus v^{#plus}_{2}) ");
base2->GetXaxis()->CenterTitle();
base2->GetYaxis()->CenterTitle();
base2->SetTitleSize (0.040,"X");
base2->SetTitleOffset(1.4,"X");
base2->SetTitleFont (42,"X");
base2->SetLabelOffset(0.006,"X");
base2->SetLabelSize (0.040,"X");
base2->SetLabelFont (42 ,"X");
base2->SetTitleSize (0.040,"Y");
base2->SetTitleOffset(2.0,"Y");
base2->SetTitleFont (42,"Y");
base2->SetLabelOffset(0.006,"Y");
base2->SetLabelSize (0.040,"Y");
base2->SetLabelFont (42 ,"Y");
示例14: figure2_0_generator
//.........这里部分代码省略.........
variance_neg = (errmean*errmean)/(4*cmean);
//difference
v2_diff[i] = (v2_neg[i] - v2_pos[i])/(v2_neg[i] + v2_pos[i]);
sum = v2_pos[i] + v2_neg[i];
variance_diff = (4*v2_neg[i]*v2_neg[i]*variance_pos)/(sum*sum*sum*sum)+(4*v2_pos[i]*v2_pos[i]*variance_neg)/(sum*sum*sum*sum);
//error bars
cout << "xcoord " << x[i] << endl;
err_pos[i] = sqrt(variance_pos);
err_neg[i] = sqrt(variance_neg);
err_diff[i] = sqrt(variance_diff);
}
gStyle->SetLegendFont(42);
TH1D* base = new TH1D("base","base",1,-0.15,0.15);
//pPb
//base->GetYaxis()->SetRangeUser(0.065, 0.075);
base->GetYaxis()->SetRangeUser(0.065, 0.075);
//PbPb
//base->GetYaxis()->SetRangeUser(0.093, 0.103);
base->GetXaxis()->SetTitle("Observed A_{ch}");
base->GetYaxis()->SetTitle("v_{2}{2}");
base->GetXaxis()->CenterTitle();
base->GetYaxis()->CenterTitle();
base->SetTitleSize (0.040,"X");
base->SetTitleOffset(1.4,"X");
base->SetTitleFont (42,"X");
base->SetLabelOffset(0.006,"X");
base->SetLabelSize (0.040,"X");
base->SetLabelFont (42 ,"X");
base->SetTitleSize (0.040,"Y");
base->SetTitleOffset(2.2,"Y");
base->SetTitleFont (42,"Y");
base->SetLabelOffset(0.006,"Y");
base->SetLabelSize (0.040,"Y");
base->SetLabelFont (42 ,"Y");
base->SetLineWidth(0);
TH1D* base2 = new TH1D("base2","base2",1,-0.15,0.15);
base2->GetYaxis()->SetRangeUser(-0.03, 0.03);
base2->GetXaxis()->SetTitle("Observed A_{ch}");
base2->GetYaxis()->SetTitle(" (v^{#minus}_{2} #minus v^{#plus}_{2})/(v^{#minus}_{2} #plus v^{#plus}_{2}) ");
base2->GetXaxis()->CenterTitle();
base2->GetYaxis()->CenterTitle();
base2->SetTitleSize (0.040,"X");
base2->SetTitleOffset(1.4,"X");
base2->SetTitleFont (42,"X");
base2->SetLabelOffset(0.006,"X");
base2->SetLabelSize (0.040,"X");
base2->SetLabelFont (42 ,"X");
base2->SetTitleSize (0.040,"Y");
base2->SetTitleOffset(2.0,"Y");
base2->SetTitleFont (42,"Y");
base2->SetLabelOffset(0.006,"Y");
base2->SetLabelSize (0.040,"Y");
base2->SetLabelFont (42 ,"Y");
示例15: etaPlotter
//.........这里部分代码省略.........
profppMC[i]->SetMarkerColor(8);
profppMC[i]->SetLineColor(8);
profppMC[i]->Draw("same");
}
//Plot mean
/*Double_t pPb_nmult[5] = {5.658, 12.3924,17.3349,24.0448,36.3906};
Double_t pPb_avgPt[5] = {etaDistropPb[0]->GetMean(), etaDistropPb[1]->GetMean(), etaDistropPb[2]->GetMean(), etaDistropPb[3]->GetMean(), etaDistropPb[4]->GetMean()};
Double_t pPb_nmultErr[5] = {0.0097,0.01997,0.028038,0.0343,0.07198};
Double_t pPb_avgPtErr[5] = {etaDistropPb[0]->GetMeanError(), etaDistropPb[1]->GetMeanError(), etaDistropPb[2]->GetMeanError(), etaDistropPb[3]->GetMeanError(), etaDistropPb[4]->GetMeanError()};
Double_t MC_nmult[5] = {5.20261,12.3461,17.3005,23.8401,34.7769};
Double_t MC_avgPt[5] = {etaDistropPbMC[0]->GetMean(), etaDistropPbMC[1]->GetMean(), etaDistropPbMC[2]->GetMean(), etaDistropPbMC[3]->GetMean(), etaDistropPbMC[4]->GetMean()};
Double_t MC_nmultErr[5] = {0.0043,0.01139,0.01656.0.0211,0.0549};
Double_t MC_avgPtErr[5] = {etaDistropPbMC[0]->GetMeanError(), etaDistropPbMC[1]->GetMeanError(), etaDistropPbMC[2]->GetMeanError(), etaDistropPbMC[3]->GetMeanError(), etaDistropPbMC[4]->GetMeanError()};
Double_t PbPb_nmult[4] = {11.6405,30.6015,49.7908,64.897};
Double_t PbPb_avgPt[4] = {etaDistroPbPb[0]->GetMean(), etaDistroPbPb[1]->GetMean(), etaDistroPbPb[2]->GetMean(), etaDistroPbPb[3]->GetMean()};
Double_t PbPb_nmultErr[4] = {0.2618,0.2188,0.1961,0.1493};
Double_t PbPb_avgPtErr[4] = {etaDistroPbPb[0]->GetMeanError(), etaDistroPbPb[1]->GetMeanError(), etaDistroPbPb[2]->GetMeanError(), etaDistroPbPb[3]->GetMeanError()};*/
//Double_t pPb_nmult[5] = {5.658, 12.3924,17.3349,24.0448,36.3906}; //for hiHFplusEta4
Double_t pPb_nmult[5] = {12.699,22.424,27.356,34.192,47.624}; //for HFplusEta4 + HFminusEta4
Double_t pPb_avgPt[5] = {findDelPhiAngle(etaDistropPb[0],1), findDelPhiAngle(etaDistropPb[1],1), findDelPhiAngle(etaDistropPb[2],1), findDelPhiAngle(etaDistropPb[3],1), findDelPhiAngle(etaDistropPb[4],1)};
Double_t pPb_nmultErr[5] = {0.012, 0.0296, 0.0375, 0.0406, 0.0715};
Double_t pPb_avgPtErr[5] = {findDelPhiAngle(etaDistropPb[0],2), findDelPhiAngle(etaDistropPb[1],2), findDelPhiAngle(etaDistropPb[2],2), findDelPhiAngle(etaDistropPb[3],2), findDelPhiAngle(etaDistropPb[4],2)};
//Double_t MC_nmult[5] = {5.20261,12.3461,17.3005,23.8401,34.7769}; //for hiHFplusEta4
Double_t MC_nmult[5] = {11.9707, 22.4454, 27.4279, 34.4833, 47.2613}; //for hiHFplusEta4 + hiHFminusEta4
//Double_t MC_nmult[5] = {1,3,5,8,12}; //for signal only sample
Double_t MC_avgPt[5] = {findDelPhiAngle(etaDistropPbMC[0],1), findDelPhiAngle(etaDistropPbMC[1],1), findDelPhiAngle(etaDistropPbMC[2],1), findDelPhiAngle(etaDistropPbMC[3],1), findDelPhiAngle(etaDistropPbMC[4],1)};
Double_t MC_nmultErr[5] = {0.004,0.013,0.015,0.015,0.022};
Double_t MC_avgPtErr[5] = {findDelPhiAngle(etaDistropPbMC[0],2), findDelPhiAngle(etaDistropPbMC[1],2), findDelPhiAngle(etaDistropPbMC[2],2), findDelPhiAngle(etaDistropPbMC[3],2), findDelPhiAngle(etaDistropPbMC[4],2)};
Double_t PbPb_nmult[3] = {15.1924, 37.45, 71.267};
Double_t PbPb_avgPt[3] = {findDelPhiAngle(etaDistroPbPb[0],1), findDelPhiAngle(etaDistroPbPb[1],1), findDelPhiAngle(etaDistroPbPb[2],1)};
Double_t PbPb_nmultErr[3] = {0.274, 0.296, 0.262};
Double_t PbPb_avgPtErr[3] = {findDelPhiAngle(etaDistroPbPb[0],2), findDelPhiAngle(etaDistroPbPb[1],2), findDelPhiAngle(etaDistroPbPb[2],2)};
Double_t pp_nmult[4] = {6.504, 21.78, 26.17, 31.65};
Double_t pp_avgPt[4] = {findDelPhiAngle(etaDistroppData[0],1), findDelPhiAngle(etaDistroppData[1],1), findDelPhiAngle(etaDistroppData[2],1), findDelPhiAngle(etaDistroppData[3],1)};
Double_t pp_nmultErr[4] = {0.04, 1.29, 3.62, 5.63};
Double_t pp_avgPtErr[4] = {findDelPhiAngle(etaDistroppData[0],2), findDelPhiAngle(etaDistroppData[1],2), findDelPhiAngle(etaDistroppData[2],2), findDelPhiAngle(etaDistroppData[3],2)};
/* TH1D *ppSum = etaDistroppData[0]->Clone("ppSum");
for(int i=1; i<5; i++){
ppSum->Add(etaDistroppData[i]);
}
Double_t pp_nmult[1] = {3.5};
Double_t pp_nmultErr[1] = {0.1};
Double_t pp_avgPt[1] = {findDelPhiAngle(ppSum,1)};
Double_t pp_avgPtErr[1] = {findDelPhiAngle(ppSum,2)};*/
TGraphErrors *centr2[3];
centr2[0] = new TGraphErrors(5,pPb_nmult, pPb_avgPt, pPb_nmultErr, pPb_avgPtErr);
centr2[1] = new TGraphErrors(3,PbPb_nmult, PbPb_avgPt, PbPb_nmultErr, PbPb_avgPtErr);
centr2[2] = new TGraphErrors(5,MC_nmult, MC_avgPt, MC_nmultErr, MC_avgPtErr);
centr2[3] = new TGraphErrors(1,pp_nmult, pp_avgPt, pp_nmultErr, pp_avgPtErr);
TLatex *label1 = new TLatex(40,0.1,"|#eta|< 3");
TH1D *temp = new TH1D("temp","",1,0,60);
temp->SetMaximum(-0.1);
temp->SetMinimum(-0.7);
temp->SetXTitle("E_{T}^{HF[|#eta|>4]}");
temp->SetYTitle("((#eta_{1}+#eta_{2})/2)_{#mu}");
temp->GetXaxis()->CenterTitle();
temp->GetYaxis()->CenterTitle();
temp->GetYaxis()->SetLabelSize(0.08);
temp->GetYaxis()->SetTitleOffset(0.5);
temp->SetTitleSize(0.1, "y");
temp->GetXaxis()->SetLabelSize(0.08);
//temp->GetXaxis()->SetTitleOffset(0.5);
temp->SetTitleSize(0.1, "x");
TCanvas *c4 = new TCanvas("c4","",600,600);
c4->cd();
temp->Draw();
centr2[0]->Draw("P,same");
centr2[1]->SetLineColor(8);
centr2[1]->SetMarkerColor(8);
centr2[1]->SetMarkerStyle(25);
//centr2[1]->Draw("P,same");
centr2[2]->SetLineColor(2);
centr2[2]->SetMarkerColor(2);
centr2[2]->Draw("P,same");
centr2[3]->SetMarkerColor(4);
centr2[3]->SetLineColor(4);
centr2[3]->SetMarkerStyle(24);
//centr2[3]->Draw("P,same");
//label1->Draw();
etaDistropPb[0]->Scale(1./etaDistropPb[0]->Integral());
TFile *fout = new TFile("hist_output_etaLT3_akPu3PF_ForPawan.root","UPDATE");
fout->cd();
for(int i=0; i<6; i++){
etaDistropPb[i]->Write();
}
centr2[0]->SetNameTitle("dijEta","Dijet Eta vs Hf");
centr2[0]->Write();
fout->Close();
}