figCorrRightGS.cxx 4.94 KB
Newer Older
1 2 3 4
//canvas c1: Fig. 9 in first submitted version
//canvas c2: Fig. 10 in first submitted version
//canvas c3: Fig. 11 in first submitted version

5 6 7 8
//#include "TFile.h"
//#include "TCanvas.h"
//#include "TH1F.h"

9 10 11 12
using std::cout;
using std::endl;

void figCorrRightGS(const Bool_t saveFigs = 0)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
{

	TFile *fr1 = new TFile("figures/PRCepsilonT.root", "READ");
//	TFile *fr2 = new TFile("figures/PRCepsilonT.root", "READ");

	TH1F *hExp[4];
	TH1F *hSim[4];
	TH1F *hInput[4];

	TH1F *hCurr = 0;

	hCurr = (TH1F*)fr1->Get("heeT1_2_4560");
	hExp[0] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("heeT1_2_6075");
	hExp[1] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("heeT1_2_7590");
	hExp[2] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("heeT1_2_90120");
	hExp[3] = new TH1F(*hCurr);

	hCurr = (TH1F*)fr1->Get("hseT1_2_4560");
	hSim[0] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hseT1_2_6075");
	hSim[1] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hseT1_2_7590");
	hSim[2] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hseT1_2_90120");
	hSim[3] = new TH1F(*hCurr);

	hCurr = (TH1F*)fr1->Get("hieT1_2_4560");
	hInput[0] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hieT1_2_6075");
	hInput[1] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hieT1_2_7590");
	hInput[2] = new TH1F(*hCurr);
	hCurr = (TH1F*)fr1->Get("hieT1_2_90120");
	hInput[3] = new TH1F(*hCurr);



	TCanvas *c1 = new TCanvas();
	c1->ToggleEditor();
//	c1->SetWindowSize(800, 1200);
	c1->SetWindowSize(800, 800);
	c1->Divide(2, 2, .001, .001);

59
	cout << "Fig. 9" << endl;
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

	for (Int_t i = 0; i < 4; i++) {
		c1->cd(i+1);

//		cout << i << endl;

		hSim[i]->SetTitle("");
		hSim[i]->SetLineColor(kGray+1);
		hSim[i]->SetFillColor(kGray+1);
		hSim[i]->GetXaxis()->SetNdivisions(405);
		hSim[i]->GetYaxis()->SetTitle("");
		if (i == 0 || i == 1) {
//			hSim[i]->GetYaxis()->SetNdivisions(1005);
		}
		hInput[i]->SetLineWidth(2);

		hSim[i]->Draw("");
		hExp[i]->Draw("E same");
		hInput[i]->Draw("same");
79
		hExp[i]->Chi2Test(hSim[i], "P");
80
	}
81
	c1->Update();
82 83 84 85 86 87 88 89 90 91 92 93

	TCanvas *c2 = new TCanvas();
	c2->ToggleEditor();
	c2->SetWindowSize(800, 1227);
	c2->Divide(2, 3, .001, .001);

	TH1F *hCorrExp[6];
	TH1F *hCorrSim[6];
	TH1F *hCorrInput[6];

	TString hName;

94 95
	cout << "Fig. 10" << endl;

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
	for (Int_t i = 0; i < 6; i++) {
		c2->cd(i+1);

		hName.Form("heeT1_%d_7590", i);
		hCurr = (TH1F*)fr1->Get(hName.Data());
		hCorrExp[i] = new TH1F(*hCurr);

		hName.Form("hseT1_%d_7590", i);
		hCurr = (TH1F*)fr1->Get(hName.Data());
		hCorrSim[i] = new TH1F(*hCurr);

		hName.Form("hieT1_%d_7590", i);
		hCurr = (TH1F*)fr1->Get(hName.Data());
		hCorrInput[i] = new TH1F(*hCurr);

		hCorrInput[i]->SetLineWidth(2);
		hCorrSim[i]->SetTitle("");
		hCorrSim[i]->GetXaxis()->SetNdivisions(505);

		hCorrSim[i]->GetYaxis()->SetRangeUser(0., 850.);
		hCorrSim[i]->GetYaxis()->SetNdivisions(505);
		hCorrSim[i]->GetYaxis()->SetTitle("");

		hCorrSim[i]->Draw("");
		hCorrExp[i]->Draw("E same");
		hCorrInput[i]->Draw("same");

123 124 125
		hCorrExp[i]->Chi2Test(hCorrSim[i], "P");
	}
	c2->Update();
126 127 128 129 130 131 132 133 134 135 136

	TCanvas *c3 = new TCanvas();
	c3->ToggleEditor();
	c3->SetWindowSize(800, 1227);
	c3->Divide(2, 3, .001, .001);

	TFile *fr2 = new TFile("figures/PRCthetaA.root");

	TH1F *hAlphaExp[6];
	TH1F *hAlphaSim[6];
	TH1F *hAlphaInput[6];
137
	TH1F *hAlphaInputCorr[6];
138

139
	cout << "Fig. 11" << endl;
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

	for (Int_t i = 0; i < 6; i++) {
		c3->cd(i+1);

		hName.Form("hethetaAT1_%d_7590", i);
		hCurr = (TH1F*)fr2->Get(hName.Data());
		hAlphaExp[i] = new TH1F(*hCurr);

		hName.Form("hsthetaAT1_%d_7590", i);
		hCurr = (TH1F*)fr2->Get(hName.Data());
		hAlphaSim[i] = new TH1F(*hCurr);

		hName.Form("hithetaAT1_%d_7590", i);
		hCurr = (TH1F*)fr2->Get(hName.Data());
		hAlphaInput[i] = new TH1F(*hCurr);

156 157 158 159 160 161 162 163
		hAlphaInputCorr[i] = new TH1F(*hAlphaInput[i]);
		Double_t binContent = 0;
		for (Int_t binN = 1; binN <= 15; binN++) {
			binContent = hAlphaInputCorr[i]->GetBinContent(binN);
			hAlphaInputCorr[i]->SetBinContent(binN, binContent + hAlphaInputCorr[i]->GetBinContent(31-binN));
			hAlphaInputCorr[i]->SetBinContent(31-binN, hAlphaInputCorr[i]->GetBinContent(binN));
		}

164 165 166 167 168 169 170 171 172 173 174 175
		hAlphaInput[i]->SetLineWidth(2);
		hAlphaSim[i]->SetTitle("");
		hAlphaSim[i]->GetXaxis()->SetNdivisions(506);
		hAlphaSim[i]->GetXaxis()->SetLabelSize(0.07);
		hAlphaSim[i]->GetXaxis()->SetLabelOffset(0.002);
		hAlphaSim[i]->GetXaxis()->SetTitleSize(0.08);
		hAlphaSim[i]->GetXaxis()->SetTitleOffset(0.74);

		hAlphaSim[i]->GetYaxis()->SetRangeUser(0., 290.);
		hAlphaSim[i]->GetYaxis()->SetTitle("");

		hAlphaSim[i]->Draw("");
176
		hAlphaSim[i]->GetXaxis()->SetTitle("#it{#theta}_{#alpha} (rad)");
177
		hAlphaExp[i]->Draw("E same");
178 179 180 181 182 183
//		hAlphaInput[i]->Draw("same");
		hAlphaInputCorr[i]->SetLineColor(kRed);
		hAlphaInputCorr[i]->SetLineWidth(2);
		hAlphaInputCorr[i]->Scale(0.5);
		hAlphaInputCorr[i]->Smooth();
		hAlphaInputCorr[i]->Draw("same");
184

185
		hAlphaExp[i]->Chi2Test(hAlphaSim[i], "P");
186

187 188
	}
	c3->Update();
189

190 191 192 193 194
	if (saveFigs) {
		c1->SaveAs("figures/GSepsilonTright.eps");
		c2->SaveAs("figures/GSepsilonTright7590.eps");
		c3->SaveAs("figures/GSThetaAright7590.eps");
	}
195
}