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

3
void histCorr(
4
//		const char *filename = "Neurad_7_08_NEW.root",
5
		const char *filename = "analysis_08_2.root",
6 7
		const char *foldername = "7_8",
//		const char *foldername = "8_2",
8 9
//		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 = 0, const Bool_t can6 = 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
		TH2F *h11 = new TH2F("h11", "Time difference between two channels vs XiSquare of edge",100, -0., 5., 100, 0., 0.005);
159
		t->Draw("Ach0.fEdgeXi : (Ach0.fTime90 - Ach0.fTime10) >> h11","","col");
160
		//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 207 208
	if (can6) {
		TCanvas *c6 = new TCanvas("c6", "leading edge vs charge");
		c6->Divide(2,2);
Muzalevsky I.A's avatar
Muzalevsky I.A committed
209

210 211 212 213 214 215
		c6->cd(1);
		//TH2F *h13 = new TH2F("h13", "leading edge vs charge",100, 130., 145., 100, -2e-9, 6e-9);
		TH1F *h20 = new TH1F("h20", "hist led - cfd", 100, -5, 200.);
		//t->Draw("Ach0.fTimeCFD - Ach0.fTimeLED >> h20","Ach0.fTimeCFD - Ach0.fTimeLED > 0.3 && Ach0.fTimeCFD - Ach0.fTimeLED <1.3","");
		t->Draw("Ach0.fTimeLED >> h20","Ach0.fTimeLED > 120 && Ach0.fTimeLED < 150");
		//t->Draw("Ach0.fChargeCFD : Ach0.fChargeCFD >> h13","","col");;
Muzalevsky I.A's avatar
Muzalevsky I.A committed
216
		//x
217 218
	/*	h13->GetYaxis()->SetTitle("fChargeCFD");
		h13->GetYaxis()->CenterTitle();
Muzalevsky I.A's avatar
Muzalevsky I.A committed
219
		//y
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
		h13->GetXaxis()->SetTitle("fTimeLED");
		h13->GetXaxis()->CenterTitle();*/
		c6->Update();

		c6->cd(3);
		TH2F *h14 = new TH2F("h14", "fTIMECFD vs fTIMELED",100, 110., 140., 100, 110, 160);
		t->Draw("Ach0.fTimeCFD : Ach0.fTimeLED >> h14","","col");
		//t->Draw("Ach0.fChargeCFD : Ach0.fChargeCFD >> h13","","col");;
		//x
		h14->GetYaxis()->SetTitle("fTimeCFD");
		h14->GetYaxis()->CenterTitle();
		//y
		h14->GetXaxis()->SetTitle("fTimeLED");
		h14->GetXaxis()->CenterTitle();
		c6->Update();

		c6->cd(2);
		TH2F *h15 = new TH2F("h15", "leading edge vs charge",100, 100., 180.,100, -0.02e-10, 1e-10);
		t->Draw("Ach1.fChargeCFD : Ach1.fTimeLED >> h15","Ach1.fChargeCFD>0","col");
		//t->Draw("Ach0.fChargeCFD : Ach0.fChargeCFD >> h13","","col");;
		//x
		h15->GetYaxis()->SetTitle("fChargeCFD");
		h15->GetYaxis()->CenterTitle();
		//y
		h15->GetXaxis()->SetTitle("fTimeLED");
		h15->GetXaxis()->CenterTitle();
		c6->Update();

		c6->cd(4);
		TH2F *h16 = new TH2F("h16", "FtimeCFD vs charge", 100, 100., 180.,100, 0, 1e-10);
		t->Draw("Ach1.fChargeCFD : Ach1.fTimeCFD >> h16","Ach1.fChargeCFD>3e-12","col");
		//t->Draw("Ach0.fChargeCFD : Ach0.fChargeCFD >> h13","","col");;
		//x
		h16->GetYaxis()->SetTitle("fChargeCFD");
		h16->GetYaxis()->CenterTitle();
		//y
		h16->GetXaxis()->SetTitle("fTimeCFD");
		h16->GetXaxis()->CenterTitle();
		c6->Update();
Muzalevsky I.A's avatar
Muzalevsky I.A committed
259 260 261
		//c4->Print(Form("../macros/picsDRS4/file%s/XiSquares%s", foldername, ext));
	}

262

263
}