]>
Commit | Line | Data |
---|---|---|
9129699a | 1 | #include <math.h> |
2 | #include <time.h> | |
3 | #include <stdio.h> | |
4 | #include <stdlib.h> | |
5 | #include <Riostream.h> | |
6 | ||
7 | #include "TVector2.h" | |
8 | #include "TFile.h" | |
9 | #include "TString.h" | |
10 | #include "TF1.h" | |
11 | #include "TH1.h" | |
12 | #include "TH2.h" | |
13 | #include "TH3.h" | |
14 | #include "TProfile.h" | |
15 | #include "TProfile2D.h" | |
16 | #include "TMath.h" | |
17 | #include "TText.h" | |
18 | #include "TRandom3.h" | |
19 | #include "TArray.h" | |
20 | #include "TLegend.h" | |
21 | #include "TStyle.h" | |
22 | #include "TMinuit.h" | |
23 | ||
24 | using namespace std; | |
25 | ||
26 | void MakeMomResHisto_Merged(){ | |
27 | ||
28 | int MBmerged = 0; | |
29 | // | |
30 | ||
31 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R11.root","READ"); | |
32 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R10.root","READ"); | |
33 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_lego_L0p68R9andR8.root","READ"); | |
34 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R7.root","READ"); | |
35 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R6.root","READ"); | |
36 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_lego_L0p68R11_PID1p5_and_FB5.root","READ"); | |
37 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R11_chi3p1.root","READ"); | |
38 | TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R11_highKt.root","READ"); | |
39 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17d_fix_genSignal_Rinv11.root","READ"); | |
40 | //TFile *infile1 = new TFile("Results/PDC_HIJING_12a17a_myRun_L0p68R11_ncls.root","READ"); | |
41 | //TFile *infile1 = new TFile("MyOutput.root","READ"); | |
42 | // | |
43 | //TFile *infile2 = new TFile("Results/PDC_HIJING_12a17b_12a17e_noPadCut_lego.root","READ"); | |
44 | //TFile *infile2 = new TFile("Results/PDC_HIJING_12a17b_newr3_lego.root","READ"); | |
45 | //TFile *infile2 = new TFile("Results/PDC_HIJING_12a17b_GRS_lego.root","READ"); | |
46 | //TFile *infile2 = new TFile("Results/PDC_HIJING_12a17b_myRun_L0p4R8.root","READ"); | |
47 | ||
48 | //TDirectoryFile *tdir1 = (TDirectoryFile*)infile1->Get("PWGCF.outputChaoticityAnalysis.root"); | |
49 | //TList *list1=(TList*)tdir1->Get("ChaoticityOutput_2"); | |
50 | TList *list1=(TList*)infile1->Get("MyList"); | |
51 | infile1->Close(); | |
52 | //TDirectoryFile *tdir2 = (TDirectoryFile*)infile2->Get("PWGCF.outputChaoticityAnalysis.root"); | |
53 | //TList *list2=(TList*)tdir2->Get("ChaoticityOutput"); | |
54 | //TList *list2=(TList*)infile2->Get("MyList"); | |
55 | //infile2->Close(); | |
56 | ||
57 | TList *list; | |
58 | ||
59 | const int Mbins=2; | |
60 | ||
61 | TH2D *num_i_2[2];// 2-particle | |
62 | TH2D *den_i_2[2];// 2-particle | |
63 | TH2D *num_s_2[2];// 2-particle | |
64 | TH2D *den_s_2[2];// 2-particle | |
65 | // | |
66 | TH2D *merged_num_i_2[2]; | |
67 | TH2D *merged_den_i_2[2]; | |
68 | TH2D *merged_num_s_2[2]; | |
69 | TH2D *merged_den_s_2[2]; | |
70 | // | |
71 | ||
72 | ||
73 | TString *names[2][4]; | |
74 | // 3d | |
75 | TString *names_terms[2][5][2];// charge-combo (ss or os), terms, ideal/smeared, Mbins | |
76 | TH3D *merged_terms_i[2][5];// charge-combo (ss or os), terms, Mbins | |
77 | TH3D *merged_terms_s[2][5];// charge-combo (ss or os), terms, Mbins | |
78 | TH1D *merged_terms1D_i[2][5]; | |
79 | TH1D *merged_terms1D_s[2][5]; | |
80 | // | |
81 | TString *names_termsK3[2][2];// charge-combo (ss or os), Sum/En, Mbins | |
82 | TH3D *merged_terms_SumK3[2];// charge-combo (ss or os), Mbins | |
83 | TH3D *merged_terms_EnK3[2];// charge-combo (ss or os), Mbins | |
84 | // | |
85 | TString *names_terms_FVP[5][2][2];// terms, ideal/smeared, Projection 1 or 2, Mbins | |
86 | TH3D *merged_terms_FVP_i[5][2];// terms, Projection 1 or 2, Mbins | |
87 | TH3D *merged_terms_FVP_s[5][2];// terms, Projection 1 or 2, Mbins | |
88 | // | |
89 | TString *names_terms_FVP_K[5][2][2];// terms, Sum/En, Projection 1 or 2, Mbins | |
90 | TH3D *merged_terms_FVP_SumK[5][2];// terms, Projection 1 or 2, Mbins | |
91 | TH3D *merged_terms_FVP_EnK[5][2];// terms, Projection 1 or 2, Mbins | |
92 | // | |
93 | TString *names_terms_FVPTPN[2][2];// ideal/smeared, Projection 1 or 2, Mbins | |
94 | TH3D *merged_terms_FVPTPN_i[2];// Projection 1 or 2, Mbins | |
95 | TH3D *merged_terms_FVPTPN_s[2];// Projection 1 or 2, Mbins | |
96 | ||
97 | ||
98 | for(int mb=0; mb<Mbins; mb++){// Mbin loop | |
99 | cout<<"Cent bin "<<mb<<endl; | |
100 | for(int ch=0; ch<2; ch++){// + or - loop | |
101 | ||
102 | int MixedCbin1=0, MixedCbin2=0, MixedCbin3=0; | |
103 | // 3d histos | |
104 | for(int term=0; term<5; term++){// term loop | |
105 | names_terms[0][term][0]=new TString("PairCut3_Charge1_"); *names_terms[0][term][0] += ch; | |
106 | names_terms[0][term][0]->Append("_Charge2_"); *names_terms[0][term][0] += ch; | |
107 | names_terms[0][term][0]->Append("_Charge3_"); *names_terms[0][term][0] += ch; | |
108 | names_terms[0][term][0]->Append("_SC_0_M_"); | |
109 | *names_terms[0][term][0] += mb; | |
110 | names_terms[0][term][0]->Append("_ED_0_"); | |
111 | TString *TPNnameBase = new TString(names_terms[0][term][0]->Data()); | |
112 | names_terms[0][term][0]->Append("Term_"); *names_terms[0][term][0] += term+1; | |
113 | names_terms[0][term][1]=new TString(names_terms[0][term][0]->Data()); | |
114 | if(term==0) { | |
115 | names_termsK3[0][0]=new TString(names_terms[0][term][0]->Data()); | |
116 | names_termsK3[0][1]=new TString(names_terms[0][term][0]->Data()); | |
117 | names_termsK3[0][0]->Append("_SumK3"); | |
118 | names_termsK3[0][1]->Append("_EnK3"); | |
119 | } | |
120 | // | |
121 | ||
122 | names_terms_FVP[term][0][0] = new TString(names_terms[0][term][0]->Data()); | |
123 | names_terms_FVP[term][1][0] = new TString(names_terms[0][term][0]->Data()); | |
124 | names_terms_FVP[term][0][0]->Append("_4VectProd1Ideal"); | |
125 | names_terms_FVP[term][1][0]->Append("_4VectProd1Smeared"); | |
126 | // | |
127 | names_terms_FVP[term][0][1] = new TString(names_terms[0][term][1]->Data()); | |
128 | names_terms_FVP[term][1][1] = new TString(names_terms[0][term][1]->Data()); | |
129 | names_terms_FVP[term][0][1]->Append("_4VectProd2Ideal"); | |
130 | names_terms_FVP[term][1][1]->Append("_4VectProd2Smeared"); | |
131 | // | |
132 | names_terms_FVP_K[term][0][0] = new TString(names_terms[0][term][1]->Data());// Prod1 SumK | |
133 | names_terms_FVP_K[term][1][0] = new TString(names_terms[0][term][1]->Data());// Prod1 EnK | |
134 | names_terms_FVP_K[term][0][1] = new TString(names_terms[0][term][1]->Data());// Prod2 SumK | |
135 | names_terms_FVP_K[term][1][1] = new TString(names_terms[0][term][1]->Data());// Prod2 EnK | |
136 | if(term==0) { | |
137 | names_terms_FVP_K[term][0][0]->Append("_4VectProd1SumK3"); | |
138 | names_terms_FVP_K[term][1][0]->Append("_4VectProd1EnK3"); | |
139 | names_terms_FVP_K[term][0][1]->Append("_4VectProd2SumK3"); | |
140 | names_terms_FVP_K[term][1][1]->Append("_4VectProd2EnK3"); | |
141 | names_terms_FVPTPN[0][0] = new TString(TPNnameBase->Data()); | |
142 | names_terms_FVPTPN[0][1] = new TString(TPNnameBase->Data()); | |
143 | names_terms_FVPTPN[1][0] = new TString(TPNnameBase->Data()); | |
144 | names_terms_FVPTPN[1][1] = new TString(TPNnameBase->Data()); | |
145 | names_terms_FVPTPN[0][0]->Append("TPN_0_4VectProd1Ideal"); | |
146 | names_terms_FVPTPN[0][1]->Append("TPN_0_4VectProd2Ideal"); | |
147 | names_terms_FVPTPN[1][0]->Append("TPN_0_4VectProd1Smeared"); | |
148 | names_terms_FVPTPN[1][1]->Append("TPN_0_4VectProd2Smeared"); | |
149 | } | |
150 | if(term>0 && term<4){ | |
151 | names_terms_FVP_K[term][0][0]->Append("_4VectProd1SumK2"); | |
152 | names_terms_FVP_K[term][1][0]->Append("_4VectProd1EnK2"); | |
153 | names_terms_FVP_K[term][0][1]->Append("_4VectProd2SumK2"); | |
154 | names_terms_FVP_K[term][1][1]->Append("_4VectProd2EnK2"); | |
155 | } | |
156 | ||
157 | names_terms[0][term][0]->Append("_Ideal"); | |
158 | names_terms[0][term][1]->Append("_Smeared"); | |
159 | ||
160 | // | |
161 | if(ch==0) {MixedCbin1=0; MixedCbin2=0; MixedCbin3=1;} | |
162 | else {MixedCbin1=0; MixedCbin2=1; MixedCbin3=1;} | |
163 | names_terms[1][term][0]=new TString("PairCut3_Charge1_"); *names_terms[1][term][0] += MixedCbin1; | |
164 | names_terms[1][term][0]->Append("_Charge2_"); *names_terms[1][term][0] += MixedCbin2; | |
165 | names_terms[1][term][0]->Append("_Charge3_"); *names_terms[1][term][0] += MixedCbin3; | |
166 | names_terms[1][term][0]->Append("_SC_0_M_"); | |
167 | *names_terms[1][term][0] += mb; | |
168 | names_terms[1][term][0]->Append("_ED_0_Term_"); *names_terms[1][term][0] += term+1; | |
169 | names_terms[1][term][1]=new TString(names_terms[1][term][0]->Data()); | |
170 | if(term==0) { | |
171 | names_termsK3[1][0]=new TString(names_terms[1][term][0]->Data()); | |
172 | names_termsK3[1][1]=new TString(names_terms[1][term][0]->Data()); | |
173 | names_termsK3[1][0]->Append("_SumK3"); | |
174 | names_termsK3[1][1]->Append("_EnK3"); | |
175 | } | |
176 | names_terms[1][term][0]->Append("_Ideal"); | |
177 | names_terms[1][term][1]->Append("_Smeared"); | |
178 | }// term loop | |
179 | ||
180 | ||
181 | TString *base1 = new TString("Explicit2_Charge1_"); *base1 += ch; | |
182 | base1->Append("_Charge2_"); *base1 += ch; base1->Append("_SC_0_M_"); | |
183 | names[0][0]=new TString(base1->Data()); | |
184 | *names[0][0] += mb; | |
185 | names[0][0]->Append("_ED_0_Term_1_Ideal"); | |
186 | names[0][1]=new TString(base1->Data()); | |
187 | *names[0][1] += mb; | |
188 | names[0][1]->Append("_ED_0_Term_2_Ideal"); | |
189 | names[0][2]=new TString(base1->Data()); | |
190 | *names[0][2] += mb; | |
191 | names[0][2]->Append("_ED_0_Term_1_Smeared"); | |
192 | names[0][3]=new TString(base1->Data()); | |
193 | *names[0][3] += mb; | |
194 | names[0][3]->Append("_ED_0_Term_2_Smeared"); | |
195 | // mixed charge 2-particle case is double counted here. It's ok (only the stat errors are wrong...not used anyway). | |
196 | TString *base2 = new TString("Explicit2_Charge1_0_Charge2_1"); base2->Append("_SC_0_M_"); | |
197 | names[1][0]=new TString(base2->Data()); | |
198 | *names[1][0] += mb; | |
199 | names[1][0]->Append("_ED_0_Term_1_Ideal"); | |
200 | names[1][1]=new TString(base2->Data()); | |
201 | *names[1][1] += mb; | |
202 | names[1][1]->Append("_ED_0_Term_2_Ideal"); | |
203 | names[1][2]=new TString(base2->Data()); | |
204 | *names[1][2] += mb; | |
205 | names[1][2]->Append("_ED_0_Term_1_Smeared"); | |
206 | names[1][3]=new TString(base2->Data()); | |
207 | *names[1][3] += mb; | |
208 | names[1][3]->Append("_ED_0_Term_2_Smeared"); | |
209 | // | |
210 | if(mb<2) list=(TList*)list1->Clone(); | |
211 | //else list=(TList*)list2->Clone(); | |
212 | ||
213 | ||
214 | for(int ChProd=0; ChProd<2; ChProd++){// charge product loop | |
215 | // | |
216 | num_i_2[ChProd]=(TH2D*)list->FindObject(names[ChProd][0]->Data()); | |
217 | den_i_2[ChProd]=(TH2D*)list->FindObject(names[ChProd][1]->Data()); | |
218 | num_s_2[ChProd]=(TH2D*)list->FindObject(names[ChProd][2]->Data()); | |
219 | den_s_2[ChProd]=(TH2D*)list->FindObject(names[ChProd][3]->Data()); | |
220 | // | |
221 | ||
222 | if(ch==0 && mb==0){ | |
223 | for(int term=0; term<5; term++){ | |
224 | merged_terms_i[ChProd][term] = (TH3D*)(list->FindObject(names_terms[ChProd][term][0]->Data()))->Clone(); | |
225 | merged_terms_s[ChProd][term] = (TH3D*)(list->FindObject(names_terms[ChProd][term][1]->Data()))->Clone(); | |
226 | ||
227 | if(term==0){ | |
228 | merged_terms_SumK3[ChProd] = (TH3D*)(list->FindObject(names_termsK3[ChProd][0]->Data()))->Clone(); | |
229 | merged_terms_EnK3[ChProd] = (TH3D*)(list->FindObject(names_termsK3[ChProd][1]->Data()))->Clone(); | |
230 | } | |
231 | if(ChProd==0) { | |
232 | //merged_terms_FVP_i[term][0] = (TH3D*)(list->FindObject(names_terms_FVP[term][0][0]->Data()))->Clone();// ideal, Prod 1 | |
233 | //merged_terms_FVP_s[term][0] = (TH3D*)(list->FindObject(names_terms_FVP[term][1][0]->Data()))->Clone();// smeared, Prod 1 | |
234 | //merged_terms_FVP_i[term][1] = (TH3D*)(list->FindObject(names_terms_FVP[term][0][1]->Data()))->Clone();// ideal, Prod 2 | |
235 | //merged_terms_FVP_s[term][1] = (TH3D*)(list->FindObject(names_terms_FVP[term][1][1]->Data()))->Clone();// smeared, Prod 2 | |
236 | if(term !=4){ | |
237 | //merged_terms_FVP_SumK[term][0] = (TH3D*)(list->FindObject(names_terms_FVP_K[term][0][0]->Data()))->Clone();// Prod 1 Sum K | |
238 | //merged_terms_FVP_EnK[term][0] = (TH3D*)(list->FindObject(names_terms_FVP_K[term][1][0]->Data()))->Clone();// Prod 1 En K | |
239 | //merged_terms_FVP_SumK[term][1] = (TH3D*)(list->FindObject(names_terms_FVP_K[term][0][1]->Data()))->Clone();// Prod 2 Sum K | |
240 | //merged_terms_FVP_EnK[term][1] = (TH3D*)(list->FindObject(names_terms_FVP_K[term][1][1]->Data()))->Clone();// Prod 2 En K | |
241 | } | |
242 | if(term==0){ | |
243 | //merged_terms_FVPTPN_i[0] = (TH3D*)(list->FindObject(names_terms_FVPTPN[0][0]->Data()))->Clone();// ideal, Prod 1 | |
244 | //merged_terms_FVPTPN_s[0] = (TH3D*)(list->FindObject(names_terms_FVPTPN[1][0]->Data()))->Clone();// smeared, Prod 1 | |
245 | //merged_terms_FVPTPN_i[1] = (TH3D*)(list->FindObject(names_terms_FVPTPN[0][1]->Data()))->Clone();// ideal, Prod 2 | |
246 | //merged_terms_FVPTPN_s[1] = (TH3D*)(list->FindObject(names_terms_FVPTPN[1][1]->Data()))->Clone();// smeared, Prod 2 | |
247 | } | |
248 | } | |
249 | } | |
250 | }else{// ch==1 || mb!=0 | |
251 | for(int term=0; term<5; term++){ | |
252 | if(ChProd==0) { | |
253 | merged_terms_i[0][term]->Add((TH3D*)(list->FindObject(names_terms[0][term][0]->Data()))); | |
254 | merged_terms_s[0][term]->Add((TH3D*)(list->FindObject(names_terms[0][term][1]->Data()))); | |
255 | if(term==0) { | |
256 | merged_terms_SumK3[0]->Add((TH3D*)(list->FindObject(names_termsK3[0][0]->Data()))); | |
257 | merged_terms_EnK3[0]->Add((TH3D*)(list->FindObject(names_termsK3[0][1]->Data()))); | |
258 | /*merged_terms_FVPTPN_i[0]->Add((TH3D*)(list->FindObject(names_terms_FVPTPN[0][0]->Data()))); | |
259 | merged_terms_FVPTPN_i[1]->Add((TH3D*)(list->FindObject(names_terms_FVPTPN[0][1]->Data()))); | |
260 | merged_terms_FVPTPN_s[0]->Add((TH3D*)(list->FindObject(names_terms_FVPTPN[1][0]->Data()))); | |
261 | merged_terms_FVPTPN_s[1]->Add((TH3D*)(list->FindObject(names_terms_FVPTPN[1][1]->Data())));*/ | |
262 | } | |
263 | /* merged_terms_FVP_i[term][0]->Add((TH3D*)(list->FindObject(names_terms_FVP[term][0][0]->Data()))); | |
264 | merged_terms_FVP_s[term][0]->Add((TH3D*)(list->FindObject(names_terms_FVP[term][1][0]->Data()))); | |
265 | merged_terms_FVP_i[term][1]->Add((TH3D*)(list->FindObject(names_terms_FVP[term][0][1]->Data()))); | |
266 | merged_terms_FVP_s[term][1]->Add((TH3D*)(list->FindObject(names_terms_FVP[term][1][1]->Data())));*/ | |
267 | ||
268 | if(term<4){ | |
269 | /*merged_terms_FVP_SumK[term][0]->Add((TH3D*)(list->FindObject(names_terms_FVP_K[term][0][0]->Data()))); | |
270 | merged_terms_FVP_EnK[term][0]->Add((TH3D*)(list->FindObject(names_terms_FVP_K[term][1][0]->Data()))); | |
271 | merged_terms_FVP_SumK[term][1]->Add((TH3D*)(list->FindObject(names_terms_FVP_K[term][0][1]->Data()))); | |
272 | merged_terms_FVP_EnK[term][1]->Add((TH3D*)(list->FindObject(names_terms_FVP_K[term][1][1]->Data())));*/ | |
273 | } | |
274 | }else {// different placement of same-charge pair | |
275 | int termOther=term; | |
276 | if(ch==1){ | |
277 | if(term==0) termOther=0; | |
278 | else if(term==1) termOther=3; | |
279 | else if(term==2) termOther=2; | |
280 | else if(term==3) termOther=1; | |
281 | else termOther=4; | |
282 | } | |
283 | TH3D *temphisto_i=((TH3D*)(list->FindObject(names_terms[1][termOther][0]->Data()))); | |
284 | TH3D *temphisto_s=((TH3D*)(list->FindObject(names_terms[1][termOther][1]->Data()))); | |
285 | TH3D *temphisto_SumK3=((TH3D*)(list->FindObject(names_termsK3[1][0]->Data()))); | |
286 | TH3D *temphisto_EnK3=((TH3D*)(list->FindObject(names_termsK3[1][1]->Data()))); | |
287 | for(int bin1=1; bin1<merged_terms_i[1][term]->GetNbinsX(); bin1++){ | |
288 | for(int bin2=1; bin2<merged_terms_i[1][term]->GetNbinsY(); bin2++){ | |
289 | for(int bin3=1; bin3<merged_terms_i[1][term]->GetNbinsZ(); bin3++){ | |
290 | ||
291 | if(ch==0){ | |
292 | merged_terms_i[1][term]->SetBinContent(bin1,bin2,bin3, merged_terms_i[1][term]->GetBinContent(bin1,bin2,bin3)+temphisto_i->GetBinContent(bin1,bin2,bin3)); | |
293 | merged_terms_s[1][term]->SetBinContent(bin1,bin2,bin3, merged_terms_s[1][term]->GetBinContent(bin1,bin2,bin3)+temphisto_s->GetBinContent(bin1,bin2,bin3)); | |
294 | }else { | |
295 | merged_terms_i[1][term]->SetBinContent(bin1,bin2,bin3, merged_terms_i[1][term]->GetBinContent(bin1,bin2,bin3)+temphisto_i->GetBinContent(bin3,bin2,bin1)); | |
296 | merged_terms_s[1][term]->SetBinContent(bin1,bin2,bin3, merged_terms_s[1][term]->GetBinContent(bin1,bin2,bin3)+temphisto_s->GetBinContent(bin3,bin2,bin1)); | |
297 | } | |
298 | ||
299 | // | |
300 | if(term==0){ | |
301 | //merged_terms_SumK3[1]->SetBinContent(bin1,bin2,bin3, merged_terms_SumK3[1]->GetBinContent(bin1,bin2,bin3)+temphisto_SumK3->GetBinContent(bin3,bin2,bin1)); | |
302 | //merged_terms_EnK3[1]->SetBinContent(bin1,bin2,bin3, merged_terms_EnK3[1]->GetBinContent(bin1,bin2,bin3)+temphisto_EnK3->GetBinContent(bin3,bin2,bin1)); | |
303 | } | |
304 | } | |
305 | } | |
306 | } | |
307 | } | |
308 | } | |
309 | }// else for 3-particle part | |
310 | ||
311 | // 2-particles | |
312 | if(ch==0 && mb==0) { | |
313 | merged_num_i_2[ChProd] = (TH2D*)num_i_2[ChProd]->Clone(); | |
314 | merged_den_i_2[ChProd] = (TH2D*)den_i_2[ChProd]->Clone(); | |
315 | merged_num_s_2[ChProd] = (TH2D*)num_s_2[ChProd]->Clone(); | |
316 | merged_den_s_2[ChProd] = (TH2D*)den_s_2[ChProd]->Clone(); | |
317 | }else { | |
318 | merged_num_i_2[ChProd]->Add(num_i_2[ChProd]); | |
319 | merged_den_i_2[ChProd]->Add(den_i_2[ChProd]); | |
320 | merged_num_s_2[ChProd]->Add(num_s_2[ChProd]); | |
321 | merged_den_s_2[ChProd]->Add(den_s_2[ChProd]); | |
322 | ||
323 | } | |
324 | }// ch loop | |
325 | ||
326 | ||
327 | }// mb loop | |
328 | ||
329 | }// ChProd loop | |
330 | ||
331 | ||
332 | cout<<"Start Writing to Output File"<<endl; | |
333 | TFile *outfile = new TFile("MomResFile_temp.root","RECREATE"); | |
334 | TFile *outfileOffline = new TFile("MomResFile_Offline_temp.root","RECREATE"); | |
335 | int NbinsX = merged_num_i_2[0]->GetNbinsX(); | |
336 | int NbinsY = merged_num_i_2[0]->GetNbinsY(); | |
337 | float Xlow = merged_num_i_2[0]->GetXaxis()->GetBinLowEdge(1); | |
338 | float Xhigh = merged_num_i_2[0]->GetXaxis()->GetBinUpEdge(NbinsX); | |
339 | float Ylow = merged_num_i_2[0]->GetYaxis()->GetBinLowEdge(1); | |
340 | float Yhigh = merged_num_i_2[0]->GetYaxis()->GetBinUpEdge(NbinsY); | |
341 | TH2D *MomResHisto_pp = new TH2D("MomResHisto_pp","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
342 | TH2D *MomResHisto_mp = new TH2D("MomResHisto_mp","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
343 | // | |
344 | TH2D *MomResHisto_pp_term1 = new TH2D("MomResHisto_pp_term1","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
345 | TH2D *MomResHisto_pp_term2 = new TH2D("MomResHisto_pp_term2","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
346 | TH2D *MomResHisto_mp_term1 = new TH2D("MomResHisto_mp_term1","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
347 | TH2D *MomResHisto_mp_term2 = new TH2D("MomResHisto_mp_term2","",NbinsX,Xlow,Xhigh, NbinsY,Ylow,Yhigh); | |
348 | // | |
349 | // 3d part | |
350 | int NbinsX_3d = merged_terms_i[0][0]->GetNbinsX(); | |
351 | float Xlow_3d = merged_terms_i[0][0]->GetXaxis()->GetBinLowEdge(1); | |
352 | float Xhigh_3d = merged_terms_i[0][0]->GetXaxis()->GetBinUpEdge(NbinsX_3d); | |
353 | TH3D *MomResHisto_3d_SC[5]; | |
354 | TH3D *MomResHisto_3d_MC[5]; | |
355 | TH1D *MomResHisto_1d_SC[5]; | |
356 | TH1D *MomResHisto_1d_MC[5]; | |
357 | TH3D *MomResHisto_3d_SC_K3; | |
358 | TH3D *MomResHisto_3d_MC_K3; | |
359 | // 4vectProd | |
360 | /*const int NEdges_FVP_temp = merged_terms_FVP_i[0][0]->GetNbinsX() + 1; | |
361 | const int NEdges_FVP = NEdges_FVP_temp; | |
362 | double Edges[NEdges_FVP]={0}; | |
363 | for(int edg=0; edg<NEdges_FVP; edg++){ | |
364 | Edges[edg] = merged_terms_FVP_i[0][0]->GetXaxis()->GetBinLowEdge(edg+1); | |
365 | //cout<<Edges[edg]<<endl; | |
366 | } | |
367 | TH3D *MomResHisto_3d_FVP1[5]; | |
368 | TH3D *MomResHisto_3d_FVP2[5]; | |
369 | TH3D *MomResHisto_3d_FVP1K[5]; | |
370 | TH3D *MomResHisto_3d_FVP2K[5]; | |
371 | TH3D *MomResHisto_TPN_FVP1; | |
372 | TH3D *MomResHisto_TPN_FVP2;*/ | |
373 | ||
374 | ||
375 | for(int term=0; term<5; term++){ | |
376 | TString *nameSC = new TString("MomResHisto3_SC_term"); | |
377 | TString *nameMC = new TString("MomResHisto3_MC_term"); | |
378 | TString *nameSC1D = new TString("MomResHisto1D_SC_term"); | |
379 | TString *nameMC1D = new TString("MomResHisto1D_MC_term"); | |
380 | TString *nameFVP1 = new TString("MomResHisto3_FVP1_term"); | |
381 | TString *nameFVP2 = new TString("MomResHisto3_FVP2_term"); | |
382 | TString *nameFVP1K = new TString("MomResHisto3_FVP1K_term"); | |
383 | TString *nameFVP2K = new TString("MomResHisto3_FVP2K_term"); | |
384 | *nameSC += term+1; | |
385 | *nameMC += term+1; | |
386 | *nameSC1D += term+1; | |
387 | *nameMC1D += term+1; | |
388 | *nameFVP1 += term+1; | |
389 | *nameFVP2 += term+1; | |
390 | *nameFVP1K += term+1; | |
391 | *nameFVP2K += term+1; | |
392 | nameSC->Append("_M"); | |
393 | nameMC->Append("_M"); | |
394 | nameSC1D->Append("_M"); | |
395 | nameMC1D->Append("_M"); | |
396 | nameFVP1->Append("_M"); | |
397 | nameFVP2->Append("_M"); | |
398 | nameFVP1K->Append("_M"); | |
399 | nameFVP2K->Append("_M"); | |
400 | *nameSC += MBmerged; | |
401 | *nameMC += MBmerged; | |
402 | *nameSC1D += MBmerged; | |
403 | *nameMC1D += MBmerged; | |
404 | *nameFVP1 += MBmerged; | |
405 | *nameFVP2 += MBmerged; | |
406 | *nameFVP1K += MBmerged; | |
407 | *nameFVP2K += MBmerged; | |
408 | MomResHisto_3d_SC[term] = new TH3D(nameSC->Data(),"",NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d); | |
409 | MomResHisto_3d_MC[term] = new TH3D(nameMC->Data(),"",NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d); | |
410 | MomResHisto_1d_SC[term] = new TH1D(nameSC1D->Data(),"",20,0,0.2); | |
411 | MomResHisto_1d_MC[term] = new TH1D(nameMC1D->Data(),"",20,0,0.2); | |
412 | /*MomResHisto_3d_FVP1[term] = new TH3D(nameFVP1->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges); | |
413 | MomResHisto_3d_FVP2[term] = new TH3D(nameFVP2->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges); | |
414 | MomResHisto_3d_FVP1K[term] = new TH3D(nameFVP1K->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges); | |
415 | MomResHisto_3d_FVP2K[term] = new TH3D(nameFVP2K->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges);*/ | |
416 | } | |
417 | //TString *nameTPN_FVP1 = new TString("MomResHisto3_TPN_FVP1_M"); | |
418 | //TString *nameTPN_FVP2 = new TString("MomResHisto3_TPN_FVP2_M"); | |
419 | TString *nameSC_K3 = new TString("AvgK3_SC_M"); | |
420 | TString *nameMC_K3 = new TString("AvgK3_MC_M"); | |
421 | *nameSC_K3 += MBmerged; | |
422 | *nameMC_K3 += MBmerged; | |
423 | //*nameTPN_FVP1 += MBmerged; | |
424 | //*nameTPN_FVP2 += MBmerged; | |
425 | MomResHisto_3d_SC_K3 = new TH3D(nameSC_K3->Data(),"",NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d); | |
426 | MomResHisto_3d_MC_K3 = new TH3D(nameMC_K3->Data(),"",NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d, NbinsX_3d,Xlow_3d,Xhigh_3d); | |
427 | //MomResHisto_TPN_FVP1 = new TH3D(nameTPN_FVP1->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges); | |
428 | //MomResHisto_TPN_FVP2 = new TH3D(nameTPN_FVP2->Data(),"",NEdges_FVP-1,Edges, NEdges_FVP-1,Edges, NEdges_FVP-1,Edges); | |
429 | ||
430 | ||
431 | ||
432 | for(int term=0; term<5; term++){ | |
433 | ||
434 | // 1D Q3 projection | |
435 | double Sum_i_SC[20]={0}; | |
436 | double Sum_i_MC[20]={0}; | |
437 | double Sum_s_SC[20]={0}; | |
438 | double Sum_s_MC[20]={0}; | |
439 | ||
440 | for(int i=1; i<NbinsX_3d; i++){ | |
441 | for(int j=1; j<NbinsX_3d; j++){ | |
442 | for(int l=1; l<NbinsX_3d; l++){ | |
443 | //if((i+j)==2 || (i+l)==2 || (j+l)==2) continue; | |
444 | double q3 = sqrt(pow(merged_terms_i[0][term]->GetXaxis()->GetBinCenter(i+1),2)+pow(merged_terms_i[0][term]->GetYaxis()->GetBinCenter(j+1),2)+pow(merged_terms_i[0][term]->GetZaxis()->GetBinCenter(l+1),2)); | |
445 | int q3bin = MomResHisto_1d_SC[term]->GetXaxis()->FindBin(q3); | |
446 | if(q3bin>20) continue; | |
447 | Sum_i_SC[q3bin-1] += merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1); | |
448 | Sum_i_MC[q3bin-1] += merged_terms_i[1][term]->GetBinContent(i+1,j+1,l+1); | |
449 | Sum_s_SC[q3bin-1] += merged_terms_s[0][term]->GetBinContent(i+1,j+1,l+1); | |
450 | Sum_s_MC[q3bin-1] += merged_terms_s[1][term]->GetBinContent(i+1,j+1,l+1); | |
451 | } | |
452 | } | |
453 | } | |
454 | for(int i=0; i<20; i++){ | |
455 | ||
456 | if(Sum_s_SC[i]>0) MomResHisto_1d_SC[term]->SetBinContent(i+1, Sum_i_SC[i]/Sum_s_SC[i]); | |
457 | if(Sum_s_MC[i]>0) MomResHisto_1d_MC[term]->SetBinContent(i+1, Sum_i_MC[i]/Sum_s_MC[i]); | |
458 | } | |
459 | ||
460 | // full 3d method | |
461 | merged_terms_i[0][term]->Divide(merged_terms_s[0][term]); | |
462 | merged_terms_i[1][term]->Divide(merged_terms_s[1][term]); | |
463 | //merged_terms_FVP_i[term][0]->Divide(merged_terms_FVP_s[term][0]);// Prod 1 | |
464 | //merged_terms_FVP_i[term][1]->Divide(merged_terms_FVP_s[term][1]);// Prod 2 | |
465 | if(term < 4){ | |
466 | //merged_terms_FVP_SumK[term][0]->Divide(merged_terms_FVP_EnK[term][0]);// Prod 1 | |
467 | //merged_terms_FVP_SumK[term][1]->Divide(merged_terms_FVP_EnK[term][1]);// Prod 2 | |
468 | } | |
469 | } | |
470 | //merged_terms_FVPTPN_i[0]->Divide(merged_terms_FVPTPN_s[0]);// Prod 1 | |
471 | //merged_terms_FVPTPN_i[1]->Divide(merged_terms_FVPTPN_s[1]);// Prod 2 | |
472 | merged_terms_SumK3[0]->Divide(merged_terms_EnK3[0]);// Avg SC K3 for Q12,Q13,Q23 | |
473 | merged_terms_SumK3[1]->Divide(merged_terms_EnK3[1]);// Avg MC K3 for Q12,Q13,Q23 | |
474 | ||
475 | ||
476 | ||
477 | for(int term=0; term<5; term++){ | |
478 | for(int i=0; i<NbinsX_3d; i++){ | |
479 | for(int j=0; j<NbinsX_3d; j++){ | |
480 | for(int l=0; l<NbinsX_3d; l++){ | |
481 | ||
482 | double MomResCorr=0; double terms=0; | |
483 | if(term==0 || term==4){ | |
484 | if(merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
485 | if(merged_terms_i[0][term]->GetBinContent(i+1,l+1,j+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,l+1,j+1); terms++;} | |
486 | if(merged_terms_i[0][term]->GetBinContent(j+1,i+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(j+1,i+1,l+1); terms++;} | |
487 | if(merged_terms_i[0][term]->GetBinContent(j+1,l+1,i+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(j+1,l+1,i+1); terms++;} | |
488 | if(merged_terms_i[0][term]->GetBinContent(l+1,i+1,j+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(l+1,i+1,j+1); terms++;} | |
489 | if(merged_terms_i[0][term]->GetBinContent(l+1,j+1,i+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(l+1,j+1,i+1); terms++;} | |
490 | }else if(term==1){ | |
491 | if(merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
492 | if(merged_terms_i[0][term]->GetBinContent(i+1,l+1,j+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,l+1,j+1); terms++;} | |
493 | }else if(term==2){ | |
494 | if(merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
495 | if(merged_terms_i[0][term]->GetBinContent(l+1,j+1,i+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(l+1,j+1,i+1); terms++;} | |
496 | }else { | |
497 | if(merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
498 | if(merged_terms_i[0][term]->GetBinContent(j+1,i+1,l+1)>0) {MomResCorr += merged_terms_i[0][term]->GetBinContent(j+1,i+1,l+1); terms++;} | |
499 | } | |
500 | ||
501 | if(terms > 0) MomResCorr /= terms; | |
502 | MomResHisto_3d_SC[term]->SetBinContent(i+1,j+1,l+1, MomResCorr); | |
503 | ||
504 | // Mixed-Charge | |
505 | MomResCorr=0; terms=0; | |
506 | if(term==0 || term==1 || term==4){ | |
507 | if(merged_terms_i[1][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[1][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
508 | if(merged_terms_i[1][term]->GetBinContent(i+1,l+1,j+1)>0) {MomResCorr += merged_terms_i[1][term]->GetBinContent(i+1,l+1,j+1); terms++;} | |
509 | }else{ | |
510 | if(merged_terms_i[1][term]->GetBinContent(i+1,j+1,l+1)>0) {MomResCorr += merged_terms_i[1][term]->GetBinContent(i+1,j+1,l+1); terms++;} | |
511 | } | |
512 | ||
513 | if(terms > 0) MomResCorr /= terms; | |
514 | MomResHisto_3d_MC[term]->SetBinContent(i+1,j+1,l+1, MomResCorr); | |
515 | ||
516 | if(term==0){ | |
517 | MomResHisto_3d_SC_K3->SetBinContent(i+1,j+1,l+1, merged_terms_SumK3[0]->GetBinContent(i+1,j+1,l+1)); | |
518 | MomResHisto_3d_MC_K3->SetBinContent(i+1,j+1,l+1, merged_terms_SumK3[1]->GetBinContent(i+1,j+1,l+1)); | |
519 | } | |
520 | // condition edge effects | |
521 | if(MomResHisto_3d_SC[term]->GetBinContent(i+1,j+1,l+1) > 10) MomResHisto_3d_SC[term]->SetBinContent(i+1,j+1,l+1, 1.0); | |
522 | if(MomResHisto_3d_MC[term]->GetBinContent(i+1,j+1,l+1) > 10) MomResHisto_3d_MC[term]->SetBinContent(i+1,j+1,l+1, 1.0); | |
523 | } | |
524 | } | |
525 | } | |
526 | }// term | |
527 | ||
528 | // FVP | |
529 | /*for(int mb=0; mb<1; mb++){ | |
530 | for(int term=0; term<5; term++){ | |
531 | for(int i=0; i<NEdges_FVP-1; i++){ | |
532 | for(int j=0; j<NEdges_FVP-1; j++){ | |
533 | for(int l=0; l<NEdges_FVP-1; l++){ | |
534 | MomResHisto_3d_FVP1[term]->SetBinContent(i+1,j+1,l+1, merged_terms_FVP_i[term][0]->GetBinContent(i+1,j+1,l+1)); | |
535 | MomResHisto_3d_FVP2[term]->SetBinContent(i+1,j+1,l+1, merged_terms_FVP_i[term][1]->GetBinContent(i+1,j+1,l+1)); | |
536 | if(term < 4){ | |
537 | MomResHisto_3d_FVP1K[term]->SetBinContent(i+1,j+1,l+1, merged_terms_FVP_SumK[term][0]->GetBinContent(i+1,j+1,l+1)); | |
538 | MomResHisto_3d_FVP2K[term]->SetBinContent(i+1,j+1,l+1, merged_terms_FVP_SumK[term][1]->GetBinContent(i+1,j+1,l+1)); | |
539 | } | |
540 | if(term==0){ | |
541 | MomResHisto_TPN_FVP1->SetBinContent(i+1,j+1,l+1, merged_terms_FVPTPN_i[0]->GetBinContent(i+1,j+1,l+1)); | |
542 | MomResHisto_TPN_FVP2->SetBinContent(i+1,j+1,l+1, merged_terms_FVPTPN_i[1]->GetBinContent(i+1,j+1,l+1)); | |
543 | } | |
544 | // condition edge effects | |
545 | if(MomResHisto_3d_FVP1[term]->GetBinContent(i+1,j+1,l+1) > 10) MomResHisto_3d_FVP1[term]->SetBinContent(i+1,j+1,l+1, 1.0); | |
546 | if(MomResHisto_3d_FVP2[term]->GetBinContent(i+1,j+1,l+1) > 10) MomResHisto_3d_FVP2[term]->SetBinContent(i+1,j+1,l+1, 1.0); | |
547 | } | |
548 | } | |
549 | } | |
550 | } | |
551 | }*/ | |
552 | ||
553 | // 2-particles | |
554 | for(int ChProd=0; ChProd<2; ChProd++){ | |
555 | for(int i=0; i<NbinsX; i++){ | |
556 | for(int j=0; j<NbinsY; j++){ | |
557 | ||
558 | double weight = 1.0, weight_term1=1.0, weight_term2=1.0; | |
559 | double weight_e = 0, weight_term1_e=0, weight_term2_e=0; | |
560 | bool goodbin=kTRUE; | |
561 | if(merged_num_i_2[ChProd]->GetBinContent(i+1,j+1) == 0) goodbin=kFALSE; | |
562 | if(merged_den_i_2[ChProd]->GetBinContent(i+1,j+1) == 0) goodbin=kFALSE; | |
563 | if(merged_num_s_2[ChProd]->GetBinContent(i+1,j+1) == 0) goodbin=kFALSE; | |
564 | if(merged_den_s_2[ChProd]->GetBinContent(i+1,j+1) == 0) goodbin=kFALSE; | |
565 | ||
566 | if(goodbin==kTRUE){ | |
567 | double NUM_i=merged_num_i_2[ChProd]->GetBinContent(i+1,j+1); | |
568 | double NUM_s=merged_num_s_2[ChProd]->GetBinContent(i+1,j+1); | |
569 | double DEN_i=merged_den_i_2[ChProd]->GetBinContent(i+1,j+1); | |
570 | double DEN_s=merged_den_s_2[ChProd]->GetBinContent(i+1,j+1); | |
571 | weight = (NUM_i/DEN_i)/(NUM_s/DEN_s); | |
572 | weight_e = pow((sqrt(NUM_s)*NUM_i/DEN_i)/(pow(NUM_s,2)/DEN_s),2);// approximate. does not take lambda into account!! | |
573 | weight_e += pow((sqrt(DEN_s)*NUM_i/DEN_i)/(NUM_s),2); | |
574 | weight_e = sqrt(weight_e); | |
575 | // | |
576 | weight_term1 = NUM_i/NUM_s; | |
577 | weight_term1_e = pow(sqrt(NUM_i)/NUM_s,2); | |
578 | weight_term1_e += pow(sqrt(NUM_s)*NUM_i/pow(NUM_s,2),2); | |
579 | weight_term1_e = sqrt(weight_term1_e); | |
580 | weight_term2 = DEN_i/DEN_s; | |
581 | weight_term2_e = pow(sqrt(DEN_i)/DEN_s,2); | |
582 | weight_term2_e += pow(sqrt(DEN_s)*DEN_i/pow(DEN_s,2),2); | |
583 | weight_term2_e = sqrt(weight_term2_e); | |
584 | } | |
585 | ||
586 | if(ChProd==0) { | |
587 | MomResHisto_pp->SetBinContent(i+1,j+1, weight); | |
588 | MomResHisto_pp->SetBinError(i+1,j+1, weight_e); | |
589 | MomResHisto_pp_term1->SetBinContent(i+1,j+1, weight_term1); | |
590 | MomResHisto_pp_term2->SetBinContent(i+1,j+1, weight_term2); | |
591 | MomResHisto_pp_term1->SetBinError(i+1,j+1, weight_term1_e); | |
592 | MomResHisto_pp_term2->SetBinError(i+1,j+1, weight_term2_e); | |
593 | }else { | |
594 | MomResHisto_mp->SetBinContent(i+1,j+1, weight); | |
595 | MomResHisto_mp->SetBinError(i+1,j+1, weight_e); | |
596 | MomResHisto_mp_term1->SetBinContent(i+1,j+1, weight_term1); | |
597 | MomResHisto_mp_term2->SetBinContent(i+1,j+1, weight_term2); | |
598 | MomResHisto_mp_term1->SetBinError(i+1,j+1, weight_term1_e); | |
599 | MomResHisto_mp_term2->SetBinError(i+1,j+1, weight_term2_e); | |
600 | } | |
601 | } | |
602 | } | |
603 | } | |
604 | ||
605 | ||
606 | ||
607 | outfile->cd(); | |
608 | MomResHisto_pp->Write("MomResHisto_pp"); | |
609 | MomResHisto_mp->Write("MomResHisto_mp"); | |
610 | MomResHisto_pp_term1->Write("MomResHisto_pp_term1"); | |
611 | MomResHisto_pp_term2->Write("MomResHisto_pp_term2"); | |
612 | MomResHisto_mp_term1->Write("MomResHisto_mp_term1"); | |
613 | MomResHisto_mp_term2->Write("MomResHisto_mp_term2"); | |
614 | outfile->Close(); | |
615 | ||
616 | outfileOffline->cd(); | |
617 | if(MBmerged==0){ | |
618 | MomResHisto_pp->Write("MomResHisto_pp"); | |
619 | MomResHisto_mp->Write("MomResHisto_mp"); | |
620 | MomResHisto_pp_term1->Write("MomResHisto_pp_term1"); | |
621 | MomResHisto_pp_term2->Write("MomResHisto_pp_term2"); | |
622 | MomResHisto_mp_term1->Write("MomResHisto_mp_term1"); | |
623 | MomResHisto_mp_term2->Write("MomResHisto_mp_term2"); | |
624 | } | |
625 | // | |
626 | ||
627 | for(int term=0; term<5; term++){ | |
628 | MomResHisto_3d_SC[term]->Write(); | |
629 | MomResHisto_3d_MC[term]->Write(); | |
630 | MomResHisto_1d_SC[term]->Write(); | |
631 | MomResHisto_1d_MC[term]->Write(); | |
632 | //MomResHisto_3d_FVP1[term]->Write(); | |
633 | //MomResHisto_3d_FVP2[term]->Write(); | |
634 | if(term < 4){ | |
635 | //MomResHisto_3d_FVP1K[term]->Write(); | |
636 | //MomResHisto_3d_FVP2K[term]->Write(); | |
637 | } | |
638 | } | |
639 | MomResHisto_3d_SC_K3->Write(); | |
640 | MomResHisto_3d_MC_K3->Write(); | |
641 | //MomResHisto_TPN_FVP1->Write(); | |
642 | //MomResHisto_TPN_FVP2->Write(); | |
643 | ||
644 | ||
645 | outfileOffline->Close(); | |
646 | ||
647 | } |