本文整理汇总了C++中TH1D::SetOption方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1D::SetOption方法的具体用法?C++ TH1D::SetOption怎么用?C++ TH1D::SetOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1D
的用法示例。
在下文中一共展示了TH1D::SetOption方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TH1D * rootstuff::newTH1D(char *name,char *comment,__int32 bins,double xmin,double xmax,char *titelx,char *option)
{
TH1D * hist;
hist = new TH1D(name,comment,bins,xmin,xmax);
hist->SetOption(option);
hist->GetXaxis()->SetTitle(titelx);
return hist;
}
示例2: sprintf
TH1D * rootstuff::newTH1D(__int32 number,char *comment,__int32 bins,double xmin,double xmax,char *titelx,char *option)
{
char name[200];
TH1D * hist;
sprintf(name,"%i",number);
hist = new TH1D(name,comment,bins,xmin,xmax);
hist->SetOption(option);
hist->GetXaxis()->SetTitle(titelx);
return hist;
}
示例3: Plot_McollRatio
void Plot_McollRatio(TString file, TString fakefile, TString sample, TString SR, bool subtractFakes)
{
SetAtlasStyle();
#ifdef __CINT__
gROOT->LoadMacro("AtlasUtils.C");
#endif
double xmin = 50;
double xmax = 400;
TFile* f = new TFile(file);
TFile* fakef = new TFile(fakefile);
TH1D* hME;
TH1D* hEM;
//if (isScaled){
// hME =(TH1D*)f->Get("ME_scaled");//nom/ME_McollHiggs_Unblind");
// hEM =(TH1D*)f->Get("EM");//nom/EM_McollHiggs_Unblind");
// hME_orig = (TH1D*)f->Get("ME_original");
// hEM_orig = (TH1D*)f->Get("EM_original");
//}
//else{
hME =(TH1D*)f->Get("nom/ME_McollHiggs_Unblind");
hEM =(TH1D*)f->Get("nom/EM_McollHiggs_Unblind");
//}
if (subtractFakes){
TH1D* hME_fake = (TH1D*)fakef->Get("nom/ME_McollHiggs_Unblind");
TH1D* hEM_fake = (TH1D*)fakef->Get("nom/EM_McollHiggs_Unblind");
hME->Add(hME_fake,-1);
hEM->Add(hEM_fake,-1);
}
hEM->SetMarkerStyle(8); hEM->SetMarkerSize(0.7);
hEM->SetLineColor(kPink + 8);hEM->SetOption("e1");
hEM->SetMarkerColor(kPink + 8);
hME->SetMarkerStyle(8); hME->SetMarkerSize(0.7);
hME->SetLineColor(kTeal - 6);hME->SetOption("e1");
hME->SetMarkerColor(kTeal - 6);
hME->GetXaxis()->SetLabelOffset(0); hME->GetXaxis()->SetLabelSize(0);
hEM->GetXaxis()->SetLabelOffset(0); hEM->GetXaxis()->SetLabelSize(0);
hEM->GetXaxis()->SetRangeUser(xmin,xmax); hME->GetXaxis()->SetRangeUser(xmin,xmax);
hEM->GetYaxis()->SetTitleOffset(1.0);
hME->GetYaxis()->SetTitleOffset(1.0);
// hEM_orig->SetMarkerStyle(8); hEM_orig->SetMarkerSize(0.7);
// hEM_orig->SetLineColor(kPink + 8);hEM_orig->SetOption("e1");
// hEM_orig->SetMarkerColor(kPink + 8);
// hME_orig->SetMarkerStyle(8); hME_orig->SetMarkerSize(0.7);
// hME_orig->SetLineColor(kTeal - 6);hME_orig->SetOption("e1");
// hME_orig->SetMarkerColor(kTeal - 6);
// hME_orig->GetXaxis()->SetLabelOffset(0); hME_orig->GetXaxis()->SetLabelSize(0);
// hEM_orig->GetXaxis()->SetLabelOffset(0); hEM_orig->GetXaxis()->SetLabelSize(0);
// hEM_orig->GetXaxis()->SetRangeUser(xmin,xmax); hME_orig->GetXaxis()->SetRangeUser(xmin,xmax);
// hEM_orig->GetYaxis()->SetTitleOffset(1.0);
// hME_orig->GetYaxis()->SetTitleOffset(1.0);
double numEM = hEM->Integral();
double numME = hME->Integral();
cout<<"# entries EM = " << numEM << endl;
cout<<"# entries ME = " << numME << endl;
// TH1D* ratio2 = GetRatio(hEM_orig,hME_orig,xmin,xmax);
// TH1D* diff2 = GetDiff(hEM_orig,hME_orig,xmin,xmax);
TH1D* ratio = GetRatio(hEM,hME,xmin,xmax);
TH1D* diff = GetDiff(hEM,hME,xmin,xmax);
TLegend* leg = new TLegend(0.6,0.45,0.75,0.55);
leg->SetFillColor(kWhite); leg->SetBorderSize(1); leg->SetLineColor(0); leg->SetTextFont(42);
leg->SetTextSize(.05);
TLine* line1 = new TLine(xmin,1,xmax,1); line1->SetLineColor(kRed); line1->SetLineStyle(2);
TLine* line14 = new TLine(xmin,1.5,xmax,1.5); line14->SetLineStyle(9);
line14->SetLineColor(kBlack);
TLine* line13 = new TLine(xmin,2./3,xmax,2./3); line13->SetLineStyle(2);
line13->SetLineColor(kRed);
TLine* line12 = new TLine(xmin,2,xmax,2); line12->SetLineStyle(9);
line12->SetLineColor(kBlack);
TLine* line15 = new TLine(xmin,0.5,xmax,0.5); line15->SetLineStyle(9);
line15->SetLineColor(kBlack);
TLine* line2 = new TLine(xmin,0,xmax,0); line2->SetLineColor(kBlack); line2->SetLineStyle(9);
TLine* vline1 = new TLine(100,0,100,3000); vline1->SetLineStyle(2);
TLine* vline2 = new TLine(150,0,150,3000); vline2->SetLineStyle(2);
TCanvas* c0 = new TCanvas("mcoll ","mcoll ",600,600); c0=c0;
TPad *pad1 = new TPad("pad1", "12<L1<15",0.0,0.2,1,1.0,21); pad1->SetMargin(0.1,0.1,0.02,0.2);
TPad *pad2 = new TPad("pad2", "ratio", 0.0,0,1,0.2,21); pad2->SetMargin(0.1,0.1,0.3,0.02);
// TPad *pad3 = new TPad("pad3", "diff", 0.0,0,1,0.2,21); pad3->SetMargin(0.1,0.1,0.3,0.02);
pad1->SetFillColor(0);pad2->SetFillColor(0);//pad3->SetFillColor(0);
pad1->Draw(); pad2->Draw();//pad3->Draw();
pad1->cd();
//.........这里部分代码省略.........
示例4: FitMCshape
//_______________________________________
void FitMCshape(AliDielectronSignalBase *sig)
{
TFile mcFile(mcLineShapeFile);
if (!mcFile.IsOpen()) {
printf("mcMinv_LHC10e2 not found!!!\n");
return;
}
TH1D *hMmc = (TH1D*)mcFile.Get("mcMinv");
if (!hMmc) {
printf("mcMinv not found!!\n");
return;
}
hMmc->SetDirectory(0);
hMmc->SetName("mcMinv");
mcFile.Close();
TH1* hMsub=sig->GetSignalHistogram();
Double_t mb1=sig->GetIntegralMin();
Double_t mb2=sig->GetIntegralMax();
Double_t effInt = 0.;
for(Int_t iBin=hMmc->FindBin(mb1); iBin<hMmc->FindBin(mb2); iBin++) {
effInt += hMmc->GetBinContent(iBin);
}
effInt/=hMmc->Integral();
printf("MC signal fraction in range %4.2f-%4.2f GeV: %5.3f \n",hMmc->GetBinLowEdge(hMmc->FindBin(mb1)),hMmc->GetBinLowEdge(hMmc->FindBin(mb2)+1),effInt);
Float_t mcScale1=(hMsub->GetXaxis()->GetBinWidth(1)/hMmc->GetXaxis()->GetBinWidth(1))*
hMsub->Integral(hMsub->FindBin(mb1),hMsub->FindBin(mb2))/
hMmc->Integral(hMmc->FindBin(mb1),hMmc->FindBin(mb2));
printf("1st guess of MC scale factor: %6.3f\n",mcScale1);
Float_t mcScale=0.;
Float_t chi2_min=100000.;
Int_t iMin=0;
Int_t ndf=0;
for(Int_t i=0; i<20; i++){
Float_t chi2=0.;
Float_t scale=(0.4+0.05*(Float_t)i)*mcScale1;
ndf=0;
for(Int_t ib=1; ib<=hMsub->GetXaxis()->GetNbins(); ib++){
Float_t data=(Float_t)hMsub->GetBinContent(ib);
Float_t err=(Float_t)hMsub->GetBinError(ib);
Float_t mc=scale*((Float_t)hMmc->GetBinContent(hMmc->FindBin(hMsub->GetBinCenter(ib))));
if (err>0) {
chi2 += ((data-mc)*(data-mc))/(err*err);
ndf++;
} else {
//printf("bin %d Err: %6.3f, chi2: %6.1f\n",ib,err,chi2);
}
}
//printf("%d scale factor: %6.3f, chi2: %6.1f\n",i,scale,chi2);
if(chi2 < chi2_min){
chi2_min = chi2;
mcScale = scale;
iMin=i;
}
}
//Float_t chi2dof=chi2_min/(Float_t)(hMinv->GetXaxis()->GetNbins()-1);
Float_t chi2dof=chi2_min/((Float_t)(ndf-1));
printf("MC fit (i=%d): chi2/dof: %6.3f/%d, Scale: %7.4f \n",iMin,chi2_min,(ndf-1),mcScale);
hMmc->SetTitle(Form("%f",chi2dof));
//mcScale=IntData/IntMC;printf("Int Data, MC: %10.1f %10.1f, MC scale: %6.3f\n",IntData,IntMC,mcScale);
hMmc->Scale(mcScale);
hMmc->SetOption("sameHISTC");
hMsub->GetListOfFunctions()->Add(hMmc);
}