histCorr.C 7.98 KB
Newer Older
1 2
//#include "TCanvas.h"

3 4 5 6 7 8 9
void histCorr(
//		const char *filename = "analysis_07_8.root",
		const char *filename = "analysis_08_2.root",
//		const char *foldername = "7_8",
		const char *foldername = "8_2",
//		const char *ext = ".eps",
		const char *ext = ".gif",
10

11
		const Bool_t can1 = 0, const Bool_t can2 = 0, const Bool_t can3 = 0, const Bool_t can4 = 0, const Bool_t can5 = 1)
12 13
{
	gSystem->Load("../libData.so");
14 15
	TFile *f = new TFile(Form("../data/dataDSR4/%s", filename));
//	TFile *f = new TFile("../data/dataDSR4/analysis_08_2.root");
16
	TTree *t = (TTree*)f->Get("atree");
17 18 19 20 21

	if (can1) {
		TCanvas *c1 = new TCanvas("c1", "Correlation pictures: delta t from CFD vs something");
		c1->Divide(2,2);

22 23 24
//		TH2F *h1 = new TH2F("h1", "Time difference between two channels vs an integral of the first channel",125, -50., 50., 125, 0., 5e-9);
		TH2F *h1 = new TH2F("h1", "Time difference between two channels vs an integral of the first channel",125, -20., 30., 125, 0., 5e-9);
		TH2F *h2 = new TH2F("h2", "Time difference between two channels vs an integral of the second channel",125, -10., 30.,125, 0e-9, 5e-9);
25 26 27 28
		TH2F *h3 = new TH2F("h3", "Time difference between two channels vs amplitude of the first channel",125, -100., 100., 125, 0., 0.5);
		TH2F *h4 = new TH2F("h4", "Time difference between two channels vs amplitude of the second channel",125, -100., 100., 125, 0., 0.5);

		c1->cd(1);
29
		t->Draw("Ach0.fChargeCFD : ( Ach0.fTimeCFD - Ach1.fTimeCFD ) >> h1","Ach0.fChargeCFD > 0.2e-9","col");
30
		//x
31
		h1->GetXaxis()->SetTitle("\\Delta \\tau_{0-1}  [ns]");
32 33 34 35
		h1->GetXaxis()->CenterTitle();
		//y
		h1->GetYaxis()->SetTitle("Q_{0} [C]");
		h1->GetYaxis()->CenterTitle();
36
		c1->Update();
37 38

		c1->cd(2);
39 40
		t->Draw("Ach1.fChargeCFD : ( Ach0.fTimeCFD - Ach1.fTimeCFD ) >> h2","Ach1.fChargeCFD>0.05e-9","col");
		h2->GetXaxis()->SetTitle("\\Delta \\tau_{0-1}  [ns]");
41 42
		h2->GetXaxis()->CenterTitle();
		//y
43
		h2->GetYaxis()->SetTitle("Q_{1} [C]");
44
		h2->GetYaxis()->CenterTitle();
45
		c1->Update();
46 47

		c1->cd(3);
48
		t->Draw("Ach0.fAmpMax: ( Ach0.fTimeCFD - Ach1.fTimeCFD ) >> h3","","col");
49
		//x
50
		h3->GetXaxis()->SetTitle("\\Delta \\tau_{0-1}  [ns]");
51 52 53 54
		h3->GetXaxis()->CenterTitle();
		//y
		h3->GetYaxis()->SetTitle("Max_ampl_{0} [V]");
		h3->GetYaxis()->CenterTitle();
55
		c1->Update();
56 57

		c1->cd(4);
58
		t->Draw("Ach1.fAmpMax: ( Ach0.fTimeCFD - Ach1.fTimeCFD ) >> h4","","col");
59
		//x
60
		h4->GetXaxis()->SetTitle("\\Delta \\tau_{0-1}  [ns]");
61 62
		h4->GetXaxis()->CenterTitle();
		//y
63
		h4->GetYaxis()->SetTitle("Max_ampl_{1} [V]");
64 65 66 67
		h4->GetYaxis()->CenterTitle();
		
		c1->Show();
		c1->Update();
68
		//c1->Print(Form("../macros/picsDRS4/file%s/TimeDiffCFD%s", foldername, ext));
69 70 71 72
	}

	if (can2) {
		TCanvas *c2 = new TCanvas("c2", "Correlation pictures: Integrals and amplitudes");
73
		c2->Divide(2,2);
74 75 76 77 78

		TH2F *h5 = new TH2F("h5", "Integral of the first channel vs integral of the second channel", 300, 0., 2e-9, 300, 0., 2e-9);
		TH2F *h6 = new TH2F("h6", "Amplitude of the first channel vs amplitude of the second channel", 300, 10, 1e-10, 300, 10, 1e-10);

		c2->cd(1);
79
		t->Draw("Ach0.fChargeCFD : Ach1.fChargeCFD >> h5","","col1");
80
		//x
81
		h5->GetXaxis()->SetTitle("Q_{1} [C]");
82 83 84 85
		h5->GetXaxis()->CenterTitle();
		//y
		h5->GetYaxis()->SetTitle("Q_{0} [C]");
		h5->GetYaxis()->CenterTitle();
86
		c2->Update();
87

88 89
		c2->cd(3);
		t->Draw("Ach0.fAmpMax : Ach1.fAmpMax >> h6","","col");
90
		//x
91
		h6->GetXaxis()->SetTitle("Max_ampl_{1} [V]");
92 93 94 95 96 97
		h6->GetXaxis()->CenterTitle();
		//y
		h6->GetYaxis()->SetTitle("Max_ampl_{0} [V]");
		h6->GetYaxis()->CenterTitle();
	
		c2->Update();
98 99
		c2->Print(Form("../macros/picsDRS4/file%s/IntergAmpl%s", foldername, ext));
	//	c2->Print("../macros/picsDRS4/file7_8/IntergAmpl.eps");
100
	}
101

102 103
	if (can3) {
		TCanvas *c3 = new TCanvas("c3", "Correlation pictures: rising edge times");
104
		c3->Divide(2,2);
105 106

		TH1F *h7 = new TH1F("h7", "Time difference between 90 and 10 percent of the rising edge ampl", 100, 0, 5);
107
		TH2F *h8 = new TH2F("h8", "Time difference between 90 and 10 percent vs integral", 100, 0., 5., 100, 0., 3e-9);
108 109
//		TH2F *h9 = new TH2F("h9", "Time difference between 90 and 10: ch0 vs ch1", 100, 0., 5., 100, 0., 5.);
		TH1F *h9 = new TH1F("h9", "Delta tau", 100, -10., 30.);
110

111
		TH1F *h10 = new TH1F("h10", "Time difference between 90 and 10 > 0 and chi square < 0.0005", 100, 0., 5.);
112 113

		c3->cd(1);
114
//		t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h7","((Ach1.fTime90-Ach1.fTime10)>=0)","col");
115
		t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h7","((Ach1.fTime90-Ach1.fTime10)>=0) && (Ach1.fEdgeXi < 0.0015)","col");
116
//		t->Draw("Ach0.fTime90 - Ach0.fTime10 >> h7","","col");
117
		//x
118
		h7->GetXaxis()->SetTitle("\\Delta \\tau_{0}^{(rise)} [ns]");
119
		h7->GetXaxis()->CenterTitle();
120
		c3->Update();
121

122
		c3->cd(3);
123
		t->Draw("  Ach1.fChargeCFD : (Ach1.fTime90 - Ach1.fTime10) >> h8","(Ach1.fTime90 - Ach1.fTime10)>0","col");
124
		//x
125
		h8->GetXaxis()->SetTitle("\\Delta \\tau_{0}^{(rise)} [ns]");
126 127 128 129
		h8->GetXaxis()->CenterTitle();
		//y
		h8->GetYaxis()->SetTitle("Q_{0} [C]");
		h8->GetYaxis()->CenterTitle();
130
		c3->Update();
131
	
132
		c3->cd(2);
133 134
//		t->Draw("  (Ach1.fTime90 - Ach1.fTime10) : (Ach1.fTime90 - Ach1.fTime10) >> h9","(Ach1.fTime90 - Ach1.fTime10)>0","col");
		t->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD >> h9","Ach1.fChargeCFD>0.05e-9 && Ach1.fChargeCFD<0.5e-9","");
135
		//x
136
		h9->GetXaxis()->SetTitle("\\Delta \\tau_{0-1}  [ns]");
137
		h9->GetXaxis()->CenterTitle();
138 139
		TF1 *fGaus = new TF1("f1", "gaus", 8.5, 13.);
		h9->Fit(fGaus, "R");
140
		c3->Update();
141 142

		c3->cd(4);
143
		t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h10","((Ach1.fTime90-Ach1.fTime10)>=0)","");
144
		t->SetLineColor(kRed);
145 146 147 148
		t->Draw("Ach1.fTime90 - Ach1.fTime10 ","((Ach1.fTime90-Ach1.fTime10)>=0) && (Ach1.fEdgeXi < 0.0005)","same"); //????????
		h10->GetXaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]");
		h10->GetXaxis()->CenterTitle();

149
		c3->Update();
150 151
		c3->Print(Form("../macros/picsDRS4/file%s/RisingEdge%s", foldername, ext));
	//	c3->Print("../macros/picsDRS4/file7_8/RisingEdge.eps");
152

153 154
	}

