19 bool hasElectronTrack=
false;
20 bool hasPositronTrack=
false;
21 bool hasRecoilTrack=
false;
23 hasElectronTrack=
true;
25 hasPositronTrack=
true;
30 std::cout<<
"FillThreeProngPlots::Oops...positron pointing to electron-side cluster...lets skip it...return without filling"<<std::endl;
36 std::cout<<
"FillThreeProngPlots::Oops...electron pointing to positron-side cluster...lets skip it...return without filling"<<std::endl;
42 std::cout<<
"FillThreeProngPlots::Oops...positron pointing to recoil cluster...lets skip it for now...return without filling"<<std::endl;
71 double esum=eleE+posE+recE;
77 double eleTrkMom=eleP.Mag();
78 double posTrkMom=posP.Mag();
79 double recTrkMom=recP.Mag();
87 TVector3 sumP=eleP+posP+recP;
89 double pSum=sumP.Mag();
90 double pYSum=sumP.Py();
91 double pXSum=sumP.Px();
94 double eleClYEne=sin(atan2(eleY,eleZ))*eleE;
95 double posClYEne=sin(atan2(posY,posZ))*posE;
96 double recClYEne=sin(atan2(recY,recZ))*recE;
97 double netClYEne=posClYEne+eleClYEne+recClYEne;
98 bool electronsSameHalf=
false;
100 electronsSameHalf=
true;
103 Fill1DHisto(
"clE_sum_allpos_allele_allrec_h",esum);
104 Fill1DHisto(
"clNet_EY_allpos_allele_allrec_h",netClYEne);
105 Fill1DHisto(
"clE_ele_allpos_allele_allrec_h",eleE);
106 Fill1DHisto(
"clX_ele_allpos_allele_allrec_h",eleX);
107 Fill1DHisto(
"clY_ele_allpos_allele_allrec_h",eleY);
108 Fill1DHisto(
"clE_pos_allpos_allele_allrec_h",posE);
109 Fill1DHisto(
"clX_pos_allpos_allele_allrec_h",posX);
110 Fill1DHisto(
"clY_pos_allpos_allele_allrec_h",posY);
111 Fill1DHisto(
"clE_rec_allpos_allele_allrec_h",recE);
112 Fill1DHisto(
"clX_rec_allpos_allele_allrec_h",recX);
113 Fill1DHisto(
"clY_rec_allpos_allele_allrec_h",recY);
115 if(hasRecoilTrack&&hasPositronTrack&&hasElectronTrack){
116 Fill1DHisto(
"clE_sum_foundpos_foundele_foundrec_h",esum);
117 Fill1DHisto(
"clNet_EY_foundpos_foundele_foundrec_h",netClYEne);
118 Fill1DHisto(
"clE_ele_foundpos_foundele_foundrec_h",eleE);
119 Fill1DHisto(
"clX_ele_foundpos_foundele_foundrec_h",eleX);
120 Fill1DHisto(
"clY_ele_foundpos_foundele_foundrec_h",eleY);
121 Fill1DHisto(
"clE_pos_foundpos_foundele_foundrec_h",posE);
122 Fill1DHisto(
"clX_pos_foundpos_foundele_foundrec_h",posX);
123 Fill1DHisto(
"clY_pos_foundpos_foundele_foundrec_h",posY);
124 Fill1DHisto(
"clE_rec_foundpos_foundele_foundrec_h",recE);
125 Fill1DHisto(
"clX_rec_foundpos_foundele_foundrec_h",recX);
126 Fill1DHisto(
"clY_rec_foundpos_foundele_foundrec_h",recY);
128 Fill2DHisto(
"clY_vs_clE_ele_foundpos_foundele_foundrec_hh",eleE,eleY);
129 Fill2DHisto(
"clY_vs_clX_ele_foundpos_foundele_foundrec_hh",eleX,eleY);
130 Fill2DHisto(
"clE_vs_clX_ele_foundpos_foundele_foundrec_hh",eleX,eleE);
131 Fill2DHisto(
"clY_vs_clE_pos_foundpos_foundele_foundrec_hh",posE,posY);
132 Fill2DHisto(
"clY_vs_clX_pos_foundpos_foundele_foundrec_hh",posX,posY);
133 Fill2DHisto(
"clE_vs_clX_pos_foundpos_foundele_foundrec_hh",posX,posE);
134 Fill2DHisto(
"clY_vs_clE_rec_foundpos_foundele_foundrec_hh",recE,recY);
135 Fill2DHisto(
"clY_vs_clX_rec_foundpos_foundele_foundrec_hh",recX,recY);
136 Fill2DHisto(
"clE_vs_clX_rec_foundpos_foundele_foundrec_hh",recX,recE);
138 Fill1DHisto(
"nHits_ele_foundpos_foundele_foundrec_h",eleTrkNHits,weight);
139 Fill1DHisto(
"trkMom_ele_foundpos_foundele_foundrec_h",eleTrkMom,weight);
140 Fill1DHisto(
"trkEoverP_ele_foundpos_foundele_foundrec_h",eleE/eleTrkMom,weight);
141 Fill1DHisto(
"nHits_pos_foundpos_foundele_foundrec_h",posTrkNHits,weight);
142 Fill1DHisto(
"trkMom_pos_foundpos_foundele_foundrec_h",posTrkMom,weight);
143 Fill1DHisto(
"trkEoverP_pos_foundpos_foundele_foundrec_h",posE/posTrkMom,weight);
144 Fill1DHisto(
"nHits_rec_foundpos_foundele_foundrec_h",recTrkNHits,weight);
145 Fill1DHisto(
"trkMom_rec_foundpos_foundele_foundrec_h",recTrkMom,weight);
146 Fill1DHisto(
"trkEoverP_rec_foundpos_foundele_foundrec_h",recE/recTrkMom,weight);
148 Fill1DHisto(
"trkP_sum_foundpos_foundele_foundrec_h",pSum);
149 Fill1DHisto(
"trkPX_sum_foundpos_foundele_foundrec_h",pXSum);
150 Fill1DHisto(
"trkPY_sum_foundpos_foundele_foundrec_h",pYSum);
152 Fill2DHisto(
"clE_sum_vs_trkP_sum_foundpos_foundele_foundrec_hh",pSum,esum);
155 if(!hasRecoilTrack&&hasPositronTrack&&hasElectronTrack){
156 Fill1DHisto(
"clE_sum_foundpos_foundele_missrec_h",esum);
157 Fill1DHisto(
"clNet_EY_foundpos_foundele_missrec_h",netClYEne);
158 Fill1DHisto(
"clE_ele_foundpos_foundele_missrec_h",eleE);
159 Fill1DHisto(
"clX_ele_foundpos_foundele_missrec_h",eleX);
160 Fill1DHisto(
"clY_ele_foundpos_foundele_missrec_h",eleY);
161 Fill1DHisto(
"clE_pos_foundpos_foundele_missrec_h",posE);
162 Fill1DHisto(
"clX_pos_foundpos_foundele_missrec_h",posX);
163 Fill1DHisto(
"clY_pos_foundpos_foundele_missrec_h",posY);
164 Fill1DHisto(
"clE_rec_foundpos_foundele_missrec_h",recE);
165 Fill1DHisto(
"clX_rec_foundpos_foundele_missrec_h",recX);
166 Fill1DHisto(
"clY_rec_foundpos_foundele_missrec_h",recY);
169 Fill2DHisto(
"clY_vs_clE_ele_foundpos_foundele_missrec_hh",eleE,eleY);
170 Fill2DHisto(
"clY_vs_clX_ele_foundpos_foundele_missrec_hh",eleX,eleY);
171 Fill2DHisto(
"clE_vs_clX_ele_foundpos_foundele_missrec_hh",eleX,eleE);
172 Fill2DHisto(
"clY_vs_clE_pos_foundpos_foundele_missrec_hh",posE,posY);
173 Fill2DHisto(
"clY_vs_clX_pos_foundpos_foundele_missrec_hh",posX,posY);
174 Fill2DHisto(
"clE_vs_clX_pos_foundpos_foundele_missrec_hh",posX,posE);
175 Fill2DHisto(
"clY_vs_clE_rec_foundpos_foundele_missrec_hh",recE,recY);
176 Fill2DHisto(
"clY_vs_clX_rec_foundpos_foundele_missrec_hh",recX,recY);
177 Fill2DHisto(
"clE_vs_clX_rec_foundpos_foundele_missrec_hh",recX,recE);
179 Fill1DHisto(
"nHits_ele_foundpos_foundele_missrec_h",eleTrkNHits,weight);
180 Fill1DHisto(
"trkMom_ele_foundpos_foundele_missrec_h",eleTrkMom,weight);
181 Fill1DHisto(
"trkEoverP_ele_foundpos_foundele_missrec_h",eleE/eleTrkMom,weight);
182 Fill1DHisto(
"nHits_pos_foundpos_foundele_missrec_h",posTrkNHits,weight);
183 Fill1DHisto(
"trkMom_pos_foundpos_foundele_missrec_h",posTrkMom,weight);
184 Fill1DHisto(
"trkEoverP_pos_foundpos_foundele_missrec_h",posE/posTrkMom,weight);
187 Fill1DHisto(
"trkPX_miss_foundpos_foundele_missrec_h",-pXSum,weight);
188 Fill1DHisto(
"trkPY_miss_foundpos_foundele_missrec_h",-pYSum,weight);
190 if(hasRecoilTrack&&!hasPositronTrack&&hasElectronTrack){
191 Fill1DHisto(
"clE_sum_misspos_foundele_foundrec_h",esum);
192 Fill1DHisto(
"clNet_EY_misspos_foundele_foundrec_h",netClYEne);
193 Fill1DHisto(
"clE_ele_misspos_foundele_foundrec_h",eleE);
194 Fill1DHisto(
"clX_ele_misspos_foundele_foundrec_h",eleX);
195 Fill1DHisto(
"clY_ele_misspos_foundele_foundrec_h",eleY);
196 Fill1DHisto(
"clE_pos_misspos_foundele_foundrec_h",posE);
197 Fill1DHisto(
"clX_pos_misspos_foundele_foundrec_h",posX);
198 Fill1DHisto(
"clY_pos_misspos_foundele_foundrec_h",posY);
199 Fill1DHisto(
"clE_rec_misspos_foundele_foundrec_h",recE);
200 Fill1DHisto(
"clX_rec_misspos_foundele_foundrec_h",recX);
201 Fill1DHisto(
"clY_rec_misspos_foundele_foundrec_h",recY);
204 Fill2DHisto(
"clY_vs_clE_ele_misspos_foundele_foundrec_hh",eleE,eleY);
205 Fill2DHisto(
"clY_vs_clX_ele_misspos_foundele_foundrec_hh",eleX,eleY);
206 Fill2DHisto(
"clE_vs_clX_ele_misspos_foundele_foundrec_hh",eleX,eleE);
207 Fill2DHisto(
"clY_vs_clE_pos_misspos_foundele_foundrec_hh",posE,posY);
208 Fill2DHisto(
"clY_vs_clX_pos_misspos_foundele_foundrec_hh",posX,posY);
209 Fill2DHisto(
"clE_vs_clX_pos_misspos_foundele_foundrec_hh",posX,posE);
210 Fill2DHisto(
"clY_vs_clE_rec_misspos_foundele_foundrec_hh",recE,recY);
211 Fill2DHisto(
"clY_vs_clX_rec_misspos_foundele_foundrec_hh",recX,recY);
212 Fill2DHisto(
"clE_vs_clX_rec_misspos_foundele_foundrec_hh",recX,recE);
214 Fill1DHisto(
"nHits_ele_misspos_foundele_foundrec_h",eleTrkNHits,weight);
215 Fill1DHisto(
"trkMom_ele_misspos_foundele_foundrec_h",eleTrkMom,weight);
216 Fill1DHisto(
"trkEoverP_ele_misspos_foundele_foundrec_h",eleE/eleTrkMom,weight);
217 Fill1DHisto(
"nHits_rec_misspos_foundele_foundrec_h",recTrkNHits,weight);
218 Fill1DHisto(
"trkMom_rec_misspos_foundele_foundrec_h",recTrkMom,weight);
219 Fill1DHisto(
"trkEoverP_rec_misspos_foundele_foundrec_h",recE/recTrkMom,weight);
222 Fill1DHisto(
"trkPX_miss_misspos_foundele_foundrec_h",-pXSum,weight);
223 Fill1DHisto(
"trkPY_miss_misspos_foundele_foundrec_h",-pYSum,weight);
225 if(hasRecoilTrack&&hasPositronTrack&&!hasElectronTrack){
226 Fill1DHisto(
"clE_sum_foundpos_missele_foundrec_h",esum);
227 Fill1DHisto(
"clNet_EY_foundpos_missele_foundrec_h",netClYEne);
228 Fill1DHisto(
"clE_ele_foundpos_missele_foundrec_h",eleE);
229 Fill1DHisto(
"clX_ele_foundpos_missele_foundrec_h",eleX);
230 Fill1DHisto(
"clY_ele_foundpos_missele_foundrec_h",eleY);
231 Fill1DHisto(
"clE_pos_foundpos_missele_foundrec_h",posE);
232 Fill1DHisto(
"clX_pos_foundpos_missele_foundrec_h",posX);
233 Fill1DHisto(
"clY_pos_foundpos_missele_foundrec_h",posY);
234 Fill1DHisto(
"clE_rec_foundpos_missele_foundrec_h",recE);
235 Fill1DHisto(
"clX_rec_foundpos_missele_foundrec_h",recX);
236 Fill1DHisto(
"clY_rec_foundpos_missele_foundrec_h",recY);
239 Fill2DHisto(
"clY_vs_clE_ele_foundpos_missele_foundrec_hh",eleE,eleY);
240 Fill2DHisto(
"clY_vs_clX_ele_foundpos_missele_foundrec_hh",eleX,eleY);
241 Fill2DHisto(
"clE_vs_clX_ele_foundpos_missele_foundrec_hh",eleX,eleE);
242 Fill2DHisto(
"clY_vs_clE_pos_foundpos_missele_foundrec_hh",posE,posY);
243 Fill2DHisto(
"clY_vs_clX_pos_foundpos_missele_foundrec_hh",posX,posY);
244 Fill2DHisto(
"clE_vs_clX_pos_foundpos_missele_foundrec_hh",posX,posE);
245 Fill2DHisto(
"clY_vs_clE_rec_foundpos_missele_foundrec_hh",recE,recY);
246 Fill2DHisto(
"clY_vs_clX_rec_foundpos_missele_foundrec_hh",recX,recY);
247 Fill2DHisto(
"clE_vs_clX_rec_foundpos_missele_foundrec_hh",recX,recE);
249 Fill1DHisto(
"nHits_pos_foundpos_missele_foundrec_h",posTrkNHits,weight);
250 Fill1DHisto(
"trkMom_pos_foundpos_missele_foundrec_h",posTrkMom,weight);
251 Fill1DHisto(
"trkEoverP_pos_foundpos_missele_foundrec_h",posE/posTrkMom,weight);
252 Fill1DHisto(
"nHits_rec_foundpos_missele_foundrec_h",recTrkNHits,weight);
253 Fill1DHisto(
"trkMom_rec_foundpos_missele_foundrec_h",recTrkMom,weight);
254 Fill1DHisto(
"trkEoverP_rec_foundpos_missele_foundrec_h",recE/recTrkMom,weight);
257 Fill1DHisto(
"trkPX_miss_foundpos_missele_foundrec_h",-pXSum,weight);
258 Fill1DHisto(
"trkPY_miss_foundpos_missele_foundrec_h",-pYSum,weight);
262 if(!hasRecoilTrack&&hasPositronTrack&&!hasElectronTrack){
263 Fill1DHisto(
"clE_sum_foundpos_missele_missrec_h",esum);
264 Fill1DHisto(
"clNet_EY_foundpos_missele_missrec_h",netClYEne);
265 Fill1DHisto(
"clE_ele_foundpos_missele_missrec_h",eleE);
266 Fill1DHisto(
"clX_ele_foundpos_missele_missrec_h",eleX);
267 Fill1DHisto(
"clY_ele_foundpos_missele_missrec_h",eleY);
268 Fill1DHisto(
"clE_pos_foundpos_missele_missrec_h",posE);
269 Fill1DHisto(
"clX_pos_foundpos_missele_missrec_h",posX);
270 Fill1DHisto(
"clY_pos_foundpos_missele_missrec_h",posY);
271 Fill1DHisto(
"clE_rec_foundpos_missele_missrec_h",recE);
272 Fill1DHisto(
"clX_rec_foundpos_missele_missrec_h",recX);
273 Fill1DHisto(
"clY_rec_foundpos_missele_missrec_h",recY);
275 Fill1DHisto(
"nHits_pos_foundpos_missele_missrec_h",posTrkNHits,weight);
276 Fill1DHisto(
"trkMom_pos_foundpos_missele_missrec_h",posTrkMom,weight);
277 Fill1DHisto(
"trkEoverP_pos_foundpos_missele_missrec_h",posE/posTrkMom,weight);
279 if(!hasRecoilTrack&&!hasPositronTrack&&!hasElectronTrack){
280 Fill1DHisto(
"clE_sum_misspos_missele_missrec_h",esum);
281 Fill1DHisto(
"clNet_EY_misspos_missele_missrec_h",netClYEne);
282 Fill1DHisto(
"clE_ele_misspos_missele_missrec_h",eleE);
283 Fill1DHisto(
"clX_ele_misspos_missele_missrec_h",eleX);
284 Fill1DHisto(
"clY_ele_misspos_missele_missrec_h",eleY);
285 Fill1DHisto(
"clE_pos_misspos_missele_missrec_h",posE);
286 Fill1DHisto(
"clX_pos_misspos_missele_missrec_h",posX);
287 Fill1DHisto(
"clY_pos_misspos_missele_missrec_h",posY);
288 Fill1DHisto(
"clE_rec_misspos_missele_missrec_h",recE);
289 Fill1DHisto(
"clX_rec_misspos_missele_missrec_h",recX);
290 Fill1DHisto(
"clY_rec_misspos_missele_missrec_h",recY);
293 Fill2DHisto(
"clY_vs_clE_ele_misspos_missele_missrec_hh",eleE,eleY);
294 Fill2DHisto(
"clY_vs_clX_ele_misspos_missele_missrec_hh",eleX,eleY);
295 Fill2DHisto(
"clE_vs_clX_ele_misspos_missele_missrec_hh",eleX,eleE);
296 Fill2DHisto(
"clY_vs_clE_pos_misspos_missele_missrec_hh",posE,posY);
297 Fill2DHisto(
"clY_vs_clX_pos_misspos_missele_missrec_hh",posX,posY);
298 Fill2DHisto(
"clE_vs_clX_pos_misspos_missele_missrec_hh",posX,posE);
299 Fill2DHisto(
"clY_vs_clE_rec_misspos_missele_missrec_hh",recE,recY);
300 Fill2DHisto(
"clY_vs_clX_rec_misspos_missele_missrec_hh",recX,recY);
301 Fill2DHisto(
"clE_vs_clX_rec_misspos_missele_missrec_hh",recX,recE);
CalCluster getCluster() const