本文整理汇总了C++中TH1F::SetEntries方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1F::SetEntries方法的具体用法?C++ TH1F::SetEntries怎么用?C++ TH1F::SetEntries使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1F
的用法示例。
在下文中一共展示了TH1F::SetEntries方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawOverflow
TH1F * DrawOverflow(TH1F *h)
{
// This function paint the histogram h with an extra bin for overflows
UInt_t nx = h->GetNbinsX()+1;
Double_t *xbins= new Double_t[nx+1];
for (UInt_t i=0;i<nx;i++)
xbins[i]=h->GetBinLowEdge(i+1);
xbins[nx]=xbins[nx-1]+h->GetBinWidth(nx);
char *tempName= new char[strlen(h->GetName())+10];
sprintf(tempName,"%swtOverFlow",h->GetName());
// Book a temporary histogram having ab extra bin for overflows
TH1F *htmp = new TH1F(tempName, h->GetTitle(), nx, xbins);
// Reset the axis labels
htmp->SetXTitle(h->GetXaxis()->GetTitle());
htmp->SetYTitle(h->GetYaxis()->GetTitle());
// Fill the new hitogram including the extra bin for overflows
for (UInt_t i=1; i<=nx; i++)
htmp->Fill(htmp->GetBinCenter(i), h->GetBinContent(i));
// Fill the underflows
htmp->Fill(h->GetBinLowEdge(1)-1, h->GetBinContent(0));
// Restore the number of entries
htmp->SetEntries(h->GetEntries());
// FillStyle and color
htmp->SetFillStyle(h->GetFillStyle());
htmp->SetFillColor(h->GetFillColor());
return htmp;
}
示例2: AddOverflow
TH1* AddOverflow(TH1* h) {
++overflowCounter;
TString name = h->GetName();
Int_t nx = h->GetNbinsX()+1;
Double_t bw = h->GetBinWidth(nx);
Double_t x1 = h->GetBinLowEdge(1);
Double_t x2 = h->GetBinLowEdge(nx) + bw;
// Book a new histogram having an extra bin for overflows
TH1F* htmp = new TH1F(Form(name + "_overflow_%d", overflowCounter), "", nx, x1, x2);
// Fill the new histogram including the extra bin for overflows
for (Int_t i=1; i<=nx; i++) {
htmp->Fill(htmp->GetBinCenter(i), h->GetBinContent(i));
htmp->SetBinError(i, h->GetBinError(i));
}
// Fill the underflow
htmp->Fill(x1-1, h->GetBinContent(0));
// Restore the number of entries
htmp->SetEntries(h->GetEntries());
// Cosmetics
htmp->SetLineColor(h->GetLineColor());
htmp->SetLineWidth(h->GetLineWidth());
htmp->GetXaxis()->SetTitleOffset(1.5);
return htmp;
}
示例3: PaintOverflow
void PaintOverflow(TH1 *h)
{
// This function paint the histogram h with an extra bin for overflows
char* name = h->GetName();
char* title = h->GetTitle();
Int_t nx = h->GetNbinsX()+1;
Double_t x1 = h->GetBinLowEdge(1);
Double_t bw = h->GetBinWidth(nx);
Double_t x2 = h->GetBinLowEdge(nx)+bw;
// Book a temporary histogram having ab extra bin for overflows
TH1F *htmp = new TH1F(name, title, nx, x1, x2);
// Fill the new hitogram including the extra bin for overflows
for (Int_t i=1; i<=nx; i++) {
htmp->Fill(htmp->GetBinCenter(i), h->GetBinContent(i));
}
// Fill the underflows
htmp->Fill(x1-1, h->GetBinContent(0));
// Restore the number of entries
htmp->SetEntries(h->GetEntries());
// Draw the temporary histogram
htmp->Draw();
/*
TText *t = new TText(x2-bw/2,h->GetBinContent(nx),"Overflow");
t->SetTextAngle(90);
t->SetTextAlign(12);
t->SetTextSize(0.03);;
t->Draw();
*/
}
示例4: fixrange
TH1F* fixrange(TH1F* old, int numB) {
float x1, x2;
string name = old->GetName();
if (name.find("Ht")!=string::npos) {
x1 = 30.;
x2 = 500.;
if (numB==2) x2 = 400.;
} else if (name.find("jet_pt")!=string::npos) {
x1 = 30.;
x2 = 300.;
if (numB==2) {
if (name.find("first")!=string::npos) x2 = 200.;
if (name.find("second")!=string::npos) x2 = 120.;
}
} else if (name.find("pt_Z")!=string::npos) {
x1 = 0.;
x2 = 300.;
if (numB==2) x2 = 230.;
} else {
x1 = old->GetXaxis()->GetBinCenter(1);
x2 = old->GetXaxis()->GetBinCenter(old->GetNbinsX());
}
int nx = old->GetXaxis()->FindBin(x2)-old->GetXaxis()->FindBin(x1)+1;
x1 = old->GetXaxis()->GetBinLowEdge(old->GetXaxis()->FindBin(x1));
x2 = old->GetXaxis()->GetBinUpEdge(old->GetXaxis()->FindBin(x2));
TH1F* tmp = new TH1F("tmp",old->GetTitle(),nx,x1,x2);
tmp->Sumw2();
tmp->GetXaxis()->SetTitle(old->GetXaxis()->GetTitle());
tmp->GetYaxis()->SetTitle(old->GetYaxis()->GetTitle());
for (int i=0;i<=old->GetNbinsX()+1;i++) {
int ii = tmp->GetXaxis()->FindBin(old->GetXaxis()->GetBinCenter(i));
float c1 = tmp->GetBinContent(ii);
float e1 = tmp->GetBinError(ii);
float c2 = old->GetBinContent(i);
float e2 = old->GetBinError(i);
tmp->SetBinContent(ii,c1+c2);
tmp->SetBinError(ii,TMath::Sqrt(e1*e1+e2*e2));
}
tmp->SetEntries(old->GetEntries());
old->Delete();
tmp->SetName(name.c_str());
return tmp;
}
示例5: unfoldPt
//.........这里部分代码省略.........
{
test->SetParameter(i,1);
}
hdphi2->SetXTitle("|#Delta#phi|");
hdphi2->SetYTitle("Arbitrary Normalization");
hdphi2->Fit("histFunMC","M");
hdphi->SetXTitle("|#Delta#phi|");
hdphi->SetYTitle("Arbitrary Normalization");
hdphi->Fit("histFun","M");
hdphi->SetStats(0);
hdphi->Draw();
for (int i=0;i<nPtBin+1;i++) {
TF1 *testPlot = new TF1(Form("histFun%d",i),myfun,&histFunction2D::evaluate,0,maxDphi,nPtBin+1);
testPlot->SetParameter(i,test->GetParameter(i));
testPlot->SetLineColor(i+2);
testPlot->Draw("same");
}
int total=0,totalMC=0;
for (int i=0;i<nPtBin;i++){
if (test->GetParameter(i)==0) continue;
hptUnfold->SetBinContent(i+1,fabs(test->GetParameter(i)));
hptUnfold->SetBinError(i+1,test->GetParError(i));
hptMC->SetBinContent(i+1,fabs(test2->GetParameter(i)));
hptMC->SetBinError(i+1,test2->GetParError(i));
total+=fabs(test->GetParameter(i));
totalMC+=fabs(test2->GetParameter(i));
}
hptUnfold->SetEntries(total);
hptMC->SetEntries(totalMC);
TCanvas *c3 = new TCanvas("c3","",600,600);
hpt->Sumw2();
hptH->Sumw2();
//hptMC->Sumw2();
double normMC=0;
double norm=0;
double normTruth=0;
hptUnfold->SetMarkerColor(2);
hptUnfold->SetMarkerStyle(4);
// hptUnfold->Scale(1./hptUnfold->GetEntries());
TH1F *hptCorrected = (TH1F*)hptUnfold->Clone();
hptCorrected->SetName("hptCorrected");
hptMC->Divide(hpt);
hptCorrected->Divide(hptMC);
for (int i=0;i<nPtBin;i++){
if (hptMC->GetBinContent(i)<=0.001)hptCorrected->SetBinContent(i,0);
}
hptCorrected->Scale(1./(hptCorrected->GetSum()));
hptCorrected->SetMarkerStyle(20);
hpt->Scale(1./hpt->GetEntries());
if (hptH->GetEntries())hptH->Scale(1./hptH->GetEntries());
hptTemp->SetXTitle("ln(P_{T}) GeV/c");
hptTemp->SetYTitle("Arbitrary Normalization");
hptTemp->Draw();
hptH->SetXTitle("ln(P_{T}) GeV/c");
hptH->SetYTitle("Arbitrary Normalization");
hptH->Draw("hist");
hptH->SetLineColor(4);
hpt->Draw("hist same ");
hptCorrected->Draw("same");
TH1F *hptUnfoldRatio = (TH1F*)hptUnfold->Clone();
hptUnfoldRatio->SetName("hptUnfoldRatio");
hptUnfoldRatio->Scale(1./hptUnfoldRatio->GetSum());
//hptUnfoldRatio->Divide(hptH);
TH1F *hptCorrectedRatio = (TH1F*)hptCorrected->Clone();
hptCorrectedRatio->SetName("hptCorrectedRatio");
hptCorrectedRatio->SetMarkerColor(2);
//hptCorrectedRatio->Divide(hptH);
TCanvas *c4 = new TCanvas("c4","",600,600);
TLine *l = new TLine(-2.5,1,2.5,1);
hptUnfoldRatio->Draw();
hptMC->Draw("same");
hptCorrectedRatio->Draw("same");
l->Draw("same");
}
示例6: Merged
//.........这里部分代码省略.........
h->SetBinError(9,0.03705591);
h->SetBinError(10,0.04099286);
h->SetBinError(11,0.04343548);
h->SetBinError(12,0.04578501);
h->SetBinError(13,0.04641467);
h->SetBinError(14,0.04724716);
h->SetBinError(15,0.04782712);
h->SetBinError(16,0.04802226);
h->SetBinError(17,0.04770762);
h->SetBinError(18,0.046514);
h->SetBinError(19,0.04567878);
h->SetBinError(20,0.04468691);
h->SetBinError(21,0.04495247);
h->SetBinError(22,0.04638064);
h->SetBinError(23,0.0467562);
h->SetBinError(24,0.04758271);
h->SetBinError(25,0.0476898);
h->SetBinError(26,0.04722145);
h->SetBinError(27,0.04716998);
h->SetBinError(28,0.04630726);
h->SetBinError(29,0.04542014);
h->SetBinError(30,0.04412348);
h->SetBinError(31,0.04113188);
h->SetBinError(32,0.0379081);
h->SetBinError(33,0.03413879);
h->SetBinError(34,0.02999127);
h->SetBinError(35,0.02713829);
h->SetBinError(36,0.02485859);
h->SetBinError(37,0.02067049);
h->SetBinError(38,0.01572504);
h->SetBinError(39,0.01026746);
h->SetBinError(40,0.007226653);
h->SetBinError(41,0.006016045);
h->SetEntries(237505);
h->SetFillColor(1);
h->SetFillStyle(0);
h->SetLineStyle(0);
h->SetMarkerStyle(21);
h->SetMarkerColor(4);
h->SetMarkerSize(1.25);
h->GetXaxis()->SetTitle("#eta");
h->GetXaxis()->SetLabelFont(42);
h->GetXaxis()->SetLabelOffset(0.01);
h->GetXaxis()->SetLabelSize(0.045);
h->GetXaxis()->SetTitleSize(0.055);
h->GetXaxis()->SetTitleFont(42);
h->GetYaxis()->SetTitle("dN/d#eta");
h->GetYaxis()->SetLabelFont(42);
h->GetYaxis()->SetLabelOffset(0.01);
h->GetYaxis()->SetLabelSize(0.045);
h->GetYaxis()->SetTitleSize(0.055);
h->GetYaxis()->SetTitleOffset(1.3);
h->GetYaxis()->SetTitleFont(42);
h->GetZaxis()->SetLabelFont(42);
h->GetZaxis()->SetLabelSize(0.045);
h->GetZaxis()->SetTitleFont(42);
TH1F *hATLAS = new TH1F("hATLAS","",40,-10,10);
hATLAS->SetBinContent(0,0.08524267);
hATLAS->SetBinContent(1,0.1512688);
hATLAS->SetBinContent(2,0.3321015);
hATLAS->SetBinContent(3,0.6415373);
hATLAS->SetBinContent(4,0.9425967);
hATLAS->SetBinContent(5,1.193397);
hATLAS->SetBinContent(6,1.452082);