155 156
	if (can4) {
		TCanvas *c4 = new TCanvas("c4", "Correlation pictures: XiSquares");
157

158 159 160
		TH2F *h11 = new TH2F("h11", "Time difference between two channels vs XiSquare of edge",100, -0., 5., 100, 0., 0.005);
		t->Draw("Ach1.fEdgeXi : (Ach1.fTime90 - Ach1.fTime10) >> h11","","col");
		//t->Draw("Ach1.fEdgeXi : (Ach1.fTime90 - Ach1.fTime10) >> h11","(Ach1.fTime90 - Ach1.fTime10)>0","col");
161
		//x
162 163
		h11->GetXaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]");
		h11->GetXaxis()->CenterTitle();
164
		//y
165 166
		h11->GetYaxis()->SetTitle("fEdgeXi");
		h11->GetYaxis()->CenterTitle();
167
		c4->Update();
168
		//c4->Print(Form("../macros/picsDRS4/file%s/XiSquares%s", foldername, ext));
169 170

	}
171

172 173
	if (can5) {
		TCanvas *c5 = new TCanvas("c5", "Changing CFD parameters");
174 175
		c5->Divide(1,2);
		c5->cd(1);
176 177 178 179 180 181 182 183 184 185 186 187 188

		TH1F *h12 = new TH1F("h12", "Delta tau CFD",100, -10., 30.);

	//	c5->Divide(1,2);
	//	c5->cd(1);
		t->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD >> h12","Ach1.fChargeCFD>0.05e-9 && Ach1.fChargeCFD<0.5e-9","");

		h12->GetXaxis()->SetTitle("\\Delta \\tau_{0-1} [ns]");
		h12->GetXaxis()->CenterTitle();
		TF1 *fGaus = new TF1("f1", "gaus", 8.5, 13.);
		h12->Fit(fGaus, "R");
		gStyle->SetOptFit();

189 190 191 192 193 194 195 196 197 198 199 200 201
		c5->cd(2);
		TH3F *h3d = new TH3F("h3d","3d histo",  100, -10, 30, 125, 0, 5e-9, 125, 0, 5e-9);
		t->Draw("Ach1.fChargeCFD : Ach0.fChargeCFD : (Ach0.fTimeCFD - Ach1.fTimeCFD) >> h3d","","");

		h3d->GetXaxis()->SetTitle("\\Delta \\tau_{0-1} [ns]");
		h3d->GetXaxis()->CenterTitle();

		h3d->GetYaxis()->SetTitle("Q_{0} [C]");
		h3d->GetYaxis()->CenterTitle();

		h3d->GetZaxis()->SetTitle("Q_{1} [C]");
		h3d->GetZaxis()->CenterTitle();

202
		c5->Update();
203
		//c5->Print(Form("../macros/picsDRS4/file%s/TimeDiffCFD_0.7_3%s", foldername, ext));
204 205

	}
206

Muzalevsky I.A's avatar
Muzalevsky I.A committed
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
	if (can5) {
		TCanvas *c5 = new TCanvas("c5", "Sigma");
		c5->cd();
		TH1F *h11 = new TH1F("h11", "sigma", 1023, -10, 10);

		t->Draw("Ach1.fAmpPos  >> h11","Ach1.fTime >0","col");
		//x
		//h10->GetXaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]");
		//h10->GetXaxis()->CenterTitle();
		//y
		//h10->GetYaxis()->SetTitle("fEdgeXi");
		//h10->GetYaxis()->CenterTitle();
		c5->Update();
		//c4->Print(Form("../macros/picsDRS4/file%s/XiSquares%s", foldername, ext));

	}

224
}