当前位置: 首页>>代码示例>>C++>>正文


C++ TPaveStats::GetY1NDC方法代码示例

本文整理汇总了C++中TPaveStats::GetY1NDC方法的典型用法代码示例。如果您正苦于以下问题:C++ TPaveStats::GetY1NDC方法的具体用法?C++ TPaveStats::GetY1NDC怎么用?C++ TPaveStats::GetY1NDC使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TPaveStats的用法示例。


在下文中一共展示了TPaveStats::GetY1NDC方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: many_plots2


//.........这里部分代码省略.........
	p->Project(h[2][1], "gtDiff", !cVeto && cIso && cT10 && cGamma && cPe && cXYZ && cR);
	printf("gtDiff.\n");
	p->Project(h[3][0], "PositronX[0]+2", cVeto && cIso && cT20 && cGamma && cPe && cY && cZ && cR && "PositronX[0] >= 0");
	p->Project(h[3][1], "PositronX[0]+2", !cVeto && cIso && cT20 && cGamma && cPe && cY && cZ && cR && "PositronX[0] >= 0");
	printf("X.\n");
	p->Project(h[4][0], "PositronX[1]+2", cVeto && cIso && cT20 && cGamma && cPe && cX && cZ && cR && "PositronX[1] >= 0");
	p->Project(h[4][1], "PositronX[1]+2", !cVeto && cIso && cT20 && cGamma && cPe && cX && cZ && cR && "PositronX[1] >= 0");
	printf("Y.\n");
	p->Project(h[5][0], "PositronX[2]+0.5", cVeto && cIso && cT20 && cGamma && cPe && cX && cY && cR);
	p->Project(h[5][1], "PositronX[2]+0.5", !cVeto && cIso && cT20 && cGamma && cPe && cX && cY && cR);
	printf("Z.\n");
	p->Project(h[6][0], "NeutronEnergy", cVeto && cIso && cT20 && cGamma && cPe && cY && cZ && cR);
	p->Project(h[6][1], "NeutronEnergy", !cVeto && cIso && cT20 && cGamma && cPe && cY && cZ && cR);
	printf("NE.\n");
	p->Project(h[7][0], "NeutronHits", cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR);
	p->Project(h[7][1], "NeutronHits", !cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR);
	printf("NN.\n");
	p->Project(h[8][0], "AnnihilationEnergy", cVeto && cIso && cT20 && cPe && cXYZ && cR);
	p->Project(h[8][1], "AnnihilationEnergy", !cVeto && cIso && cT20 && cPe && cXYZ && cR);
	printf("AE.\n");
	p->Project(h[9][0], "AnnihilationGammas", cVeto && cIso && cT20 && cPe && cXYZ && cR);
	p->Project(h[9][1], "AnnihilationGammas", !cVeto && cIso && cT20 && cPe && cXYZ && cR);
	printf("AG.\n");
	p->Project(h[10][0], "PositronEnergy", cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR);
	p->Project(h[10][1], "PositronEnergy", !cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR);
	p->Project(h[11][0], "PositronEnergy", cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR && cN4 && cT200);
	p->Project(h[11][1], "PositronEnergy", !cVeto && cIso && cT20 && cGamma && cPe && cXYZ && cR && cN4 && cT200);
	
	printf("Projections are done\n");
	
	for (i=0; i<12; i++) {
		for (j=0; j<2; j++) h[i][j]->SetLineWidth(4);
		h[i][0]->SetLineColor(kGreen);
		h[i][1]->SetLineColor(kRed);
		h[i][0]->SetMinimum(0);
		h[i][1]->SetMinimum(0);
	}

//	h[1][0]->Fit("gaus", "0");
//	h[1][1]->Fit("gaus", "0");
	
//	TF1 *fdec = new TF1("FDEC", "[0]*(exp(-x/[1]) - exp(-x/[2]))", 3);
//	fdec->SetParNames("Const", "t_{CAPTURE}", "t_{THERM}");
//	fdec->SetParameters(h[2][0]->Integral()/4, 15, 5);
//	h[2][0]->Fit("FDEC", "0", "", 2, 50);

	for (i=0; i<2; i++) {
		sprintf(str, "CV%d", i);
		cv[i] = new TCanvas(str, "Plots", 1800, 1200);
		cv[i]->Divide(3, 2);
		for (j=0; j<6; j++) {
			cv[i]->cd(j+1);
			h[6*i+j][0]->Draw();
			h[6*i+j][1]->Draw("sames");
			gPad->Update();
			if (i == 0 && j == 1) {
				st = (TPaveStats *) h[6*i+j][0]->FindObject("stats");
				st->SetOptStat(1100);
				st->SetLineColor(kGreen);
				st->SetTextColor(kGreen);
				y = st->GetY1NDC();
				dy = st->GetY2NDC() - y;
				st->SetX1NDC(0.72);
				st = (TPaveStats *) h[6*i+j][1]->FindObject("stats");
				st->SetOptStat(1100);
				st->SetLineColor(kRed);
				st->SetTextColor(kRed);
				st->SetX1NDC(0.72);
				st->SetY2NDC(y);
				st->SetY1NDC(y - dy);
			} else {
				st = (TPaveStats *) h[6*i+j][0]->FindObject("stats");
				st->SetLineColor(kGreen);
				st->SetTextColor(kGreen);
				y = st->GetY1NDC();
				dy = st->GetY2NDC() - y;
				st->SetX1NDC(0.72);
				st->SetY1NDC(y + dy/2);
				st = (TPaveStats *) h[6*i+j][1]->FindObject("stats");
				st->SetLineColor(kRed);
				st->SetTextColor(kRed);
				st->SetX1NDC(0.72);
				st->SetY2NDC(y + dy/2);
			}
			if (h[6*i+j][0]->GetMaximum() > h[6*i+j][1]->GetMaximum()) {
				h[6*i+j][0]->Draw();
				h[6*i+j][1]->Draw("sames");
			} else {
				h[6*i+j][1]->Draw();
				h[6*i+j][0]->Draw("sames");
			}
			gPad->Update();
		}
		cv[i]->Update();
	}

	fRoot->cd();
	for (i=0; i<12; i++) for (j=0; j<2; j++) h[i][j]->Write();
	fRoot->Close();
}
开发者ID:lab305itep,项目名称:digi,代码行数:101,代码来源:many_plots2.C


注:本文中的TPaveStats::GetY1NDC方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。