CbmRoot
CbmKresConversionPhotons.cxx
Go to the documentation of this file.
1 
17 #include "CbmKresConversionBG.h"
18 #include "CbmKresFunctions.h"
19 
20 #include "CbmGlobalTrack.h"
21 #include "CbmKFParticleInterface.h"
22 #include "CbmL1PFFitter.h"
23 #include "CbmMCTrack.h"
24 #include "CbmMvdHit.h"
25 #include "CbmRichHit.h"
26 #include "CbmRichRing.h"
27 #include "CbmRichRingLight.h"
28 #include "CbmRichUtil.h"
29 #include "CbmStsHit.h"
30 #include "CbmStsTrack.h"
31 #include "CbmTrackMatchNew.h"
32 #include "FairRootManager.h"
33 #include "KFParticle.h"
34 #include "L1Field.h"
35 
36 #include <iostream>
37 
38 using namespace std;
39 
41  : fTrainPhotons(nullptr)
42  , AnnTrainPhotons(0)
43  , fAnnPhotonsSelection(nullptr)
44  , UseAnnPhotons(0)
45  , fMcTracks(nullptr)
46  , fGlobalTracks(nullptr)
47  , fStsTracks(nullptr)
48  , fStsTrackMatches(nullptr)
49  , fRichProjections(nullptr)
50  , fRichRings(nullptr)
51  , fRichRingMatches(nullptr)
52  , fRichHits(nullptr)
53  , fArrayMvdHit(nullptr)
54  , fArrayStsHit(nullptr)
55  , fPrimVertex(nullptr)
56  , fKFVertex()
57  , fTauFit(nullptr)
58  , VStsTrack_minus_Outside()
59  , VMCtracks_minus_Outside()
60  , VRings_minus_Outside()
61  , VStsIndex_minus_Outside()
62  , VRichRing_minus_Outside()
63  , VStsTrack_plus_Outside()
64  , VMCtracks_plus_Outside()
65  , VRings_plus_Outside()
66  , VStsIndex_plus_Outside()
67  , VRichRing_plus_Outside()
68  , VMCtracks_minus_Target()
69  , VStsTrack_minus_Target()
70  , VMomenta_minus_Target()
71  , VRings_minus_Target()
72  , VStsIndex_minus_Target()
73  , VRichRing_minus_Target()
74  , VMCtracks_plus_Target()
75  , VStsTrack_plus_Target()
76  , VMomenta_plus_Target()
77  , VRings_plus_Target()
78  , VStsIndex_plus_Target()
79  , VRichRing_plus_Target()
80  , frefmomenta()
81  , frefId()
82  , fMCtracks()
83  , DP_LK_EMT_momenta_minus_Target()
84  , DP_LK_EMT_NofRings_minus_Target()
85  , DP_LK_EMT_STS_minus_Target()
86  , DP_LK_EMT_STS_minus_index_Target()
87  , DP_LK_EMT_momenta_plus_Target()
88  , DP_LK_EMT_NofRings_plus_Target()
89  , DP_LK_EMT_STS_plus_Target()
90  , DP_LK_EMT_STS_plus_index_Target()
91  , DP_LK_EMT_NofRings_minus_Outside()
92  , DP_LK_EMT_STS_minus_Outside()
93  , DP_LK_EMT_STS_minus_index_Outside()
94  , DP_LK_EMT_NofRings_plus_Outside()
95  , DP_LK_EMT_STS_plus_Outside()
96  , DP_LK_EMT_STS_plus_index_Outside()
97  , DP_EMT_Event_minus_Target()
98  , DP_EMT_momenta_minus_Target()
99  , DP_EMT_NofRings_minus_Target()
100  , DP_EMT_Hits_minus_Target()
101  , DP_EMT_Event_plus_Target()
102  , DP_EMT_momenta_plus_Target()
103  , DP_EMT_NofRings_plus_Target()
104  , DP_EMT_Hits_plus_Target()
105  , DP_EMT_Event_minus_Outside()
106  , DP_EMT_STS_minus_Outside()
107  , DP_EMT_KFTrack_minus_Outside()
108  , DP_EMT_NofRings_minus_Outside()
109  , DP_EMT_Hits_minus_Outside()
110  , DP_EMT_Event_plus_Outside()
111  , DP_EMT_STS_plus_Outside()
112  , DP_EMT_KFTrack_plus_Outside()
113  , DP_EMT_NofRings_plus_Outside()
114  , DP_EMT_Hits_plus_Outside()
115  , Gammas_all_Target()
116  , Gammas_zero_Target()
117  , Gammas_one_Target()
118  , Gammas_two_Target()
119  , Gammas_onetwo_Target()
120  , Gammas_stsIndex_all_Target()
121  , Gammas_stsIndex_zero_Target()
122  , Gammas_stsIndex_one_Target()
123  , Gammas_stsIndex_two_Target()
124  , Gammas_stsIndex_onetwo_Target()
125  , Gammas_MC_all_Target()
126  , Gammas_MC_zero_Target()
127  , Gammas_MC_one_Target()
128  , Gammas_MC_two_Target()
129  , Gammas_MC_onetwo_Target()
130  , Gammas_all_Outside()
131  , Gammas_zero_Outside()
132  , Gammas_one_Outside()
133  , Gammas_two_Outside()
134  , Gammas_onetwo_Outside()
135  , Gammas_stsIndex_all_Outside()
136  , Gammas_stsIndex_zero_Outside()
137  , Gammas_stsIndex_one_Outside()
138  , Gammas_stsIndex_two_Outside()
139  , Gammas_stsIndex_onetwo_Outside()
140  , Gammas_MC_all_Outside()
141  , Gammas_MC_zero_Outside()
142  , Gammas_MC_one_Outside()
143  , Gammas_MC_two_Outside()
144  , Gammas_MC_onetwo_Outside()
145  , Gammas_all_Both()
146  , Gammas_zero_Both()
147  , Gammas_one_Both()
148  , Gammas_two_Both()
149  , Gammas_onetwo_Both()
150  , Gammas_stsIndex_all_Both()
151  , Gammas_stsIndex_zero_Both()
152  , Gammas_stsIndex_one_Both()
153  , Gammas_stsIndex_two_Both()
154  , Gammas_stsIndex_onetwo_Both()
155  , Gammas_MC_all_Both()
156  , Gammas_MC_zero_Both()
157  , Gammas_MC_one_Both()
158  , Gammas_MC_two_Both()
159  , Gammas_MC_onetwo_Both()
160  , fHistoList_dp_Target()
161  , Mother_PDG_Target(nullptr)
162  , GrandMother_PDG_Target(nullptr)
163  , fHistoList_dp_Outside()
164  , Mother_PDG_Outside(nullptr)
165  , GrandMother_PDG_Outside(nullptr)
166  , fHistoList_dp_Both()
167  , Pdg_vs_Distance_for_dp(nullptr)
168  , P_vs_Distance_for_dp(nullptr)
169  , DP_AnnTruePairs(nullptr)
170  , DP_AnnFalsePairs(nullptr)
171  , DP_AnnTruePairs_AfterCuts(nullptr)
172  , DP_AnnFalsePairs_AfterCuts(nullptr)
173  , fHistoList_dp_cuts_Both()
174  , DP_candidates_InvMass_vs_OA_Both(nullptr)
175  , DP_InvMass_vs_OA_Both(nullptr)
176  , DP_candidates_InvMass_Both(nullptr)
177  , DP_InvMass_Both(nullptr)
178  , DP_candidates_OA_Both(nullptr)
179  , DP_OA_Both(nullptr)
180  , DP_candidates_PlaneAngles_last_Both(nullptr)
181  , DP_PlaneAngles_last_Both(nullptr)
182  , DP_candidates_PlaneAngles_first_Both(nullptr)
183  , DP_PlaneAngles_first_Both(nullptr)
184  , fHistoList_dp_cuts_Target()
185  , DP_candidates_InvMass_vs_OA_Target(nullptr)
186  , DP_InvMass_vs_OA_Target(nullptr)
187  , DP_candidates_InvMass_Target(nullptr)
188  , DP_InvMass_Target(nullptr)
189  , DP_candidates_OA_Target(nullptr)
190  , DP_OA_Target(nullptr)
191  , DP_candidates_PlaneAngles_last_Target(nullptr)
192  , DP_PlaneAngles_last_Target(nullptr)
193  , DP_candidates_PlaneAngles_first_Target(nullptr)
194  , DP_PlaneAngles_first_Target(nullptr)
195  , fHistoList_dp_cuts_Outside()
196  , DP_candidates_InvMass_vs_OA_Outside(nullptr)
197  , DP_InvMass_vs_OA_Outside(nullptr)
198  , DP_candidates_InvMass_Outside(nullptr)
199  , DP_InvMass_Outside(nullptr)
200  , DP_candidates_OA_Outside(nullptr)
201  , DP_OA_Outside(nullptr)
202  , DP_candidates_PlaneAngles_last_Outside(nullptr)
203  , DP_PlaneAngles_last_Outside(nullptr)
204  , DP_candidates_PlaneAngles_first_Outside(nullptr)
205  , DP_PlaneAngles_first_Outside(nullptr)
206  , fHistoList_dp_all_Target()
207  , DP_InvMassReco_all_Target(nullptr)
208  , DP_OpeningAngleReco_all_Target(nullptr)
209  , DP_Pdg_all_Target(nullptr)
210  , DP_P_reco_all_Target(nullptr)
211  , DP_Pt_reco_all_Target(nullptr)
212  , Ph_fromTarget_Pt_reco_all_Target(nullptr)
213  , Ph_fromPions_Pt_reco_all_Target(nullptr)
214  , Ph_fromEtas_Pt_reco_all_Target(nullptr)
215  , Ph_fromDalitz_Pt_reco_all_Target(nullptr)
216  , fHistoList_dp_zero_Target()
217  , DP_InvMassReco_zero_Target(nullptr)
218  , DP_OpeningAngleReco_zero_Target(nullptr)
219  , DP_Pdg_zero_Target(nullptr)
220  , DP_P_reco_zero_Target(nullptr)
221  , DP_Pt_reco_zero_Target(nullptr)
222  , Ph_fromTarget_Pt_reco_zero_Target(nullptr)
223  , Ph_fromPions_Pt_reco_zero_Target(nullptr)
224  , Ph_fromEtas_Pt_reco_zero_Target(nullptr)
225  , Ph_fromDalitz_Pt_reco_zero_Target(nullptr)
226  , fHistoList_dp_one_Target()
227  , DP_InvMassReco_one_Target(nullptr)
228  , DP_OpeningAngleReco_one_Target(nullptr)
229  , DP_Pdg_one_Target(nullptr)
230  , DP_P_reco_one_Target(nullptr)
231  , DP_Pt_reco_one_Target(nullptr)
232  , Ph_fromTarget_Pt_reco_one_Target(nullptr)
233  , Ph_fromPions_Pt_reco_one_Target(nullptr)
234  , Ph_fromEtas_Pt_reco_one_Target(nullptr)
235  , Ph_fromDalitz_Pt_reco_one_Target(nullptr)
236  , fHistoList_dp_two_Target()
237  , DP_InvMassReco_two_Target(nullptr)
238  , DP_OpeningAngleReco_two_Target(nullptr)
239  , DP_Pdg_two_Target(nullptr)
240  , DP_P_reco_two_Target(nullptr)
241  , DP_Pt_reco_two_Target(nullptr)
242  , Ph_fromTarget_Pt_reco_two_Target(nullptr)
243  , Ph_fromPions_Pt_reco_two_Target(nullptr)
244  , Ph_fromEtas_Pt_reco_two_Target(nullptr)
245  , Ph_fromDalitz_Pt_reco_two_Target(nullptr)
246  , Ph_fromXi_Pt_reco_two_Target(nullptr)
247  , Ph_fromOther_Pt_reco_two_Target(nullptr)
248  , Ph_twoFromTarget_Pt_reco_two_Target(nullptr)
249  , Ph_fromCombinatorial_Pt_reco_two_Target(nullptr)
250  , Ph_fromConversion_Pt_reco_two_Target(nullptr)
251  , twoFromTarget_PDG_two_Target(nullptr)
252  , fromCombinatorial_PDG_two_Target(nullptr)
253  , CombinatorialGrMotherPdg_two_Target(nullptr)
254  , CombinatorialMotherPdg_two_Target(nullptr)
255  , Electrons_two_Target(nullptr)
256  , Pions_two_Target(nullptr)
257  , PionElectron_two_Target(nullptr)
258  , elsePionOrElectron_two_Target(nullptr)
259  , DalitzAndConversion_Pt_two_Target(nullptr)
260  , DoubleConversion_Pt_two_Target(nullptr)
261  , fromFireball_P_two_Target(nullptr)
262  , twoFromTarget_P_two_Target(nullptr)
263  , fromCombinatorial_electron_P_two_Target(nullptr)
264  , fromCombinatorial_NOTelectron_P_two_Target(nullptr)
265  , fHistoList_dp_onetwo_Target()
266  , DP_InvMassReco_onetwo_Target(nullptr)
267  , DP_OpeningAngleReco_onetwo_Target(nullptr)
268  , DP_Pdg_onetwo_Target(nullptr)
269  , DP_P_reco_onetwo_Target(nullptr)
270  , DP_Pt_reco_onetwo_Target(nullptr)
271  , Ph_fromTarget_Pt_reco_onetwo_Target(nullptr)
272  , Ph_fromPions_Pt_reco_onetwo_Target(nullptr)
273  , Ph_fromEtas_Pt_reco_onetwo_Target(nullptr)
274  , Ph_fromDalitz_Pt_reco_onetwo_Target(nullptr)
275  , Ph_fromXi_Pt_reco_onetwo_Target(nullptr)
276  , Ph_fromOther_Pt_reco_onetwo_Target(nullptr)
277  , Ph_twoFromTarget_Pt_reco_onetwo_Target(nullptr)
278  , Ph_fromCombinatorial_Pt_reco_onetwo_Target(nullptr)
279  , Ph_fromConversion_Pt_reco_onetwo_Target(nullptr)
280  , twoFromTarget_PDG_onetwo_Target(nullptr)
281  , fromCombinatorial_PDG_onetwo_Target(nullptr)
282  , CombinatorialGrMotherPdg_onetwo_Target(nullptr)
283  , CombinatorialMotherPdg_onetwo_Target(nullptr)
284  , Electrons_onetwo_Target(nullptr)
285  , Pions_onetwo_Target(nullptr)
286  , PionElectron_onetwo_Target(nullptr)
287  , elsePionOrElectron_onetwo_Target(nullptr)
288  , DalitzAndConversion_Pt_onetwo_Target(nullptr)
289  , DoubleConversion_Pt_onetwo_Target(nullptr)
290  , fromFireball_P_onetwo_Target(nullptr)
291  , twoFromTarget_P_onetwo_Target(nullptr)
292  , fromCombinatorial_electron_P_onetwo_Target(nullptr)
293  , fromCombinatorial_NOTelectron_P_onetwo_Target(nullptr)
294  , fHistoList_dp_all_Outside()
295  , DP_InvMassReco_all_Outside(nullptr)
296  , DP_OpeningAngleReco_all_Outside(nullptr)
297  , DP_Pdg_all_Outside(nullptr)
298  , DP_P_reco_all_Outside(nullptr)
299  , DP_Pt_reco_all_Outside(nullptr)
300  , Ph_fromTarget_Pt_reco_all_Outside(nullptr)
301  , Ph_fromPions_Pt_reco_all_Outside(nullptr)
302  , Ph_fromEtas_Pt_reco_all_Outside(nullptr)
303  , Ph_fromDalitz_Pt_reco_all_Outside(nullptr)
304  , fHistoList_dp_zero_Outside()
305  , DP_InvMassReco_zero_Outside(nullptr)
306  , DP_OpeningAngleReco_zero_Outside(nullptr)
307  , DP_Pdg_zero_Outside(nullptr)
308  , DP_P_reco_zero_Outside(nullptr)
309  , DP_Pt_reco_zero_Outside(nullptr)
310  , Ph_fromTarget_Pt_reco_zero_Outside(nullptr)
311  , Ph_fromPions_Pt_reco_zero_Outside(nullptr)
312  , Ph_fromEtas_Pt_reco_zero_Outside(nullptr)
313  , Ph_fromDalitz_Pt_reco_zero_Outside(nullptr)
314  , fHistoList_dp_one_Outside()
315  , DP_InvMassReco_one_Outside(nullptr)
316  , DP_OpeningAngleReco_one_Outside(nullptr)
317  , DP_Pdg_one_Outside(nullptr)
318  , DP_P_reco_one_Outside(nullptr)
319  , DP_Pt_reco_one_Outside(nullptr)
320  , Ph_fromTarget_Pt_reco_one_Outside(nullptr)
321  , Ph_fromPions_Pt_reco_one_Outside(nullptr)
322  , Ph_fromEtas_Pt_reco_one_Outside(nullptr)
323  , Ph_fromDalitz_Pt_reco_one_Outside(nullptr)
324  , fHistoList_dp_two_Outside()
325  , DP_InvMassReco_two_Outside(nullptr)
326  , DP_OpeningAngleReco_two_Outside(nullptr)
327  , DP_Pdg_two_Outside(nullptr)
328  , DP_P_reco_two_Outside(nullptr)
329  , DP_Pt_reco_two_Outside(nullptr)
330  , Ph_fromTarget_Pt_reco_two_Outside(nullptr)
331  , Ph_fromPions_Pt_reco_two_Outside(nullptr)
332  , Ph_fromEtas_Pt_reco_two_Outside(nullptr)
333  , Ph_fromDalitz_Pt_reco_two_Outside(nullptr)
334  , Ph_fromXi_Pt_reco_two_Outside(nullptr)
335  , Ph_fromOther_Pt_reco_two_Outside(nullptr)
336  , Ph_twoFromTarget_Pt_reco_two_Outside(nullptr)
337  , Ph_fromCombinatorial_Pt_reco_two_Outside(nullptr)
338  , Ph_fromConversion_Pt_reco_two_Outside(nullptr)
339  , twoFromTarget_PDG_two_Outside(nullptr)
340  , fromCombinatorial_PDG_two_Outside(nullptr)
341  , CombinatorialGrMotherPdg_two_Outside(nullptr)
342  , CombinatorialMotherPdg_two_Outside(nullptr)
343  , Electrons_two_Outside(nullptr)
344  , Pions_two_Outside(nullptr)
345  , PionElectron_two_Outside(nullptr)
346  , elsePionOrElectron_two_Outside(nullptr)
347  , DalitzAndConversion_Pt_two_Outside(nullptr)
348  , DoubleConversion_Pt_two_Outside(nullptr)
349  , fromFireball_P_two_Outside(nullptr)
350  , twoFromTarget_P_two_Outside(nullptr)
351  , fromCombinatorial_electron_P_two_Outside(nullptr)
352  , fromCombinatorial_NOTelectron_P_two_Outside(nullptr)
353  , fHistoList_dp_onetwo_Outside()
354  , DP_InvMassReco_onetwo_Outside(nullptr)
355  , DP_OpeningAngleReco_onetwo_Outside(nullptr)
356  , DP_Pdg_onetwo_Outside(nullptr)
357  , DP_P_reco_onetwo_Outside(nullptr)
358  , DP_Pt_reco_onetwo_Outside(nullptr)
359  , Ph_fromTarget_Pt_reco_onetwo_Outside(nullptr)
360  , Ph_fromPions_Pt_reco_onetwo_Outside(nullptr)
361  , Ph_fromEtas_Pt_reco_onetwo_Outside(nullptr)
362  , Ph_fromDalitz_Pt_reco_onetwo_Outside(nullptr)
363  , Ph_fromXi_Pt_reco_onetwo_Outside(nullptr)
364  , Ph_fromOther_Pt_reco_onetwo_Outside(nullptr)
365  , Ph_twoFromTarget_Pt_reco_onetwo_Outside(nullptr)
366  , Ph_fromCombinatorial_Pt_reco_onetwo_Outside(nullptr)
367  , Ph_fromConversion_Pt_reco_onetwo_Outside(nullptr)
368  , twoFromTarget_PDG_onetwo_Outside(nullptr)
369  , fromCombinatorial_PDG_onetwo_Outside(nullptr)
370  , CombinatorialGrMotherPdg_onetwo_Outside(nullptr)
371  , CombinatorialMotherPdg_onetwo_Outside(nullptr)
372  , Electrons_onetwo_Outside(nullptr)
373  , Pions_onetwo_Outside(nullptr)
374  , PionElectron_onetwo_Outside(nullptr)
375  , elsePionOrElectron_onetwo_Outside(nullptr)
376  , DalitzAndConversion_Pt_onetwo_Outside(nullptr)
377  , DoubleConversion_Pt_onetwo_Outside(nullptr)
378  , fromFireball_P_onetwo_Outside(nullptr)
379  , twoFromTarget_P_onetwo_Outside(nullptr)
380  , fromCombinatorial_electron_P_onetwo_Outside(nullptr)
381  , fromCombinatorial_NOTelectron_P_onetwo_Outside(nullptr)
382  , fHistoList_dp_all_Both()
383  , DP_InvMassReco_all_Both(nullptr)
384  , DP_OpeningAngleReco_all_Both(nullptr)
385  , DP_Pdg_all_Both(nullptr)
386  , DP_P_reco_all_Both(nullptr)
387  , DP_Pt_reco_all_Both(nullptr)
388  , Ph_fromTarget_Pt_reco_all_Both(nullptr)
389  , Ph_fromPions_Pt_reco_all_Both(nullptr)
390  , Ph_fromEtas_Pt_reco_all_Both(nullptr)
391  , Ph_fromDalitz_Pt_reco_all_Both(nullptr)
392  , Ph_pt_vs_rap_est_all_Both(nullptr)
393  , fHistoList_dp_zero_Both()
394  , DP_InvMassReco_zero_Both(nullptr)
395  , DP_OpeningAngleReco_zero_Both(nullptr)
396  , DP_Pdg_zero_Both(nullptr)
397  , DP_P_reco_zero_Both(nullptr)
398  , DP_Pt_reco_zero_Both(nullptr)
399  , Ph_fromTarget_Pt_reco_zero_Both(nullptr)
400  , Ph_fromPions_Pt_reco_zero_Both(nullptr)
401  , Ph_fromEtas_Pt_reco_zero_Both(nullptr)
402  , Ph_fromDalitz_Pt_reco_zero_Both(nullptr)
403  , Ph_pt_vs_rap_est_zero_Both(nullptr)
404  , fHistoList_dp_one_Both()
405  , DP_InvMassReco_one_Both(nullptr)
406  , DP_OpeningAngleReco_one_Both(nullptr)
407  , DP_Pdg_one_Both(nullptr)
408  , DP_P_reco_one_Both(nullptr)
409  , DP_Pt_reco_one_Both(nullptr)
410  , Ph_fromTarget_Pt_reco_one_Both(nullptr)
411  , Ph_fromPions_Pt_reco_one_Both(nullptr)
412  , Ph_fromEtas_Pt_reco_one_Both(nullptr)
413  , Ph_fromDalitz_Pt_reco_one_Both(nullptr)
414  , Ph_pt_vs_rap_est_one_Both(nullptr)
415  , fHistoList_dp_two_Both()
416  , DP_InvMassReco_two_Both(nullptr)
417  , DP_OpeningAngleReco_two_Both(nullptr)
418  , DP_Pdg_two_Both(nullptr)
419  , DP_P_reco_two_Both(nullptr)
420  , DP_Pt_reco_two_Both(nullptr)
421  , Ph_fromTarget_Pt_reco_two_Both(nullptr)
422  , Ph_fromPions_Pt_reco_two_Both(nullptr)
423  , Ph_fromEtas_Pt_reco_two_Both(nullptr)
424  , Ph_fromDalitz_Pt_reco_two_Both(nullptr)
425  , Ph_twoFromTarget_Pt_reco_two_Both(nullptr)
426  , Ph_fromCombinatorial_Pt_reco_two_Both(nullptr)
427  , Ph_fromConversion_Pt_reco_two_Both(nullptr)
428  , Ph_pt_vs_rap_est_two_Both(nullptr)
429  , fHistoList_dp_onetwo_Both()
430  , DP_InvMassReco_onetwo_Both(nullptr)
431  , DP_OpeningAngleReco_onetwo_Both(nullptr)
432  , DP_Pdg_onetwo_Both(nullptr)
433  , DP_P_reco_onetwo_Both(nullptr)
434  , DP_Pt_reco_onetwo_Both(nullptr)
435  , Ph_fromTarget_Pt_reco_onetwo_Both(nullptr)
436  , Ph_fromPions_Pt_reco_onetwo_Both(nullptr)
437  , Ph_fromEtas_Pt_reco_onetwo_Both(nullptr)
438  , Ph_fromDalitz_Pt_reco_onetwo_Both(nullptr)
439  , Ph_twoFromTarget_Pt_reco_onetwo_Both(nullptr)
440  , Ph_fromCombinatorial_Pt_reco_onetwo_Both(nullptr)
441  , Ph_fromConversion_Pt_reco_onetwo_Both(nullptr)
442  , Ph_pt_vs_rap_est_onetwo_Both(nullptr)
443  , DP_EMT_Pt_all_Target(nullptr)
444  , DP_EMT_Pt_zero_Target(nullptr)
445  , DP_EMT_Pt_one_Target(nullptr)
446  , DP_EMT_Pt_two_Target(nullptr)
447  , DP_EMT_Pt_onetwo_Target(nullptr)
448  , DP_EMT_Pt_all_Outside(nullptr)
449  , DP_EMT_Pt_zero_Outside(nullptr)
450  , DP_EMT_Pt_one_Outside(nullptr)
451  , DP_EMT_Pt_two_Outside(nullptr)
452  , DP_EMT_Pt_onetwo_Outside(nullptr)
453  , DP_EMT_Pt_all_Both(nullptr)
454  , DP_EMT_Pt_zero_Both(nullptr)
455  , DP_EMT_Pt_one_Both(nullptr)
456  , DP_EMT_Pt_two_Both(nullptr)
457  , DP_EMT_Pt_onetwo_Both(nullptr)
458  , DP_LK_EMT_neg_Pt_all_Target(nullptr)
459  , DP_LK_EMT_neg_Pt_zero_Target(nullptr)
460  , DP_LK_EMT_neg_Pt_one_Target(nullptr)
461  , DP_LK_EMT_neg_Pt_two_Target(nullptr)
462  , DP_LK_EMT_neg_Pt_onetwo_Target(nullptr)
463  , DP_LK_EMT_pos_Pt_all_Target(nullptr)
464  , DP_LK_EMT_pos_Pt_zero_Target(nullptr)
465  , DP_LK_EMT_pos_Pt_one_Target(nullptr)
466  , DP_LK_EMT_pos_Pt_two_Target(nullptr)
467  , DP_LK_EMT_pos_Pt_onetwo_Target(nullptr)
468  , DP_LK_EMT_Pt_all_Target(nullptr)
469  , DP_LK_EMT_Pt_zero_Target(nullptr)
470  , DP_LK_EMT_Pt_one_Target(nullptr)
471  , DP_LK_EMT_Pt_two_Target(nullptr)
472  , DP_LK_EMT_Pt_onetwo_Target(nullptr)
473  , DP_LK_EMT_neg_Pt_all_Outside(nullptr)
474  , DP_LK_EMT_neg_Pt_zero_Outside(nullptr)
475  , DP_LK_EMT_neg_Pt_one_Outside(nullptr)
476  , DP_LK_EMT_neg_Pt_two_Outside(nullptr)
477  , DP_LK_EMT_neg_Pt_onetwo_Outside(nullptr)
478  , DP_LK_EMT_pos_Pt_all_Outside(nullptr)
479  , DP_LK_EMT_pos_Pt_zero_Outside(nullptr)
480  , DP_LK_EMT_pos_Pt_one_Outside(nullptr)
481  , DP_LK_EMT_pos_Pt_two_Outside(nullptr)
482  , DP_LK_EMT_pos_Pt_onetwo_Outside(nullptr)
483  , DP_LK_EMT_Pt_all_Outside(nullptr)
484  , DP_LK_EMT_Pt_zero_Outside(nullptr)
485  , DP_LK_EMT_Pt_one_Outside(nullptr)
486  , DP_LK_EMT_Pt_two_Outside(nullptr)
487  , DP_LK_EMT_Pt_onetwo_Outside(nullptr) {}
488 
490 
492  FairRootManager* ioman = FairRootManager::Instance();
493  if (nullptr == ioman) {
494  Fatal("CbmKresConversionPhotons::Init", "RootManager not instantised!");
495  }
496 
497  fMcTracks = (TClonesArray*) ioman->GetObject("MCTrack");
498  if (nullptr == fMcTracks) {
499  Fatal("CbmKresConversionPhotons::Init", "No MCTrack array!");
500  }
501 
502  fPrimVertex = dynamic_cast<CbmVertex*>(ioman->GetObject("PrimaryVertex."));
503  if (nullptr == fPrimVertex) {
504  fPrimVertex = dynamic_cast<CbmVertex*>(ioman->GetObject("PrimaryVertex"));
505  }
506  if (nullptr == fPrimVertex) {
507  LOG(fatal) << "CbmKresConversionPhotons::Init No PrimaryVertex array!";
508  }
509 
510  fGlobalTracks = (TClonesArray*) ioman->GetObject("GlobalTrack");
511  if (nullptr == fGlobalTracks) {
512  Fatal("CbmKresConversionPhotons::Init", "No GlobalTrack array!");
513  }
514 
515  fStsTracks = (TClonesArray*) ioman->GetObject("StsTrack");
516  if (nullptr == fStsTracks) {
517  Fatal("CbmKresConversionPhotons::Init", "No StsTrack array!");
518  }
519 
520  fStsTrackMatches = (TClonesArray*) ioman->GetObject("StsTrackMatch");
521  if (nullptr == fStsTrackMatches) {
522  Fatal("CbmKresConversionPhotons::Init", "No StsTrackMatch array!");
523  }
524 
525  fRichProjections = (TClonesArray*) ioman->GetObject("RichProjection");
526  if (nullptr == fRichProjections) {
527  Fatal("CbmKresConversionPhotons::Init", "No RichProjection array!");
528  }
529 
530  fRichRings = (TClonesArray*) ioman->GetObject("RichRing");
531  if (nullptr == fRichRings) {
532  Fatal("CbmKresConversionPhotons::Init", "No RichRing array!");
533  }
534 
535  fRichRingMatches = (TClonesArray*) ioman->GetObject("RichRingMatch");
536  if (nullptr == fRichRingMatches) {
537  Fatal("CbmKresConversionPhotons::Init", "No RichRingMatch array!");
538  }
539 
540  fRichHits = (TClonesArray*) ioman->GetObject("RichHit");
541  if (nullptr == fRichHits) {
542  Fatal("CbmKresConversionPhotons::Init", "No RichHit array!");
543  }
544 
545  fArrayMvdHit = (TClonesArray*) ioman->GetObject("MvdHit");
546  if (nullptr == fArrayMvdHit) {
547  Fatal("CbmKresConversionPhotons::Init", "No MvdHit array!");
548  }
549 
550  fArrayStsHit = (TClonesArray*) ioman->GetObject("StsHit");
551  if (nullptr == fArrayStsHit) {
552  Fatal("CbmKresConversionPhotons::Init", "No StsHit array!");
553  }
554 
555 
557 
558  InitHistograms();
559 
560  AnnTrainPhotons = 0;
561 
563 
564  if (AnnTrainPhotons == 1) {
566  fTrainPhotons->Init();
567  cout << endl;
568  cout << "\t *** CbmKresTrainAnnDirectPhotons ==> is "
569  "activated"
570  << endl;
571  }
572 
573 
574  if (UseAnnPhotons == 1) {
577  cout << endl;
578  cout << "\t *** CbmKresSelectAnnPhotons ==> is "
579  "activated"
580  << endl;
581  }
582 }
583 
584 
585 void CbmKresConversionPhotons::Exec(int fEventNumDP,
586  double OpeningAngleCut,
587  double GammaInvMassCut,
588  int RealPID) {
589  cout << "CbmKresConversionPhotons, event No. " << fEventNumDP << endl;
590 
591  if (fPrimVertex != nullptr) {
593  } else {
594  Fatal("CbmKresConversionPhotons::Exec", "No PrimaryVertex array!");
595  }
596 
597 
598  Gammas_all_Target.clear();
599  Gammas_one_Target.clear();
600  Gammas_two_Target.clear();
601  Gammas_zero_Target.clear();
602  Gammas_onetwo_Target.clear();
608  Gammas_MC_all_Target.clear();
609  Gammas_MC_one_Target.clear();
610  Gammas_MC_two_Target.clear();
611  Gammas_MC_zero_Target.clear();
612  Gammas_MC_onetwo_Target.clear();
613  Gammas_all_Outside.clear();
614  Gammas_one_Outside.clear();
615  Gammas_two_Outside.clear();
616  Gammas_zero_Outside.clear();
617  Gammas_onetwo_Outside.clear();
623  Gammas_MC_all_Outside.clear();
624  Gammas_MC_one_Outside.clear();
625  Gammas_MC_two_Outside.clear();
626  Gammas_MC_zero_Outside.clear();
627  Gammas_MC_onetwo_Outside.clear();
628  Gammas_all_Both.clear();
629  Gammas_one_Both.clear();
630  Gammas_two_Both.clear();
631  Gammas_zero_Both.clear();
632  Gammas_onetwo_Both.clear();
633  Gammas_stsIndex_all_Both.clear();
634  Gammas_stsIndex_one_Both.clear();
635  Gammas_stsIndex_two_Both.clear();
638  Gammas_MC_all_Both.clear();
639  Gammas_MC_one_Both.clear();
640  Gammas_MC_two_Both.clear();
641  Gammas_MC_zero_Both.clear();
642  Gammas_MC_onetwo_Both.clear();
643 
644 
645  VMCtracks_minus_Outside.clear();
646  VStsTrack_minus_Outside.clear();
647  VRings_minus_Outside.clear();
648  VStsIndex_minus_Outside.clear();
649  VRichRing_minus_Outside.clear();
650  VMCtracks_plus_Outside.clear();
651  VStsTrack_plus_Outside.clear();
652  VRings_plus_Outside.clear();
653  VStsIndex_plus_Outside.clear();
654  VRichRing_plus_Outside.clear();
655 
656  VMCtracks_minus_Target.clear();
657  VMomenta_minus_Target.clear();
658  VStsTrack_minus_Target.clear();
659  VRings_minus_Target.clear();
660  VStsIndex_minus_Target.clear();
661  VRichRing_minus_Target.clear();
662  VMCtracks_plus_Target.clear();
663  VStsTrack_plus_Target.clear();
664  VMomenta_plus_Target.clear();
665  VRings_plus_Target.clear();
666  VStsIndex_plus_Target.clear();
667  VRichRing_plus_Target.clear();
668 
669 
670  Int_t ngTracks = fGlobalTracks->GetEntriesFast();
671  for (Int_t i = 0; i < ngTracks; i++) {
672  CbmGlobalTrack* gTrack = (CbmGlobalTrack*) fGlobalTracks->At(i);
673  if (nullptr == gTrack) continue;
674  Int_t stsInd = gTrack->GetStsTrackIndex();
675  Int_t richInd = gTrack->GetRichRingIndex();
676 
677  if (stsInd < 0) continue;
678  CbmStsTrack* stsTrack = (CbmStsTrack*) fStsTracks->At(stsInd);
679  if (stsTrack == nullptr) continue;
680  CbmTrackMatchNew* stsMatch =
681  (CbmTrackMatchNew*) fStsTrackMatches->At(stsInd);
682  if (stsMatch == nullptr) continue;
683  if (stsMatch->GetNofLinks() <= 0) continue;
684  Int_t stsMcTrackId = stsMatch->GetMatchedLink().GetIndex();
685  if (stsMcTrackId < 0) continue;
686  CbmMCTrack* mcTrack = (CbmMCTrack*) fMcTracks->At(stsMcTrackId);
687  if (mcTrack == nullptr) continue;
688 
689 
690  FairTrackParam* proj = (FairTrackParam*) fRichProjections->At(i);
691  if (richInd < 0 && proj->GetX() > -115 && proj->GetX() < 115
692  && ((proj->GetY() < -120 && proj->GetY() > -200)
693  || (proj->GetY() > 120 && proj->GetY() < 200)))
694  continue;
695  CbmRichRing* Ring = nullptr;
696  if (richInd > -1) {
697  Ring = static_cast<CbmRichRing*>(fRichRings->At(richInd));
698  Pdg_vs_Distance_for_dp->Fill(TMath::Abs(mcTrack->GetPdgCode()),
700  if (TMath::Abs(mcTrack->GetPdgCode()) == 11)
701  P_vs_Distance_for_dp->Fill(mcTrack->GetP(),
703  }
704 
705  // Doing fit with Fit To primary Vertex and calculate chi2 to primary vertex
706  double chi2 = 0;
707  TVector3 Momentum =
709  fKFVertex.GetRefX(),
710  fKFVertex.GetRefY(),
711  fKFVertex.GetRefZ(),
712  chi2);
713  const FairTrackParam* track_par = stsTrack->GetParamFirst();
714  double charge = track_par->GetQp();
715 
716 
717  if (chi2 != chi2) continue;
718  if (chi2 == 0) continue;
719 
720  if (chi2 > 3) {
722  mcTrack, stsTrack, charge, stsInd, richInd, stsMcTrackId, Ring);
723  }
724  if (chi2 > 3) continue;
725 
727  mcTrack, stsTrack, Momentum, charge, stsInd, richInd, stsMcTrackId, Ring);
728  }
729 
730 
731  FindGammasTarget(fEventNumDP,
732  OpeningAngleCut,
733  GammaInvMassCut,
734  RealPID,
747 
748  FindGammasOutside(fEventNumDP,
749  OpeningAngleCut,
750  GammaInvMassCut,
751  RealPID,
762 
763  FindGammasBoth();
764 
765 
766  if (UseAnnPhotons == 1) {
767  int numformix = 1000;
768  if (fEventNumDP % numformix == 0) {
769  DP_Mixing_Target(OpeningAngleCut, GammaInvMassCut);
773  DP_EMT_Hits_minus_Target.clear();
774 
775  DP_EMT_Event_plus_Target.clear();
778  DP_EMT_Hits_plus_Target.clear();
779  }
780 
781  if (fEventNumDP % numformix == 0) {
782  DP_Mixing_Outside(OpeningAngleCut, GammaInvMassCut);
784  DP_EMT_STS_minus_Outside.clear();
788 
790  DP_EMT_STS_plus_Outside.clear();
793  DP_EMT_Hits_plus_Outside.clear();
794  }
795 
796  // DP_LK_EMT Target
797  DP_likesign_Mixing_Target(OpeningAngleCut, GammaInvMassCut);
806 
807  // DP_LK_EMT Outside
808  DP_likesign_Mixing_Outside(OpeningAngleCut, GammaInvMassCut);
815  }
816 }
817 
818 
820  CbmStsTrack* stsTrack,
821  double charge,
822  int stsInd,
823  int richInd,
824  int stsMcTrackId,
825  CbmRichRing* RING) {
826  int InRich = FindInRich(richInd, stsMcTrackId);
827  if (charge < 0) {
828  VMCtracks_minus_Outside.push_back(mcTrack1);
829  VStsTrack_minus_Outside.push_back(stsTrack);
830  VRings_minus_Outside.push_back(InRich);
831  VStsIndex_minus_Outside.push_back(stsInd);
832  VRichRing_minus_Outside.push_back(RING);
833  }
834  if (charge > 0) {
835  VMCtracks_plus_Outside.push_back(mcTrack1);
836  VStsTrack_plus_Outside.push_back(stsTrack);
837  VRings_plus_Outside.push_back(InRich);
838  VStsIndex_plus_Outside.push_back(stsInd);
839  VRichRing_plus_Outside.push_back(RING);
840  }
841 }
842 
844  CbmStsTrack* stsTrack,
845  TVector3 refmom,
846  double charge,
847  int stsInd,
848  int richInd,
849  int stsMcTrackId,
850  CbmRichRing* RING) {
851  int InRich = FindInRich(richInd, stsMcTrackId);
852  if (charge < 0) {
853  VMCtracks_minus_Target.push_back(mcTrack1);
854  VStsTrack_minus_Target.push_back(stsTrack);
855  VMomenta_minus_Target.push_back(refmom);
856  VRings_minus_Target.push_back(InRich);
857  VStsIndex_minus_Target.push_back(stsInd);
858  VRichRing_minus_Target.push_back(RING);
859  }
860  if (charge > 0) {
861  VMCtracks_plus_Target.push_back(mcTrack1);
862  VStsTrack_plus_Target.push_back(stsTrack);
863  VMomenta_plus_Target.push_back(refmom);
864  VRings_plus_Target.push_back(InRich);
865  VStsIndex_plus_Target.push_back(stsInd);
866  VRichRing_plus_Target.push_back(RING);
867  }
868 }
869 
870 
872  int EventNumMan,
873  double AngleCut,
874  double InvMassCut,
875  int RealPID,
876  vector<CbmMCTrack*> MCtracks_minus,
877  vector<CbmMCTrack*> MCtracks_plus,
878  vector<CbmStsTrack*> StsTrack_minus,
879  vector<CbmStsTrack*> StsTrack_plus,
880  vector<TVector3> Momenta_minus,
881  vector<TVector3> Momenta_plus,
882  std::vector<int> Rings_minus,
883  std::vector<int> Rings_plus,
884  std::vector<int> stsIndex_minus,
885  std::vector<int> stsIndex_plus,
886  vector<CbmRichRing*> richRing_minus,
887  vector<CbmRichRing*> richRing_plus) {
888  for (size_t i = 0; i < Momenta_minus.size(); i++) {
889  for (size_t j = 0; j < Momenta_plus.size(); j++) {
890 
891  CbmStsTrack* sts1 = StsTrack_minus.at(i);
892  CbmStsTrack* sts2 = StsTrack_plus.at(j);
893 
894  TVector3 part1 = Momenta_minus[i];
895  TVector3 part2 = Momenta_plus[j];
896  CbmMCTrack* part1MC = MCtracks_minus[i];
897  CbmMCTrack* part2MC = MCtracks_plus[j];
898  int sts1_index = stsIndex_minus[i];
899  int sts2_index = stsIndex_plus[j];
900 
901  int richcheck_0 = 0;
902  int richcheck_1 = 0;
903  if (RealPID == 1) {
904  // Real PID
905  richcheck_0 =
906  CheckIfElectron(richRing_minus[i], Momenta_minus[i].Mag());
907  richcheck_1 = CheckIfElectron(richRing_plus[j], Momenta_plus[j].Mag());
908  } else {
909  // MC PID
910  richcheck_0 = Rings_minus[i];
911  richcheck_1 = Rings_plus[j];
912  }
913  int richcheck = richcheck_0 + richcheck_1;
914 
915  Double_t InvmassReco =
917  Double_t OpeningAngle =
919  CbmLmvmKinematicParams params =
921 
922  DP_candidates_InvMass_vs_OA_Target->Fill(InvmassReco, OpeningAngle);
923  DP_candidates_InvMass_vs_OA_Both->Fill(InvmassReco, OpeningAngle);
924  DP_candidates_InvMass_Target->Fill(InvmassReco);
925  DP_candidates_InvMass_Both->Fill(InvmassReco);
926  DP_candidates_OA_Target->Fill(OpeningAngle);
927  DP_candidates_OA_Both->Fill(OpeningAngle);
928 
929  double PlaneAngle_last = CalculatePlaneAngle_last(sts1, sts2);
930  double PlaneAngle_first = CalculatePlaneAngle_first(sts1, sts2);
931 
932  int IdForANN =
933  0; // 0 - means wrong pair combination; 1 - means correct pair
934  if (part1MC->GetMotherId() == part2MC->GetMotherId()
935  && part1MC->GetMotherId() != -1) {
936  CbmMCTrack* mcTrackmama =
937  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
938  if (mcTrackmama->GetMotherId() == -1
939  && mcTrackmama->GetPdgCode() == 22) {
940  IdForANN = 1;
941  DP_InvMass_Target->Fill(InvmassReco);
942  DP_InvMass_Both->Fill(InvmassReco);
943  DP_OA_Target->Fill(OpeningAngle);
944  DP_OA_Both->Fill(OpeningAngle);
945  DP_InvMass_vs_OA_Target->Fill(InvmassReco, OpeningAngle);
946  DP_InvMass_vs_OA_Both->Fill(InvmassReco, OpeningAngle);
947  DP_PlaneAngles_last_Target->Fill(PlaneAngle_last);
948  DP_PlaneAngles_last_Both->Fill(PlaneAngle_last);
949  DP_PlaneAngles_first_Target->Fill(PlaneAngle_first);
950  DP_PlaneAngles_first_Both->Fill(PlaneAngle_first);
951  }
952  }
953 
954  // run ANN
955  if (AnnTrainPhotons == 1) {
956  fTrainPhotons->Exec(EventNumMan,
957  IdForANN,
958  InvmassReco,
959  OpeningAngle,
960  PlaneAngle_last,
961  fKFVertex.GetRefZ(),
962  part1,
963  part2);
964  continue;
965  }
966 
967  double AnnValue = 999;
968  if (UseAnnPhotons == 1) {
969  AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco,
970  OpeningAngle,
971  PlaneAngle_last,
972  fKFVertex.GetRefZ(),
973  part1,
974  part2);
975  if (IdForANN == 1) DP_AnnTruePairs->Fill(AnnValue);
976  if (IdForANN == 0) DP_AnnFalsePairs->Fill(AnnValue);
977  }
978 
979 
980  DP_candidates_PlaneAngles_last_Target->Fill(PlaneAngle_last);
981  DP_candidates_PlaneAngles_last_Both->Fill(PlaneAngle_last);
982  DP_candidates_PlaneAngles_first_Target->Fill(PlaneAngle_first);
983  DP_candidates_PlaneAngles_first_Both->Fill(PlaneAngle_first);
984 
985 
986  // cuts
987  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
988  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
989  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
990 
991  int fromPions = 0;
992  int fromEta = 0;
993  int fromFireball = 0;
994  int fromDalitz = 0;
995  int fromXi = 0;
996  int fromOther = 0;
997  int fromCombinatorial = 0;
998  int fromConversion = 0;
999  int twoFromTarget = 0;
1000  if (part1MC->GetMotherId() == part2MC->GetMotherId()
1001  && part1MC->GetMotherId() != -1) {
1002  CbmMCTrack* mcTrackmama =
1003  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1004  if (mcTrackmama->GetPdgCode() == 22) {
1005  if (mcTrackmama->GetMotherId() == -1) {
1006  fromFireball = 1;
1007  } else {
1008  CbmMCTrack* mcTrackGrmama =
1009  (CbmMCTrack*) fMcTracks->At(mcTrackmama->GetMotherId());
1010  if (mcTrackGrmama->GetPdgCode() == 111) fromPions = 1;
1011  if (mcTrackGrmama->GetPdgCode() == 221) fromEta = 1;
1012  if (mcTrackGrmama->GetPdgCode() == 3212) fromXi = 1;
1013  fromConversion = 1;
1014  }
1015  } else {
1016  if (mcTrackmama->GetPdgCode() == 111) fromDalitz = 1;
1017  if (mcTrackmama->GetPdgCode() != 111) fromOther = 1;
1018  }
1019  } else if (part1MC->GetMotherId() == part2MC->GetMotherId()
1020  && part1MC->GetMotherId() == -1) {
1021  twoFromTarget = 1;
1022  } else {
1023  fromCombinatorial = 1;
1024  }
1025 
1026 
1027  if (part1MC->GetMotherId() == part2MC->GetMotherId()
1028  && part1MC->GetMotherId() != -1) {
1029  CbmMCTrack* mcTrackmama =
1030  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1031  Mother_PDG_Target->Fill(mcTrackmama->GetPdgCode());
1032  if (mcTrackmama->GetPdgCode() == 22) {
1033  if (mcTrackmama->GetMotherId() == -1) {
1034  GrandMother_PDG_Target->Fill(mcTrackmama->GetMotherId());
1035  } else {
1036  CbmMCTrack* mcTrackGrmama =
1037  (CbmMCTrack*) fMcTracks->At(mcTrackmama->GetMotherId());
1038  GrandMother_PDG_Target->Fill(
1039  TMath::Abs(mcTrackGrmama->GetPdgCode()));
1040  }
1041  }
1042  }
1043 
1044 
1045  if (IdForANN == 1) DP_AnnTruePairs_AfterCuts->Fill(AnnValue);
1046  if (IdForANN == 0) DP_AnnFalsePairs_AfterCuts->Fill(AnnValue);
1047 
1048  frefmomenta.clear();
1049  frefmomenta.push_back(part1);
1050  frefmomenta.push_back(part2);
1051  frefId.clear();
1052  frefId.push_back(stsIndex_minus[i]);
1053  frefId.push_back(stsIndex_plus[j]);
1054  fMCtracks.clear();
1055  fMCtracks.push_back(part1MC);
1056  fMCtracks.push_back(part2MC);
1057 
1058 
1059  // for event mixing DP
1060  std::vector<TVector3> minusTrack = SaveAllHits(sts1);
1061  std::vector<TVector3> plusTrack = SaveAllHits(sts2);
1062 
1063  DP_EMT_Event_minus_Target.push_back(EventNumMan);
1064  DP_EMT_momenta_minus_Target.push_back(part1);
1065  DP_EMT_NofRings_minus_Target.push_back(richcheck_0);
1066  DP_EMT_Hits_minus_Target.push_back(minusTrack);
1067 
1068  DP_EMT_Event_plus_Target.push_back(EventNumMan);
1069  DP_EMT_momenta_plus_Target.push_back(part2);
1070  DP_EMT_NofRings_plus_Target.push_back(richcheck_1);
1071  DP_EMT_Hits_plus_Target.push_back(plusTrack);
1072 
1073  // DP_LK_EMT
1074  DP_LK_EMT_momenta_minus_Target.push_back(part1);
1075  DP_LK_EMT_NofRings_minus_Target.push_back(richcheck_0);
1076  DP_LK_EMT_STS_minus_Target.push_back(sts1);
1077  DP_LK_EMT_STS_minus_index_Target.push_back(sts1_index);
1078 
1079  DP_LK_EMT_momenta_plus_Target.push_back(part2);
1080  DP_LK_EMT_NofRings_plus_Target.push_back(richcheck_1);
1081  DP_LK_EMT_STS_plus_Target.push_back(sts2);
1082  DP_LK_EMT_STS_plus_index_Target.push_back(sts2_index);
1083 
1084 
1085  // everything (RICH == 0, RICH == 1, RICH == 2) together
1086  if (richcheck == 0 || richcheck == 1 || richcheck == 2) {
1087  Gammas_all_Target.push_back(frefmomenta);
1089  Gammas_MC_all_Target.push_back(fMCtracks);
1090  DP_InvMassReco_all_Target->Fill(InvmassReco);
1091  DP_OpeningAngleReco_all_Target->Fill(OpeningAngle);
1092  DP_Pdg_all_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1093  DP_Pdg_all_Target->Fill(TMath::Abs(part2MC->GetPdgCode()));
1094  DP_P_reco_all_Target->Fill(params.fMomentumMag);
1095  DP_Pt_reco_all_Target->Fill(params.fPt);
1096  DP_InvMassReco_all_Both->Fill(InvmassReco);
1097  DP_OpeningAngleReco_all_Both->Fill(OpeningAngle);
1098  DP_Pdg_all_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1099  DP_Pdg_all_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1100  DP_P_reco_all_Both->Fill(params.fMomentumMag);
1101  DP_Pt_reco_all_Both->Fill(params.fPt);
1102  if (fromFireball == 1) {
1103  Ph_fromTarget_Pt_reco_all_Target->Fill(params.fPt);
1104  Ph_fromTarget_Pt_reco_all_Both->Fill(params.fPt);
1105  Ph_pt_vs_rap_est_all_Both->Fill(params.fRapidity, params.fPt);
1106  }
1107  if (fromPions == 1) {
1108  Ph_fromPions_Pt_reco_all_Target->Fill(params.fPt);
1109  Ph_fromPions_Pt_reco_all_Both->Fill(params.fPt);
1110  }
1111  if (fromEta == 1) {
1112  Ph_fromEtas_Pt_reco_all_Target->Fill(params.fPt);
1113  Ph_fromEtas_Pt_reco_all_Both->Fill(params.fPt);
1114  }
1115  if (fromDalitz == 1) {
1116  Ph_fromDalitz_Pt_reco_all_Target->Fill(params.fPt);
1117  Ph_fromDalitz_Pt_reco_all_Both->Fill(params.fPt);
1118  }
1119  }
1120 
1121  // only cases, when RICH == 0
1122  if (richcheck == 0) {
1123  Gammas_zero_Target.push_back(frefmomenta);
1125  Gammas_MC_zero_Target.push_back(fMCtracks);
1126  DP_InvMassReco_zero_Target->Fill(InvmassReco);
1127  DP_OpeningAngleReco_zero_Target->Fill(OpeningAngle);
1128  DP_Pdg_zero_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1129  DP_Pdg_zero_Target->Fill(TMath::Abs(part2MC->GetPdgCode()));
1130  DP_P_reco_zero_Target->Fill(params.fMomentumMag);
1131  DP_Pt_reco_zero_Target->Fill(params.fPt);
1132  DP_InvMassReco_zero_Both->Fill(InvmassReco);
1133  DP_OpeningAngleReco_zero_Both->Fill(OpeningAngle);
1134  DP_Pdg_zero_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1135  DP_Pdg_zero_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1136  DP_P_reco_zero_Both->Fill(params.fMomentumMag);
1137  DP_Pt_reco_zero_Both->Fill(params.fPt);
1138  if (fromFireball == 1) {
1139  Ph_fromTarget_Pt_reco_zero_Target->Fill(params.fPt);
1140  Ph_fromTarget_Pt_reco_zero_Both->Fill(params.fPt);
1141  Ph_pt_vs_rap_est_zero_Both->Fill(params.fRapidity, params.fPt);
1142  }
1143  if (fromPions == 1) {
1144  Ph_fromPions_Pt_reco_zero_Target->Fill(params.fPt);
1145  Ph_fromPions_Pt_reco_zero_Both->Fill(params.fPt);
1146  }
1147  if (fromEta == 1) {
1148  Ph_fromEtas_Pt_reco_zero_Target->Fill(params.fPt);
1149  Ph_fromEtas_Pt_reco_zero_Both->Fill(params.fPt);
1150  }
1151  if (fromDalitz == 1) {
1152  Ph_fromDalitz_Pt_reco_zero_Target->Fill(params.fPt);
1153  Ph_fromDalitz_Pt_reco_zero_Both->Fill(params.fPt);
1154  }
1155  }
1156 
1157  // only cases, when RICH == 1
1158  if (richcheck == 1) {
1159  Gammas_one_Target.push_back(frefmomenta);
1161  Gammas_MC_one_Target.push_back(fMCtracks);
1162  DP_InvMassReco_one_Target->Fill(InvmassReco);
1163  DP_OpeningAngleReco_one_Target->Fill(OpeningAngle);
1164  DP_Pdg_one_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1165  DP_Pdg_one_Target->Fill(TMath::Abs(part2MC->GetPdgCode()));
1166  DP_P_reco_one_Target->Fill(params.fMomentumMag);
1167  DP_Pt_reco_one_Target->Fill(params.fPt);
1168  DP_InvMassReco_one_Both->Fill(InvmassReco);
1169  DP_OpeningAngleReco_one_Both->Fill(OpeningAngle);
1170  DP_Pdg_one_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1171  DP_Pdg_one_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1172  DP_P_reco_one_Both->Fill(params.fMomentumMag);
1173  DP_Pt_reco_one_Both->Fill(params.fPt);
1174  if (fromFireball == 1) {
1175  Ph_fromTarget_Pt_reco_one_Target->Fill(params.fPt);
1176  Ph_fromTarget_Pt_reco_one_Both->Fill(params.fPt);
1177  Ph_pt_vs_rap_est_one_Both->Fill(params.fRapidity, params.fPt);
1178  }
1179  if (fromPions == 1) {
1180  Ph_fromPions_Pt_reco_one_Target->Fill(params.fPt);
1181  Ph_fromPions_Pt_reco_one_Both->Fill(params.fPt);
1182  }
1183  if (fromEta == 1) {
1184  Ph_fromEtas_Pt_reco_one_Target->Fill(params.fPt);
1185  Ph_fromEtas_Pt_reco_one_Both->Fill(params.fPt);
1186  }
1187  if (fromDalitz == 1) {
1188  Ph_fromDalitz_Pt_reco_one_Target->Fill(params.fPt);
1189  Ph_fromDalitz_Pt_reco_one_Both->Fill(params.fPt);
1190  }
1191  }
1192 
1193  // only cases, when RICH == 2
1194  if (richcheck == 2) {
1195  Gammas_two_Target.push_back(frefmomenta);
1197  Gammas_MC_two_Target.push_back(fMCtracks);
1198  DP_InvMassReco_two_Target->Fill(InvmassReco);
1199  DP_OpeningAngleReco_two_Target->Fill(OpeningAngle);
1200  DP_Pdg_two_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1201  DP_Pdg_two_Target->Fill(TMath::Abs(part2MC->GetPdgCode()));
1202  DP_P_reco_two_Target->Fill(params.fMomentumMag);
1203  DP_Pt_reco_two_Target->Fill(params.fPt);
1204  DP_InvMassReco_two_Both->Fill(InvmassReco);
1205  DP_OpeningAngleReco_two_Both->Fill(OpeningAngle);
1206  DP_Pdg_two_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1207  DP_Pdg_two_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1208  DP_P_reco_two_Both->Fill(params.fMomentumMag);
1209  DP_Pt_reco_two_Both->Fill(params.fPt);
1210  if (fromFireball == 1) {
1211  Ph_fromTarget_Pt_reco_two_Target->Fill(params.fPt);
1212  Ph_fromTarget_Pt_reco_two_Both->Fill(params.fPt);
1213  Ph_pt_vs_rap_est_two_Both->Fill(params.fRapidity, params.fPt);
1214  fromFireball_P_two_Target->Fill(part1.Mag());
1215  fromFireball_P_two_Target->Fill(part2.Mag());
1216  }
1217  if (fromPions == 1) {
1218  Ph_fromPions_Pt_reco_two_Target->Fill(params.fPt);
1219  Ph_fromPions_Pt_reco_two_Both->Fill(params.fPt);
1220  }
1221  if (fromEta == 1) {
1222  Ph_fromEtas_Pt_reco_two_Target->Fill(params.fPt);
1223  Ph_fromEtas_Pt_reco_two_Both->Fill(params.fPt);
1224  }
1225  if (fromDalitz == 1) {
1226  Ph_fromDalitz_Pt_reco_two_Target->Fill(params.fPt);
1227  Ph_fromDalitz_Pt_reco_two_Both->Fill(params.fPt);
1228  }
1229  if (fromXi == 1) { Ph_fromXi_Pt_reco_two_Target->Fill(params.fPt); }
1230  if (fromOther == 1) {
1231  Ph_fromOther_Pt_reco_two_Target->Fill(params.fPt);
1232  }
1233  if (fromCombinatorial == 1) {
1234 
1235  // particle 1
1236  if (part1MC->GetMotherId() != -1) {
1237  CbmMCTrack* mama1 =
1238  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1240  TMath::Abs(mama1->GetPdgCode()));
1241  if (mama1->GetMotherId() != -1) {
1242  CbmMCTrack* grmama1 =
1243  (CbmMCTrack*) fMcTracks->At(mama1->GetMotherId());
1245  TMath::Abs(grmama1->GetPdgCode()));
1246  } else {
1248  }
1249  } else {
1251  }
1252 
1253  // particle 2
1254  if (part2MC->GetMotherId() != -1) {
1255  CbmMCTrack* mama2 =
1256  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1258  TMath::Abs(mama2->GetPdgCode()));
1259  if (mama2->GetMotherId() != -1) {
1260  CbmMCTrack* grmama2 =
1261  (CbmMCTrack*) fMcTracks->At(mama2->GetMotherId());
1263  TMath::Abs(grmama2->GetPdgCode()));
1264  } else {
1266  }
1267  } else {
1269  }
1270 
1271  // Check sources of BG
1272  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1273  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1274  Electrons_two_Target->Fill(params.fPt);
1275  } else if (TMath::Abs(part1MC->GetPdgCode()) == 211
1276  && TMath::Abs(part2MC->GetPdgCode()) == 211) {
1277  Pions_two_Target->Fill(params.fPt);
1278  } else if ((TMath::Abs(part1MC->GetPdgCode()) == 211
1279  && TMath::Abs(part2MC->GetPdgCode()) == 11)
1280  || (TMath::Abs(part1MC->GetPdgCode()) == 11
1281  && TMath::Abs(part2MC->GetPdgCode()) == 211)) {
1282  PionElectron_two_Target->Fill(params.fPt);
1283  } else {
1284  elsePionOrElectron_two_Target->Fill(params.fPt);
1285  }
1286 
1287  // check special cases of BG, when two particles are electrons, but wrongly combined (with some correlation)
1288  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1289  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1290  CbmMCTrack* mama1 =
1291  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1292  CbmMCTrack* mama2 =
1293  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1294  int mama1PDG = mama1->GetPdgCode();
1295  int mama2PDG = mama2->GetPdgCode();
1296  if (
1297  (mama1PDG == 22 && mama2PDG == 111
1298  && mama1->GetMotherId() == part2MC->GetMotherId())
1299  || (mama1PDG == 111 && mama2PDG == 22
1300  && mama2->GetMotherId()
1301  == part1MC
1302  ->GetMotherId())) { // pi -> e+e-g ===> combined wrongly (e+- from dalitz and e-+ from conversion)
1303  DalitzAndConversion_Pt_two_Target->Fill(params.fPt);
1304  }
1305  if (
1306  mama1PDG == 22 && mama2PDG == 22
1307  && mama1->GetMotherId() == mama2->GetMotherId()
1308  && part1MC->GetMotherId()
1309  != part2MC
1310  ->GetMotherId()) { // pi -> gg ===> combined wrongly (e+- from first and e-+ from second conversion)
1311  DoubleConversion_Pt_two_Target->Fill(params.fPt);
1312  }
1313  }
1314 
1318  TMath::Abs(part1MC->GetPdgCode()));
1320  TMath::Abs(part1MC->GetPdgCode()));
1321  if (TMath::Abs(part1MC->GetPdgCode() == 11)) {
1322  fromCombinatorial_electron_P_two_Target->Fill(part1.Mag());
1323  } else {
1324  fromCombinatorial_NOTelectron_P_two_Target->Fill(part1.Mag());
1325  }
1326  if (TMath::Abs(part2MC->GetPdgCode() == 11)) {
1327  fromCombinatorial_electron_P_two_Target->Fill(part2.Mag());
1328  } else {
1329  fromCombinatorial_NOTelectron_P_two_Target->Fill(part2.Mag());
1330  }
1331  }
1332  if (fromConversion == 1) {
1335  }
1336  if (twoFromTarget == 1) {
1338  Ph_twoFromTarget_Pt_reco_two_Both->Fill(params.fPt);
1339  twoFromTarget_PDG_two_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1340  twoFromTarget_PDG_two_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1341  twoFromTarget_P_two_Target->Fill(TMath::Abs(part1.Mag()));
1342  twoFromTarget_P_two_Target->Fill(TMath::Abs(part2.Mag()));
1343  }
1344  }
1345 
1346  // cases, when RICH == 1 or RICH == 2 together
1347  if (richcheck == 1 || richcheck == 2) {
1348  Gammas_onetwo_Target.push_back(frefmomenta);
1351  DP_InvMassReco_onetwo_Target->Fill(InvmassReco);
1352  DP_OpeningAngleReco_onetwo_Target->Fill(OpeningAngle);
1353  DP_Pdg_onetwo_Target->Fill(TMath::Abs(part1MC->GetPdgCode()));
1354  DP_Pdg_onetwo_Target->Fill(TMath::Abs(part2MC->GetPdgCode()));
1355  DP_P_reco_onetwo_Target->Fill(params.fMomentumMag);
1356  DP_Pt_reco_onetwo_Target->Fill(params.fPt);
1357  DP_InvMassReco_onetwo_Both->Fill(InvmassReco);
1358  DP_OpeningAngleReco_onetwo_Both->Fill(OpeningAngle);
1359  DP_Pdg_onetwo_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1360  DP_Pdg_onetwo_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1361  DP_P_reco_onetwo_Both->Fill(params.fMomentumMag);
1362  DP_Pt_reco_onetwo_Both->Fill(params.fPt);
1363  if (fromFireball == 1) {
1365  Ph_fromTarget_Pt_reco_onetwo_Both->Fill(params.fPt);
1366  Ph_pt_vs_rap_est_onetwo_Both->Fill(params.fRapidity, params.fPt);
1367  fromFireball_P_onetwo_Target->Fill(part1.Mag());
1368  fromFireball_P_onetwo_Target->Fill(part2.Mag());
1369  }
1370  if (fromPions == 1) {
1372  Ph_fromPions_Pt_reco_onetwo_Both->Fill(params.fPt);
1373  }
1374  if (fromEta == 1) {
1375  Ph_fromEtas_Pt_reco_onetwo_Target->Fill(params.fPt);
1376  Ph_fromEtas_Pt_reco_onetwo_Both->Fill(params.fPt);
1377  }
1378  if (fromDalitz == 1) {
1380  Ph_fromDalitz_Pt_reco_onetwo_Both->Fill(params.fPt);
1381  }
1382  if (fromXi == 1) { Ph_fromXi_Pt_reco_onetwo_Target->Fill(params.fPt); }
1383  if (fromOther == 1) {
1385  }
1386  if (fromCombinatorial == 1) {
1387 
1388  // particle 1
1389  if (part1MC->GetMotherId() != -1) {
1390  CbmMCTrack* mama1 =
1391  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1393  TMath::Abs(mama1->GetPdgCode()));
1394  if (mama1->GetMotherId() != -1) {
1395  CbmMCTrack* grmama1 =
1396  (CbmMCTrack*) fMcTracks->At(mama1->GetMotherId());
1398  TMath::Abs(grmama1->GetPdgCode()));
1399  } else {
1401  }
1402  } else {
1404  }
1405 
1406  // particle 2
1407  if (part2MC->GetMotherId() != -1) {
1408  CbmMCTrack* mama2 =
1409  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1411  TMath::Abs(mama2->GetPdgCode()));
1412  if (mama2->GetMotherId() != -1) {
1413  CbmMCTrack* grmama2 =
1414  (CbmMCTrack*) fMcTracks->At(mama2->GetMotherId());
1416  TMath::Abs(grmama2->GetPdgCode()));
1417  } else {
1419  }
1420  } else {
1422  }
1423 
1424  // Check sources of BG
1425  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1426  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1427  Electrons_onetwo_Target->Fill(params.fPt);
1428  } else if (TMath::Abs(part1MC->GetPdgCode()) == 211
1429  && TMath::Abs(part2MC->GetPdgCode()) == 211) {
1430  Pions_onetwo_Target->Fill(params.fPt);
1431  } else if ((TMath::Abs(part1MC->GetPdgCode()) == 211
1432  && TMath::Abs(part2MC->GetPdgCode()) == 11)
1433  || (TMath::Abs(part1MC->GetPdgCode()) == 11
1434  && TMath::Abs(part2MC->GetPdgCode()) == 211)) {
1435  PionElectron_onetwo_Target->Fill(params.fPt);
1436  } else {
1437  elsePionOrElectron_onetwo_Target->Fill(params.fPt);
1438  }
1439 
1440  // check special cases of BG, when two particles are electrons, but wrongly combined (with some correlation)
1441  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1442  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1443  CbmMCTrack* mama1 =
1444  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1445  CbmMCTrack* mama2 =
1446  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1447  int mama1PDG = mama1->GetPdgCode();
1448  int mama2PDG = mama2->GetPdgCode();
1449  if (
1450  (mama1PDG == 22 && mama2PDG == 111
1451  && mama1->GetMotherId() == part2MC->GetMotherId())
1452  || (mama1PDG == 111 && mama2PDG == 22
1453  && mama2->GetMotherId()
1454  == part1MC
1455  ->GetMotherId())) { // pi -> e+e-g ===> combined wrongly (e+- from dalitz and e-+ from conversion)
1457  }
1458  if (
1459  mama1PDG == 22 && mama2PDG == 22
1460  && mama1->GetMotherId() == mama2->GetMotherId()
1461  && part1MC->GetMotherId()
1462  != part2MC
1463  ->GetMotherId()) { // pi -> gg ===> combined wrongly (e+- from first and e-+ from second conversion)
1464  DoubleConversion_Pt_onetwo_Target->Fill(params.fPt);
1465  }
1466  }
1467 
1471  TMath::Abs(part1MC->GetPdgCode()));
1473  TMath::Abs(part1MC->GetPdgCode()));
1474  if (TMath::Abs(part1MC->GetPdgCode() == 11)) {
1475  fromCombinatorial_electron_P_onetwo_Target->Fill(part1.Mag());
1476  } else {
1478  }
1479  if (TMath::Abs(part2MC->GetPdgCode() == 11)) {
1480  fromCombinatorial_electron_P_onetwo_Target->Fill(part2.Mag());
1481  } else {
1483  }
1484  }
1485  if (fromConversion == 1) {
1488  }
1489  if (twoFromTarget == 1) {
1493  TMath::Abs(part1MC->GetPdgCode()));
1495  TMath::Abs(part1MC->GetPdgCode()));
1496  twoFromTarget_P_onetwo_Target->Fill(TMath::Abs(part1.Mag()));
1497  twoFromTarget_P_onetwo_Target->Fill(TMath::Abs(part2.Mag()));
1498  }
1499  }
1500  }
1501  }
1502 }
1503 
1504 
1506  int EventNumMan,
1507  double AngleCut,
1508  double InvMassCut,
1509  int RealPID,
1510  vector<CbmMCTrack*> MCtracks_minus_Outside,
1511  vector<CbmMCTrack*> MCtracks_plus_Outside,
1512  vector<CbmStsTrack*> StsTrack_minus_Outside,
1513  vector<CbmStsTrack*> StsTrack_plus_Outside,
1514  std::vector<int> Rings_minus_Outside,
1515  std::vector<int> Rings_plus_Outside,
1516  std::vector<int> stsIndex_minus_Outside,
1517  std::vector<int> stsIndex_plus_Outside,
1518  vector<CbmRichRing*> richRing_minus_Outside,
1519  vector<CbmRichRing*> richRing_plus_Outside) {
1520  for (size_t i = 0; i < StsTrack_minus_Outside.size(); i++) {
1521  for (size_t j = 0; j < StsTrack_plus_Outside.size(); j++) {
1522 
1523  CbmStsTrack* part1STS = StsTrack_minus_Outside[i];
1524  CbmStsTrack* part2STS = StsTrack_plus_Outside[j];
1525  CbmMCTrack* part1MC = MCtracks_minus_Outside[i];
1526  CbmMCTrack* part2MC = MCtracks_plus_Outside[j];
1527  int sts1_index = stsIndex_minus_Outside[i];
1528  // int sts2_index = stsIndex_plus_Outside[j];
1529 
1530  KFParticle electron;
1532  part1STS, &electron, 11);
1533  KFParticle positron;
1535  part2STS, &positron, -11);
1536  const KFParticle* daughters[2] = {&electron, &positron};
1537  KFParticle intersection;
1538  intersection.Construct(daughters, 2);
1539 
1540  if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
1541  continue; // kick weird intersections
1542 
1543  // fit to the vertex fitter
1544  TVector3 part1 = CbmKresFunctions::FitToVertex(part1STS,
1545  intersection.GetX(),
1546  intersection.GetY(),
1547  intersection.GetZ());
1548  TVector3 part2 = CbmKresFunctions::FitToVertex(part2STS,
1549  intersection.GetX(),
1550  intersection.GetY(),
1551  intersection.GetZ());
1552 
1553  // TVector3 part1(electron.KFParticleBase::Px(), electron.KFParticleBase::Py(), electron.KFParticleBase::Pz());
1554  // TVector3 part2(positron.KFParticleBase::Px(), positron.KFParticleBase::Py(), positron.KFParticleBase::Pz());
1555 
1556  int richcheck = 0;
1557  int richcheck_0 = 0;
1558  int richcheck_1 = 0;
1559  if (RealPID == 1) {
1560  // Real PID
1561  richcheck_0 = CheckIfElectron(richRing_minus_Outside[i], part1.Mag());
1562  richcheck_1 = CheckIfElectron(richRing_plus_Outside[j], part2.Mag());
1563  richcheck = richcheck_0 + richcheck_1;
1564  } else {
1565  // MC PID
1566  richcheck = Rings_minus_Outside[i] + Rings_plus_Outside[j];
1567  }
1568 
1569 
1570  Double_t InvmassReco =
1572  Double_t OpeningAngle =
1574  CbmLmvmKinematicParams params =
1576 
1577  DP_candidates_InvMass_vs_OA_Outside->Fill(InvmassReco, OpeningAngle);
1578  DP_candidates_InvMass_vs_OA_Both->Fill(InvmassReco, OpeningAngle);
1579  DP_candidates_InvMass_Outside->Fill(InvmassReco);
1580  DP_candidates_InvMass_Both->Fill(InvmassReco);
1581  DP_candidates_OA_Outside->Fill(OpeningAngle);
1582  DP_candidates_OA_Both->Fill(OpeningAngle);
1583 
1584  double PlaneAngle_last = CalculatePlaneAngle_last(part1STS, part2STS);
1585  double PlaneAngle_first = CalculatePlaneAngle_first(part1STS, part2STS);
1586 
1587  int IdForANN =
1588  0; // 0 - means wrong pair combination; 1 - means correct pair
1589  if (part1MC->GetMotherId() == part2MC->GetMotherId()
1590  && part1MC->GetMotherId() != -1) {
1591  CbmMCTrack* mcTrackmama =
1592  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1593  if (mcTrackmama->GetMotherId() == -1
1594  && mcTrackmama->GetPdgCode() == 22) {
1595  IdForANN = 1;
1596  DP_InvMass_Outside->Fill(InvmassReco);
1597  DP_InvMass_Both->Fill(InvmassReco);
1598  DP_OA_Outside->Fill(OpeningAngle);
1599  DP_OA_Both->Fill(OpeningAngle);
1600  DP_InvMass_vs_OA_Outside->Fill(InvmassReco, OpeningAngle);
1601  DP_InvMass_vs_OA_Both->Fill(InvmassReco, OpeningAngle);
1602  DP_PlaneAngles_last_Outside->Fill(PlaneAngle_last);
1603  DP_PlaneAngles_last_Both->Fill(PlaneAngle_last);
1604  DP_PlaneAngles_first_Outside->Fill(PlaneAngle_first);
1605  DP_PlaneAngles_first_Both->Fill(PlaneAngle_first);
1606  }
1607  }
1608 
1609  // run ANN
1610  if (AnnTrainPhotons == 1) {
1611  fTrainPhotons->Exec(EventNumMan,
1612  IdForANN,
1613  InvmassReco,
1614  OpeningAngle,
1615  PlaneAngle_last,
1616  intersection.GetZ(),
1617  part1,
1618  part2);
1619  continue;
1620  }
1621 
1622  double AnnValue = 999;
1623  if (UseAnnPhotons == 1) {
1624  AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco,
1625  OpeningAngle,
1626  PlaneAngle_last,
1627  intersection.GetZ(),
1628  part1,
1629  part2);
1630  if (IdForANN == 1) DP_AnnTruePairs->Fill(AnnValue);
1631  if (IdForANN == 0) DP_AnnFalsePairs->Fill(AnnValue);
1632  }
1633 
1634  DP_candidates_PlaneAngles_last_Outside->Fill(PlaneAngle_last);
1635  DP_candidates_PlaneAngles_last_Both->Fill(PlaneAngle_last);
1636  DP_candidates_PlaneAngles_first_Outside->Fill(PlaneAngle_first);
1637  DP_candidates_PlaneAngles_first_Both->Fill(PlaneAngle_first);
1638 
1639  // cuts
1640  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
1641  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
1642  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
1643 
1644 
1645  int fromPions = 0;
1646  int fromEta = 0;
1647  int fromFireball = 0;
1648  int fromDalitz = 0;
1649  int fromXi = 0;
1650  int fromOther = 0;
1651  int fromCombinatorial = 0;
1652  int fromConversion = 0;
1653  int twoFromTarget = 0;
1654  if (part1MC->GetMotherId() == part2MC->GetMotherId()
1655  && part1MC->GetMotherId() != -1) {
1656  CbmMCTrack* mcTrackmama =
1657  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1658  if (mcTrackmama->GetPdgCode() == 22) {
1659  if (mcTrackmama->GetMotherId() == -1) {
1660  fromFireball = 1;
1661  } else {
1662  CbmMCTrack* mcTrackGrmama =
1663  (CbmMCTrack*) fMcTracks->At(mcTrackmama->GetMotherId());
1664  if (mcTrackGrmama->GetPdgCode() == 111) fromPions = 1;
1665  if (mcTrackGrmama->GetPdgCode() == 221) fromEta = 1;
1666  if (mcTrackGrmama->GetPdgCode() == 3212) fromXi = 1;
1667  fromConversion = 1;
1668  }
1669  } else {
1670  if (mcTrackmama->GetPdgCode() == 111) fromDalitz = 1;
1671  if (mcTrackmama->GetPdgCode() != 111) fromOther = 1;
1672  }
1673  } else if (part1MC->GetMotherId() == part2MC->GetMotherId()
1674  && part1MC->GetMotherId() == -1) {
1675  twoFromTarget = 1;
1676  } else {
1677  fromCombinatorial = 1;
1678  }
1679 
1680 
1681  if (part1MC->GetMotherId() == part2MC->GetMotherId()
1682  && part1MC->GetMotherId() != -1) {
1683  CbmMCTrack* mcTrackmama =
1684  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1685  if (mcTrackmama->GetPdgCode() == 22) {
1686  if (mcTrackmama->GetMotherId() == -1) {
1687  GrandMother_PDG_Outside->Fill(mcTrackmama->GetMotherId());
1688  } else {
1689  CbmMCTrack* mcTrackGrmama =
1690  (CbmMCTrack*) fMcTracks->At(mcTrackmama->GetMotherId());
1692  TMath::Abs(mcTrackGrmama->GetPdgCode()));
1693  }
1694  } else {
1695  Mother_PDG_Outside->Fill(TMath::Abs(mcTrackmama->GetPdgCode()));
1696  }
1697  }
1698 
1699  if (IdForANN == 1) DP_AnnTruePairs_AfterCuts->Fill(AnnValue);
1700  if (IdForANN == 0) DP_AnnFalsePairs_AfterCuts->Fill(AnnValue);
1701 
1702  frefmomenta.clear();
1703  frefmomenta.push_back(part1);
1704  frefmomenta.push_back(part2);
1705 
1706  frefId.clear();
1707  frefId.push_back(stsIndex_minus_Outside[i]);
1708  frefId.push_back(stsIndex_plus_Outside[j]);
1709  fMCtracks.clear();
1710  fMCtracks.push_back(part1MC);
1711  fMCtracks.push_back(part2MC);
1712 
1713 
1714  // for event mixing DP
1715  std::vector<TVector3> minusTrack = SaveAllHits(part1STS);
1716  std::vector<TVector3> plusTrack = SaveAllHits(part2STS);
1717 
1718 
1719  DP_EMT_Event_minus_Outside.push_back(EventNumMan);
1720  DP_EMT_STS_minus_Outside.push_back(part1STS);
1721  DP_EMT_KFTrack_minus_Outside.push_back(electron);
1722  DP_EMT_NofRings_minus_Outside.push_back(richcheck_0);
1723  DP_EMT_Hits_minus_Outside.push_back(minusTrack);
1724 
1725  DP_EMT_Event_plus_Outside.push_back(EventNumMan);
1726  DP_EMT_STS_plus_Outside.push_back(part2STS);
1727  DP_EMT_KFTrack_plus_Outside.push_back(positron);
1728  DP_EMT_NofRings_plus_Outside.push_back(richcheck_1);
1729  DP_EMT_Hits_plus_Outside.push_back(plusTrack);
1730 
1731  // DP_LK_EMT
1732  DP_LK_EMT_NofRings_minus_Outside.push_back(richcheck_0);
1733  DP_LK_EMT_STS_minus_Outside.push_back(part1STS);
1734  DP_LK_EMT_STS_minus_index_Outside.push_back(sts1_index);
1735 
1736  DP_LK_EMT_NofRings_plus_Outside.push_back(richcheck_1);
1737  DP_LK_EMT_STS_plus_Outside.push_back(part2STS);
1738  DP_LK_EMT_STS_plus_index_Outside.push_back(sts1_index);
1739 
1740 
1741  // everything (RICH == 0, RICH == 1, RICH == 2) together
1742  if (richcheck == 0 || richcheck == 1 || richcheck == 2) {
1743  Gammas_all_Outside.push_back(frefmomenta);
1745  Gammas_MC_all_Outside.push_back(fMCtracks);
1746  DP_InvMassReco_all_Outside->Fill(InvmassReco);
1747  DP_OpeningAngleReco_all_Outside->Fill(OpeningAngle);
1748  DP_Pdg_all_Outside->Fill(TMath::Abs(part1MC->GetPdgCode()));
1749  DP_Pdg_all_Outside->Fill(TMath::Abs(part2MC->GetPdgCode()));
1750  DP_P_reco_all_Outside->Fill(params.fMomentumMag);
1751  DP_Pt_reco_all_Outside->Fill(params.fPt);
1752  DP_InvMassReco_all_Both->Fill(InvmassReco);
1753  DP_OpeningAngleReco_all_Both->Fill(OpeningAngle);
1754  DP_Pdg_all_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1755  DP_Pdg_all_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1756  DP_P_reco_all_Both->Fill(params.fMomentumMag);
1757  DP_Pt_reco_all_Both->Fill(params.fPt);
1758  if (fromFireball == 1) {
1759  Ph_fromTarget_Pt_reco_all_Outside->Fill(params.fPt);
1760  Ph_fromTarget_Pt_reco_all_Both->Fill(params.fPt);
1761  Ph_pt_vs_rap_est_all_Both->Fill(params.fRapidity, params.fPt);
1762  }
1763  if (fromPions == 1) {
1764  Ph_fromPions_Pt_reco_all_Outside->Fill(params.fPt);
1765  Ph_fromPions_Pt_reco_all_Both->Fill(params.fPt);
1766  }
1767  if (fromEta == 1) {
1768  Ph_fromEtas_Pt_reco_all_Outside->Fill(params.fPt);
1769  Ph_fromEtas_Pt_reco_all_Both->Fill(params.fPt);
1770  }
1771  if (fromDalitz == 1) {
1772  Ph_fromDalitz_Pt_reco_all_Outside->Fill(params.fPt);
1773  Ph_fromDalitz_Pt_reco_all_Both->Fill(params.fPt);
1774  }
1775  }
1776 
1777  // only cases, when RICH == 0
1778  if (richcheck == 0) {
1779  Gammas_zero_Outside.push_back(frefmomenta);
1781  Gammas_MC_zero_Outside.push_back(fMCtracks);
1782  DP_InvMassReco_zero_Outside->Fill(InvmassReco);
1783  DP_OpeningAngleReco_zero_Outside->Fill(OpeningAngle);
1784  DP_Pdg_zero_Outside->Fill(TMath::Abs(part1MC->GetPdgCode()));
1785  DP_Pdg_zero_Outside->Fill(TMath::Abs(part2MC->GetPdgCode()));
1786  DP_P_reco_zero_Outside->Fill(params.fMomentumMag);
1787  DP_Pt_reco_zero_Outside->Fill(params.fPt);
1788  DP_InvMassReco_zero_Both->Fill(InvmassReco);
1789  DP_OpeningAngleReco_zero_Both->Fill(OpeningAngle);
1790  DP_Pdg_zero_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1791  DP_Pdg_zero_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1792  DP_P_reco_zero_Both->Fill(params.fMomentumMag);
1793  DP_Pt_reco_zero_Both->Fill(params.fPt);
1794  if (fromFireball == 1) {
1796  Ph_fromTarget_Pt_reco_zero_Both->Fill(params.fPt);
1797  Ph_pt_vs_rap_est_zero_Both->Fill(params.fRapidity, params.fPt);
1798  }
1799  if (fromPions == 1) {
1800  Ph_fromPions_Pt_reco_zero_Outside->Fill(params.fPt);
1801  Ph_fromPions_Pt_reco_zero_Both->Fill(params.fPt);
1802  }
1803  if (fromEta == 1) {
1804  Ph_fromEtas_Pt_reco_zero_Outside->Fill(params.fPt);
1805  Ph_fromEtas_Pt_reco_zero_Both->Fill(params.fPt);
1806  }
1807  if (fromDalitz == 1) {
1809  Ph_fromDalitz_Pt_reco_zero_Both->Fill(params.fPt);
1810  }
1811  }
1812 
1813  // only cases, when RICH == 1
1814  if (richcheck == 1) {
1815  Gammas_one_Outside.push_back(frefmomenta);
1817  Gammas_MC_one_Outside.push_back(fMCtracks);
1818  DP_InvMassReco_one_Outside->Fill(InvmassReco);
1819  DP_OpeningAngleReco_one_Outside->Fill(OpeningAngle);
1820  DP_Pdg_one_Outside->Fill(TMath::Abs(part1MC->GetPdgCode()));
1821  DP_Pdg_one_Outside->Fill(TMath::Abs(part2MC->GetPdgCode()));
1822  DP_P_reco_one_Outside->Fill(params.fMomentumMag);
1823  DP_Pt_reco_one_Outside->Fill(params.fPt);
1824  DP_InvMassReco_one_Both->Fill(InvmassReco);
1825  DP_OpeningAngleReco_one_Both->Fill(OpeningAngle);
1826  DP_Pdg_one_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1827  DP_Pdg_one_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1828  DP_P_reco_one_Both->Fill(params.fMomentumMag);
1829  DP_Pt_reco_one_Both->Fill(params.fPt);
1830  if (fromFireball == 1) {
1831  Ph_fromTarget_Pt_reco_one_Outside->Fill(params.fPt);
1832  Ph_fromTarget_Pt_reco_one_Both->Fill(params.fPt);
1833  Ph_pt_vs_rap_est_one_Both->Fill(params.fRapidity, params.fPt);
1834  }
1835  if (fromPions == 1) {
1836  Ph_fromPions_Pt_reco_one_Outside->Fill(params.fPt);
1837  Ph_fromPions_Pt_reco_one_Both->Fill(params.fPt);
1838  }
1839  if (fromEta == 1) {
1840  Ph_fromEtas_Pt_reco_one_Outside->Fill(params.fPt);
1841  Ph_fromEtas_Pt_reco_one_Both->Fill(params.fPt);
1842  }
1843  if (fromDalitz == 1) {
1844  Ph_fromDalitz_Pt_reco_one_Outside->Fill(params.fPt);
1845  Ph_fromDalitz_Pt_reco_one_Both->Fill(params.fPt);
1846  }
1847  }
1848 
1849  // only cases, when RICH == 2
1850  if (richcheck == 2) {
1851  Gammas_two_Outside.push_back(frefmomenta);
1853  Gammas_MC_two_Outside.push_back(fMCtracks);
1854  DP_InvMassReco_two_Outside->Fill(InvmassReco);
1855  DP_OpeningAngleReco_two_Outside->Fill(OpeningAngle);
1856  DP_Pdg_two_Outside->Fill(TMath::Abs(part1MC->GetPdgCode()));
1857  DP_Pdg_two_Outside->Fill(TMath::Abs(part2MC->GetPdgCode()));
1858  DP_P_reco_two_Outside->Fill(params.fMomentumMag);
1859  DP_Pt_reco_two_Outside->Fill(params.fPt);
1860  DP_InvMassReco_two_Both->Fill(InvmassReco);
1861  DP_OpeningAngleReco_two_Both->Fill(OpeningAngle);
1862  DP_Pdg_two_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
1863  DP_Pdg_two_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
1864  DP_P_reco_two_Both->Fill(params.fMomentumMag);
1865  DP_Pt_reco_two_Both->Fill(params.fPt);
1866  if (fromFireball == 1) {
1867  Ph_fromTarget_Pt_reco_two_Outside->Fill(params.fPt);
1868  Ph_fromTarget_Pt_reco_two_Both->Fill(params.fPt);
1869  Ph_pt_vs_rap_est_two_Both->Fill(params.fRapidity, params.fPt);
1870  fromFireball_P_two_Outside->Fill(part1.Mag());
1871  fromFireball_P_two_Outside->Fill(part2.Mag());
1872  }
1873  if (fromPions == 1) {
1874  Ph_fromPions_Pt_reco_two_Outside->Fill(params.fPt);
1875  Ph_fromPions_Pt_reco_two_Both->Fill(params.fPt);
1876  }
1877  if (fromEta == 1) {
1878  Ph_fromEtas_Pt_reco_two_Outside->Fill(params.fPt);
1879  Ph_fromEtas_Pt_reco_two_Both->Fill(params.fPt);
1880  }
1881  if (fromDalitz == 1) {
1882  Ph_fromDalitz_Pt_reco_two_Outside->Fill(params.fPt);
1883  Ph_fromDalitz_Pt_reco_two_Both->Fill(params.fPt);
1884  }
1885  if (fromXi == 1) { Ph_fromXi_Pt_reco_two_Outside->Fill(params.fPt); }
1886  if (fromOther == 1) {
1887  Ph_fromOther_Pt_reco_two_Outside->Fill(params.fPt);
1888  }
1889  if (fromCombinatorial == 1) {
1890 
1891  // particle 1
1892  if (part1MC->GetMotherId() != -1) {
1893  CbmMCTrack* mama1 =
1894  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1896  TMath::Abs(mama1->GetPdgCode()));
1897  if (mama1->GetMotherId() != -1) {
1898  CbmMCTrack* grmama1 =
1899  (CbmMCTrack*) fMcTracks->At(mama1->GetMotherId());
1901  TMath::Abs(grmama1->GetPdgCode()));
1902  } else {
1904  }
1905  } else {
1907  }
1908 
1909  // particle 2
1910  if (part2MC->GetMotherId() != -1) {
1911  CbmMCTrack* mama2 =
1912  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1914  TMath::Abs(mama2->GetPdgCode()));
1915  if (mama2->GetMotherId() != -1) {
1916  CbmMCTrack* grmama2 =
1917  (CbmMCTrack*) fMcTracks->At(mama2->GetMotherId());
1919  TMath::Abs(grmama2->GetPdgCode()));
1920  } else {
1922  }
1923  } else {
1925  }
1926 
1927  // Check sources of BG
1928  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1929  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1930  Electrons_two_Outside->Fill(params.fPt);
1931  } else if (TMath::Abs(part1MC->GetPdgCode()) == 211
1932  && TMath::Abs(part2MC->GetPdgCode()) == 211) {
1933  Pions_two_Outside->Fill(params.fPt);
1934  } else if ((TMath::Abs(part1MC->GetPdgCode()) == 211
1935  && TMath::Abs(part2MC->GetPdgCode()) == 11)
1936  || (TMath::Abs(part1MC->GetPdgCode()) == 11
1937  && TMath::Abs(part2MC->GetPdgCode()) == 211)) {
1938  PionElectron_two_Outside->Fill(params.fPt);
1939  } else {
1940  elsePionOrElectron_two_Outside->Fill(params.fPt);
1941  }
1942 
1943  // check special cases of BG, when two particles are electrons, but wrongly combined (with some correlation)
1944  if (TMath::Abs(part1MC->GetPdgCode()) == 11
1945  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
1946  CbmMCTrack* mama1 =
1947  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
1948  CbmMCTrack* mama2 =
1949  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
1950  int mama1PDG = mama1->GetPdgCode();
1951  int mama2PDG = mama2->GetPdgCode();
1952  if (
1953  (mama1PDG == 22 && mama2PDG == 111
1954  && mama1->GetMotherId() == part2MC->GetMotherId())
1955  || (mama1PDG == 111 && mama2PDG == 22
1956  && mama2->GetMotherId()
1957  == part1MC
1958  ->GetMotherId())) { // pi -> e+e-g ===> combined wrongly (e+- from dalitz and e-+ from conversion)
1960  }
1961  if (
1962  mama1PDG == 22 && mama2PDG == 22
1963  && mama1->GetMotherId() == mama2->GetMotherId()
1964  && part1MC->GetMotherId()
1965  != part2MC
1966  ->GetMotherId()) { // pi -> gg ===> combined wrongly (e+- from first and e-+ from second conversion)
1967  DoubleConversion_Pt_two_Outside->Fill(params.fPt);
1968  }
1969  }
1970 
1974  TMath::Abs(part1MC->GetPdgCode()));
1976  TMath::Abs(part1MC->GetPdgCode()));
1977  if (TMath::Abs(part1MC->GetPdgCode() == 11)) {
1978  fromCombinatorial_electron_P_two_Outside->Fill(part1.Mag());
1979  } else {
1981  }
1982  if (TMath::Abs(part2MC->GetPdgCode() == 11)) {
1983  fromCombinatorial_electron_P_two_Outside->Fill(part2.Mag());
1984  } else {
1986  }
1987  }
1988  if (fromConversion == 1) {
1991  }
1992  if (twoFromTarget == 1) {
1994  Ph_twoFromTarget_Pt_reco_two_Both->Fill(params.fPt);
1996  TMath::Abs(part1MC->GetPdgCode()));
1998  TMath::Abs(part1MC->GetPdgCode()));
1999  twoFromTarget_P_two_Outside->Fill(TMath::Abs(part1.Mag()));
2000  twoFromTarget_P_two_Outside->Fill(TMath::Abs(part2.Mag()));
2001  }
2002  }
2003 
2004  // cases, when RICH == 1 or RICH == 2 together
2005  if (richcheck == 1 || richcheck == 2) {
2009  DP_InvMassReco_onetwo_Outside->Fill(InvmassReco);
2010  DP_OpeningAngleReco_onetwo_Outside->Fill(OpeningAngle);
2011  DP_Pdg_onetwo_Outside->Fill(TMath::Abs(part1MC->GetPdgCode()));
2012  DP_Pdg_onetwo_Outside->Fill(TMath::Abs(part2MC->GetPdgCode()));
2013  DP_P_reco_onetwo_Outside->Fill(params.fMomentumMag);
2014  DP_Pt_reco_onetwo_Outside->Fill(params.fPt);
2015  DP_InvMassReco_onetwo_Both->Fill(InvmassReco);
2016  DP_OpeningAngleReco_onetwo_Both->Fill(OpeningAngle);
2017  DP_Pdg_onetwo_Both->Fill(TMath::Abs(part1MC->GetPdgCode()));
2018  DP_Pdg_onetwo_Both->Fill(TMath::Abs(part2MC->GetPdgCode()));
2019  DP_P_reco_onetwo_Both->Fill(params.fMomentumMag);
2020  DP_Pt_reco_onetwo_Both->Fill(params.fPt);
2021  if (fromFireball == 1) {
2023  Ph_fromTarget_Pt_reco_onetwo_Both->Fill(params.fPt);
2024  Ph_pt_vs_rap_est_onetwo_Both->Fill(params.fRapidity, params.fPt);
2025  fromFireball_P_onetwo_Outside->Fill(part1.Mag());
2026  fromFireball_P_onetwo_Outside->Fill(part2.Mag());
2027  }
2028  if (fromPions == 1) {
2030  Ph_fromPions_Pt_reco_onetwo_Both->Fill(params.fPt);
2031  }
2032  if (fromEta == 1) {
2034  Ph_fromEtas_Pt_reco_onetwo_Both->Fill(params.fPt);
2035  }
2036  if (fromDalitz == 1) {
2038  Ph_fromDalitz_Pt_reco_onetwo_Both->Fill(params.fPt);
2039  }
2040  if (fromXi == 1) { Ph_fromXi_Pt_reco_onetwo_Outside->Fill(params.fPt); }
2041  if (fromOther == 1) {
2043  }
2044  if (fromCombinatorial == 1) {
2045 
2046  // particle 1
2047  if (part1MC->GetMotherId() != -1) {
2048  CbmMCTrack* mama1 =
2049  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
2051  TMath::Abs(mama1->GetPdgCode()));
2052  if (mama1->GetMotherId() != -1) {
2053  CbmMCTrack* grmama1 =
2054  (CbmMCTrack*) fMcTracks->At(mama1->GetMotherId());
2056  TMath::Abs(grmama1->GetPdgCode()));
2057  } else {
2059  }
2060  } else {
2062  }
2063 
2064  // particle 2
2065  if (part2MC->GetMotherId() != -1) {
2066  CbmMCTrack* mama2 =
2067  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
2069  TMath::Abs(mama2->GetPdgCode()));
2070  if (mama2->GetMotherId() != -1) {
2071  CbmMCTrack* grmama2 =
2072  (CbmMCTrack*) fMcTracks->At(mama2->GetMotherId());
2074  TMath::Abs(grmama2->GetPdgCode()));
2075  } else {
2077  }
2078  } else {
2080  }
2081 
2082  // Check sources of BG
2083  if (TMath::Abs(part1MC->GetPdgCode()) == 11
2084  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
2085  Electrons_onetwo_Outside->Fill(params.fPt);
2086  } else if (TMath::Abs(part1MC->GetPdgCode()) == 211
2087  && TMath::Abs(part2MC->GetPdgCode()) == 211) {
2088  Pions_onetwo_Outside->Fill(params.fPt);
2089  } else if ((TMath::Abs(part1MC->GetPdgCode()) == 211
2090  && TMath::Abs(part2MC->GetPdgCode()) == 11)
2091  || (TMath::Abs(part1MC->GetPdgCode()) == 11
2092  && TMath::Abs(part2MC->GetPdgCode()) == 211)) {
2093  PionElectron_onetwo_Outside->Fill(params.fPt);
2094  } else {
2095  elsePionOrElectron_onetwo_Outside->Fill(params.fPt);
2096  }
2097 
2098  // check special cases of BG, when two particles are electrons, but wrongly combined (with some correlation)
2099  if (TMath::Abs(part1MC->GetPdgCode()) == 11
2100  && TMath::Abs(part2MC->GetPdgCode()) == 11) {
2101  CbmMCTrack* mama1 =
2102  (CbmMCTrack*) fMcTracks->At(part1MC->GetMotherId());
2103  CbmMCTrack* mama2 =
2104  (CbmMCTrack*) fMcTracks->At(part2MC->GetMotherId());
2105  int mama1PDG = mama1->GetPdgCode();
2106  int mama2PDG = mama2->GetPdgCode();
2107  if (
2108  (mama1PDG == 22 && mama2PDG == 111
2109  && mama1->GetMotherId() == part2MC->GetMotherId())
2110  || (mama1PDG == 111 && mama2PDG == 22
2111  && mama2->GetMotherId()
2112  == part1MC
2113  ->GetMotherId())) { // pi -> e+e-g ===> combined wrongly (e+- from dalitz and e-+ from conversion)
2115  }
2116  if (
2117  mama1PDG == 22 && mama2PDG == 22
2118  && mama1->GetMotherId() == mama2->GetMotherId()
2119  && part1MC->GetMotherId()
2120  != part2MC
2121  ->GetMotherId()) { // pi -> gg ===> combined wrongly (e+- from first and e-+ from second conversion)
2123  }
2124  }
2125 
2129  TMath::Abs(part1MC->GetPdgCode()));
2131  TMath::Abs(part1MC->GetPdgCode()));
2132  if (TMath::Abs(part1MC->GetPdgCode() == 11)) {
2134  } else {
2136  }
2137  if (TMath::Abs(part2MC->GetPdgCode() == 11)) {
2139  } else {
2141  }
2142  }
2143  if (fromConversion == 1) {
2146  }
2147  if (twoFromTarget == 1) {
2151  TMath::Abs(part1MC->GetPdgCode()));
2153  TMath::Abs(part1MC->GetPdgCode()));
2154  twoFromTarget_P_onetwo_Outside->Fill(TMath::Abs(part1.Mag()));
2155  twoFromTarget_P_onetwo_Outside->Fill(TMath::Abs(part2.Mag()));
2156  }
2157  }
2158  }
2159  }
2160 }
2161 
2163  Gammas_all_Both.insert(Gammas_all_Both.end(),
2164  Gammas_all_Outside.begin(),
2165  Gammas_all_Outside.end());
2166  Gammas_all_Both.insert(
2167  Gammas_all_Both.end(), Gammas_all_Target.begin(), Gammas_all_Target.end());
2168  Gammas_zero_Both.insert(Gammas_zero_Both.end(),
2169  Gammas_zero_Outside.begin(),
2170  Gammas_zero_Outside.end());
2171  Gammas_zero_Both.insert(Gammas_zero_Both.end(),
2172  Gammas_zero_Target.begin(),
2173  Gammas_zero_Target.end());
2174  Gammas_one_Both.insert(Gammas_one_Both.end(),
2175  Gammas_one_Outside.begin(),
2176  Gammas_one_Outside.end());
2177  Gammas_one_Both.insert(
2178  Gammas_one_Both.end(), Gammas_one_Target.begin(), Gammas_one_Target.end());
2179  Gammas_two_Both.insert(Gammas_two_Both.end(),
2180  Gammas_two_Outside.begin(),
2181  Gammas_two_Outside.end());
2182  Gammas_two_Both.insert(
2183  Gammas_two_Both.end(), Gammas_two_Target.begin(), Gammas_two_Target.end());
2185  Gammas_onetwo_Outside.begin(),
2186  Gammas_onetwo_Outside.end());
2188  Gammas_onetwo_Target.begin(),
2189  Gammas_onetwo_Target.end());
2190 
2221 
2223  Gammas_MC_all_Outside.begin(),
2224  Gammas_MC_all_Outside.end());
2226  Gammas_MC_all_Target.begin(),
2227  Gammas_MC_all_Target.end());
2229  Gammas_MC_zero_Outside.begin(),
2230  Gammas_MC_zero_Outside.end());
2232  Gammas_MC_zero_Target.begin(),
2233  Gammas_MC_zero_Target.end());
2235  Gammas_MC_one_Outside.begin(),
2236  Gammas_MC_one_Outside.end());
2238  Gammas_MC_one_Target.begin(),
2239  Gammas_MC_one_Target.end());
2241  Gammas_MC_two_Outside.begin(),
2242  Gammas_MC_two_Outside.end());
2244  Gammas_MC_two_Target.begin(),
2245  Gammas_MC_two_Target.end());
2247  Gammas_MC_onetwo_Outside.begin(),
2248  Gammas_MC_onetwo_Outside.end());
2250  Gammas_MC_onetwo_Target.begin(),
2251  Gammas_MC_onetwo_Target.end());
2252 }
2253 
2254 
2255 int CbmKresConversionPhotons::FindInRich(int richInd, int stsMcTrackId) {
2256  int RingsInRich = 0;
2257  if (richInd > -1) {
2258  CbmTrackMatchNew* richMatch =
2259  (CbmTrackMatchNew*) fRichRingMatches->At(richInd);
2260  if (richMatch != nullptr && richMatch->GetNofLinks() > 0) {
2261  int richMcTrackId = richMatch->GetMatchedLink().GetIndex();
2262  if (richMcTrackId > 0) {
2263  if (
2264  stsMcTrackId
2265  == richMcTrackId) { // check that global track was matched correctly for STS and RICH together
2266  CbmMCTrack* mcTrack2 = (CbmMCTrack*) fMcTracks->At(richMcTrackId);
2267  if (mcTrack2 != nullptr) {
2268  int pdgRICH = mcTrack2->GetPdgCode();
2269  if (TMath::Abs(pdgRICH) == 11) RingsInRich++;
2270  }
2271  }
2272  }
2273  }
2274  }
2275  return RingsInRich;
2276 }
2277 
2278 
2280  double momentum) {
2281  int identified = 0;
2282 
2283  if (nullptr != ring) {
2284  CbmRichRingLight ringHit;
2285  int nofHits = ring->GetNofHits();
2286  for (int i = 0; i < nofHits; i++) {
2287  int hitInd = ring->GetHit(i);
2288  CbmRichHit* hit = (CbmRichHit*) fRichHits->At(hitInd);
2289  if (nullptr == hit) continue;
2290  CbmRichHitLight hl(hit->GetX(), hit->GetY());
2291  ringHit.AddHit(hl);
2292  }
2293  fTauFit->DoFit(&ringHit);
2294  if (ringHit.GetAaxis() > 4 && ringHit.GetAaxis() < 6
2295  && ringHit.GetBaxis() > 4 && ringHit.GetBaxis() < 6 && momentum > 0.2
2296  && momentum < 4.)
2297  identified++;
2298  //if (ring->GetDistance() < 2 && ringHit.GetAaxis() > 4 && ringHit.GetAaxis() < 6 && ringHit.GetBaxis() > 4 && ringHit.GetBaxis() < 6 && momentum > 0.2 && momentum < 4.) identified ++;
2299  }
2300 
2301  return identified;
2302 }
2303 
2304 std::vector<TVector3>
2306  std::vector<TVector3> AllHitsOfTrack;
2307  AllHitsOfTrack.clear();
2308 
2309  Int_t hitsMVD = track->GetNofMvdHits();
2310  Int_t hitsSTS = track->GetNofStsHits();
2311 
2312  for (int i = 0; i < hitsMVD; i++) {
2313  Int_t mvdHitIndex = track->GetMvdHitIndex(i);
2314  CbmMvdHit* mvdHit = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex);
2315  TVector3 position;
2316  mvdHit->Position(position);
2317  AllHitsOfTrack.push_back(position);
2318  }
2319  for (int i = 0; i < hitsSTS; i++) {
2320  Int_t stsHitIndex = track->GetStsHitIndex(i);
2321  CbmStsHit* stsHit = (CbmStsHit*) fArrayStsHit->At(stsHitIndex);
2322  TVector3 position;
2323  stsHit->Position(position);
2324  AllHitsOfTrack.push_back(position);
2325  }
2326 
2327  return AllHitsOfTrack;
2328 }
2329 
2331  std::vector<TVector3> track_1,
2332  std::vector<TVector3> track_2) {
2333  double FinalAngle = 400;
2334 
2335  int hits_1 = track_1.size();
2336  int hits_2 = track_2.size();
2337 
2338  double Xpart1 = 0;
2339  double Ypart1 = 0;
2340  double Zpart1 = 0;
2341  double Xpart2 = 0;
2342  double Ypart2 = 0;
2343  double Zpart2 = 0;
2344 
2345  TVector3 last1 = track_1[hits_1 - 1];
2346  TVector3 last2 = track_2[hits_2 - 1];
2347 
2348  // // check difference in 2 cm, because of two slices of every STS and Mvd stations
2349  if (
2350  TMath::Abs(last1.Z() - last2.Z()) > 2
2351  && last1.Z()
2352  > last2
2353  .Z()) { // if last hits are in different stations --> try to find the latest common station
2354  for (int i = hits_1 - 2; i > -1; i--) { // start from second last station
2355  if (TMath::Abs(last1.Z() - last2.Z()) < 2) continue;
2356  last1 = track_1[i];
2357  Xpart1 = last1.X();
2358  Ypart1 = last1.Y();
2359  Zpart1 = last1.Z();
2360  }
2361  }
2362 
2363  if (
2364  TMath::Abs(last1.Z() - last2.Z()) > 2
2365  && last1.Z()
2366  < last2
2367  .Z()) { // if last hits are in different stations --> try to find the latest common station
2368  for (int i = hits_2 - 2; i > -1; i--) { // start from second last station
2369  if (TMath::Abs(last1.Z() - last2.Z()) < 2) continue;
2370  last2 = track_2[i];
2371  Xpart2 = last2.X();
2372  Ypart2 = last2.Y();
2373  Zpart2 = last2.Z();
2374  }
2375  }
2376 
2377  // calculate angle if we have found common station
2378  if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2379  FinalAngle =
2380  TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2381  }
2382 
2383  return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2384 }
2385 
2386 
2388  CbmStsTrack* Sts_2) {
2389  double FinalAngle = 400;
2390  Int_t hits1sts = Sts_1->GetNofStsHits();
2391  Int_t hits2sts = Sts_2->GetNofStsHits();
2392  Int_t hits1mvd = Sts_1->GetNofMvdHits();
2393  Int_t hits2mvd = Sts_2->GetNofMvdHits();
2394 
2395  double Xpart1 = 0;
2396  double Ypart1 = 0;
2397  double Zpart1 = 0;
2398  double Xpart2 = 0;
2399  double Ypart2 = 0;
2400  double Zpart2 = 0;
2401  if (hits1sts > 0) {
2402  Int_t stsHitIndex1 = Sts_1->GetStsHitIndex(hits1sts - 1);
2403  CbmStsHit* stsHit1 = (CbmStsHit*) fArrayStsHit->At(stsHitIndex1);
2404  Xpart1 = stsHit1->GetX();
2405  Ypart1 = stsHit1->GetY();
2406  Zpart1 = stsHit1->GetZ();
2407  } else {
2408  Int_t mvdHitIndex1 = Sts_1->GetMvdHitIndex(hits1mvd - 1);
2409  CbmMvdHit* mvdHit1 = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex1);
2410  Xpart1 = mvdHit1->GetX();
2411  Ypart1 = mvdHit1->GetY();
2412  Zpart1 = mvdHit1->GetZ();
2413  }
2414 
2415  if (hits2sts > 0) {
2416  Int_t stsHitIndex2 = Sts_2->GetStsHitIndex(hits2sts - 1);
2417  CbmStsHit* stsHit2 = (CbmStsHit*) fArrayStsHit->At(stsHitIndex2);
2418  Xpart2 = stsHit2->GetX();
2419  Ypart2 = stsHit2->GetY();
2420  Zpart2 = stsHit2->GetZ();
2421  } else {
2422  Int_t mvdHitIndex2 = Sts_2->GetMvdHitIndex(hits2mvd - 1);
2423  CbmMvdHit* mvdHit2 = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex2);
2424  Xpart2 = mvdHit2->GetX();
2425  Ypart2 = mvdHit2->GetY();
2426  Zpart2 = mvdHit2->GetZ();
2427  }
2428 
2429  // check difference in 2 cm, because of two slices of every STS and Mvd stations
2430  if (
2431  TMath::Abs(Zpart1 - Zpart2) > 2
2432  && Zpart1
2433  > Zpart2) { // if last hits are in different stations --> try to find the latest common station
2434  for (int i = hits1sts - 2; i > -1; i--) { // start from second last station
2435  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2436  Int_t stsHitIndex = Sts_1->GetStsHitIndex(i);
2437  CbmStsHit* stsHit = (CbmStsHit*) fArrayStsHit->At(stsHitIndex);
2438  Xpart1 = stsHit->GetX();
2439  Ypart1 = stsHit->GetY();
2440  Zpart1 = stsHit->GetZ();
2441  }
2442  if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 > Zpart2) {
2443  for (int i = hits1mvd - 2; i > -1; i--) {
2444  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2445  Int_t mvdHitIndex = Sts_1->GetMvdHitIndex(i);
2446  CbmMvdHit* mvdHit = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex);
2447  Xpart1 = mvdHit->GetX();
2448  Ypart1 = mvdHit->GetY();
2449  Zpart1 = mvdHit->GetZ();
2450  }
2451  }
2452  }
2453 
2454  if (
2455  TMath::Abs(Zpart1 - Zpart2) > 2
2456  && Zpart1
2457  < Zpart2) { // if last hits are in different stations --> try to find the latest common station
2458  for (int i = hits2sts - 2; i > -1; i--) { // start from second last station
2459  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2460  Int_t stsHitIndex = Sts_2->GetStsHitIndex(i);
2461  CbmStsHit* stsHit = (CbmStsHit*) fArrayStsHit->At(stsHitIndex);
2462  Xpart2 = stsHit->GetX();
2463  Ypart2 = stsHit->GetY();
2464  Zpart2 = stsHit->GetZ();
2465  }
2466  if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 < Zpart2) {
2467  for (int i = hits2mvd - 2; i > -1; i--) {
2468  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2469  Int_t mvdHitIndex = Sts_2->GetMvdHitIndex(i);
2470  CbmMvdHit* mvdHit = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex);
2471  Xpart2 = mvdHit->GetX();
2472  Ypart2 = mvdHit->GetY();
2473  Zpart2 = mvdHit->GetZ();
2474  }
2475  }
2476  }
2477 
2478  // calculate angle if we found common station
2479  if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2480  FinalAngle =
2481  TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2482  }
2483 
2484  return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2485 }
2486 
2488  CbmStsTrack* Sts_2) {
2489  double FinalAngle = 400;
2490  Int_t hits1sts = Sts_1->GetNofStsHits();
2491  Int_t hits2sts = Sts_2->GetNofStsHits();
2492  Int_t hits1mvd = Sts_1->GetNofMvdHits();
2493  Int_t hits2mvd = Sts_2->GetNofMvdHits();
2494 
2495  double Xpart1 = 0;
2496  double Ypart1 = 0;
2497  double Zpart1 = 0;
2498  double Xpart2 = 0;
2499  double Ypart2 = 0;
2500  double Zpart2 = 0;
2501  if (hits1mvd > 0) {
2502  Int_t mvdHitIndex1 = Sts_1->GetMvdHitIndex(0);
2503  CbmMvdHit* mvdHit1 = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex1);
2504  Xpart1 = mvdHit1->GetX();
2505  Ypart1 = mvdHit1->GetY();
2506  Zpart1 = mvdHit1->GetZ();
2507  } else {
2508  Int_t stsHitIndex1 = Sts_1->GetStsHitIndex(0);
2509  CbmStsHit* stsHit1 = (CbmStsHit*) fArrayStsHit->At(stsHitIndex1);
2510  Xpart1 = stsHit1->GetX();
2511  Ypart1 = stsHit1->GetY();
2512  Zpart1 = stsHit1->GetZ();
2513  }
2514 
2515  if (hits2mvd > 0) {
2516  Int_t mvdHitIndex2 = Sts_2->GetMvdHitIndex(0);
2517  CbmMvdHit* mvdHit2 = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex2);
2518  Xpart2 = mvdHit2->GetX();
2519  Ypart2 = mvdHit2->GetY();
2520  Zpart2 = mvdHit2->GetZ();
2521  } else {
2522  Int_t stsHitIndex2 = Sts_2->GetStsHitIndex(0);
2523  CbmStsHit* stsHit2 = (CbmStsHit*) fArrayStsHit->At(stsHitIndex2);
2524  Xpart2 = stsHit2->GetX();
2525  Ypart2 = stsHit2->GetY();
2526  Zpart2 = stsHit2->GetZ();
2527  }
2528 
2529  // check difference in 2 cm, because of two slices of every STS and Mvd stations
2530  if (
2531  TMath::Abs(Zpart1 - Zpart2) > 2
2532  && Zpart1
2533  < Zpart2) { // if first hits are in different stations --> try to find the earliest common station
2534  for (int i = 1; i < hits1mvd; i++) { // start from second hit
2535  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2536  Int_t mvdHitIndex = Sts_1->GetMvdHitIndex(i);
2537  CbmMvdHit* mvdHit = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex);
2538  Xpart1 = mvdHit->GetX();
2539  Ypart1 = mvdHit->GetY();
2540  Zpart1 = mvdHit->GetZ();
2541  }
2542  if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 < Zpart2) {
2543  for (int i = 0; i < hits1sts; i++) {
2544  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2545  Int_t stsHitIndex = Sts_1->GetStsHitIndex(i);
2546  CbmStsHit* stsHit = (CbmStsHit*) fArrayStsHit->At(stsHitIndex);
2547  Xpart1 = stsHit->GetX();
2548  Ypart1 = stsHit->GetY();
2549  Zpart1 = stsHit->GetZ();
2550  }
2551  }
2552  }
2553 
2554  if (
2555  TMath::Abs(Zpart1 - Zpart2) > 2
2556  && Zpart1
2557  > Zpart2) { // if first hits are in different stations --> try to find the earliest common station
2558  for (int i = 1; i < hits2mvd; i++) { // start from second hit
2559  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2560  Int_t mvdHitIndex = Sts_2->GetMvdHitIndex(i);
2561  CbmMvdHit* mvdHit = (CbmMvdHit*) fArrayMvdHit->At(mvdHitIndex);
2562  Xpart2 = mvdHit->GetX();
2563  Ypart2 = mvdHit->GetY();
2564  Zpart2 = mvdHit->GetZ();
2565  }
2566  if (TMath::Abs(Zpart1 - Zpart2) > 2 && Zpart1 > Zpart2) {
2567  for (int i = 0; i < hits2sts; i++) {
2568  if (TMath::Abs(Zpart1 - Zpart2) < 2) continue;
2569  Int_t stsHitIndex = Sts_2->GetStsHitIndex(i);
2570  CbmStsHit* stsHit = (CbmStsHit*) fArrayStsHit->At(stsHitIndex);
2571  Xpart2 = stsHit->GetX();
2572  Ypart2 = stsHit->GetY();
2573  Zpart2 = stsHit->GetZ();
2574  }
2575  }
2576  }
2577 
2578  // calculate angle if we found common station
2579  if (TMath::Abs(Zpart1 - Zpart2) < 2 && Zpart1 != 0 && Zpart2 != 0) {
2580  FinalAngle =
2581  TMath::ATan2(Ypart1 - Ypart2, Xpart1 - Xpart2) * (180 / TMath::Pi());
2582  }
2583 
2584  return TMath::Abs(TMath::Abs(FinalAngle) - 180);
2585 }
2586 
2588  double InvMassCut)
2589 // mix particles with the same charge TARGET
2590 {
2591  int nof_minus = DP_LK_EMT_momenta_minus_Target.size();
2592  for (int a = 0; a < nof_minus - 1; a++) {
2593  for (int b = a + 1; b < nof_minus; b++) {
2596  continue;
2597  TVector3 e1 = DP_LK_EMT_momenta_minus_Target[a];
2598  TVector3 e2 = DP_LK_EMT_momenta_minus_Target[b];
2601 
2602  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2603  double OpeningAngle =
2605  double PlaneAngle_last = CalculatePlaneAngle_last(sts1, sts2);
2606 
2607  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, fKFVertex.GetRefZ(), e1, e2);
2608  fAnnPhotonsSelection->DoSelect(InvmassReco,
2609  OpeningAngle,
2610  PlaneAngle_last,
2611  fKFVertex.GetRefZ(),
2612  e1,
2613  e2);
2614 
2615  // cuts
2616  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2617  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2618  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2619 
2620  CbmLmvmKinematicParams params =
2622 
2623  int rings_amount =
2625 
2626  DP_LK_EMT_neg_Pt_all_Target->Fill(params.fPt);
2627  if (rings_amount == 0) DP_LK_EMT_neg_Pt_zero_Target->Fill(params.fPt);
2628  if (rings_amount == 1) DP_LK_EMT_neg_Pt_one_Target->Fill(params.fPt);
2629  if (rings_amount == 2) DP_LK_EMT_neg_Pt_two_Target->Fill(params.fPt);
2630  if ((rings_amount == 1 || rings_amount == 2)) {
2631  DP_LK_EMT_neg_Pt_onetwo_Target->Fill(params.fPt);
2632  }
2633  DP_LK_EMT_Pt_all_Target->Fill(params.fPt);
2634  if (rings_amount == 0) DP_LK_EMT_Pt_zero_Target->Fill(params.fPt);
2635  if (rings_amount == 1) DP_LK_EMT_Pt_one_Target->Fill(params.fPt);
2636  if (rings_amount == 2) DP_LK_EMT_Pt_two_Target->Fill(params.fPt);
2637  if ((rings_amount == 1 || rings_amount == 2))
2638  DP_LK_EMT_Pt_onetwo_Target->Fill(params.fPt);
2639  }
2640  }
2641 
2642 
2643  int nof_plus = DP_LK_EMT_momenta_plus_Target.size();
2644  for (int a = 0; a < nof_plus - 1; a++) {
2645  for (int b = a + 1; b < nof_plus; b++) {
2648  continue;
2649  TVector3 e1 = DP_LK_EMT_momenta_plus_Target[a];
2650  TVector3 e2 = DP_LK_EMT_momenta_plus_Target[b];
2653 
2654  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2655  double OpeningAngle =
2657  double PlaneAngle_last = CalculatePlaneAngle_last(sts1, sts2);
2658 
2659  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, fKFVertex.GetRefZ(), e1, e2);
2660  fAnnPhotonsSelection->DoSelect(InvmassReco,
2661  OpeningAngle,
2662  PlaneAngle_last,
2663  fKFVertex.GetRefZ(),
2664  e1,
2665  e2);
2666 
2667  // cuts
2668  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2669  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2670  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2671 
2672  CbmLmvmKinematicParams params =
2674 
2675  int rings_amount =
2677 
2678  DP_LK_EMT_pos_Pt_all_Target->Fill(params.fPt);
2679  if (rings_amount == 0) DP_LK_EMT_pos_Pt_zero_Target->Fill(params.fPt);
2680  if (rings_amount == 1) DP_LK_EMT_pos_Pt_one_Target->Fill(params.fPt);
2681  if (rings_amount == 2) DP_LK_EMT_pos_Pt_two_Target->Fill(params.fPt);
2682  if ((rings_amount == 1 || rings_amount == 2)) {
2683  DP_LK_EMT_pos_Pt_onetwo_Target->Fill(params.fPt);
2684  }
2685  DP_LK_EMT_Pt_all_Target->Fill(params.fPt);
2686  if (rings_amount == 0) DP_LK_EMT_Pt_zero_Target->Fill(params.fPt);
2687  if (rings_amount == 1) DP_LK_EMT_Pt_one_Target->Fill(params.fPt);
2688  if (rings_amount == 2) DP_LK_EMT_Pt_two_Target->Fill(params.fPt);
2689  if ((rings_amount == 1 || rings_amount == 2))
2690  DP_LK_EMT_Pt_onetwo_Target->Fill(params.fPt);
2691  }
2692  }
2693 }
2694 
2696  double InvMassCut)
2697 // mix particles with the same charge OUTSIDE
2698 {
2699  int nof_minus = DP_LK_EMT_NofRings_minus_Outside.size();
2700  for (int a = 0; a < nof_minus - 1; a++) {
2701  for (int b = a + 1; b < nof_minus; b++) {
2704  continue;
2707 
2708  KFParticle electron;
2710  KFParticle positron;
2712  const KFParticle* daughters[2] = {&electron, &positron};
2713  KFParticle intersection;
2714  intersection.Construct(daughters, 2);
2715 
2716  if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
2717  continue; // kick weird intersections
2718 
2719  TVector3 e1 = CbmKresFunctions::FitToVertex(
2720  sts1, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2721  TVector3 e2 = CbmKresFunctions::FitToVertex(
2722  sts2, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2723 
2724  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2725  double OpeningAngle =
2727  double PlaneAngle_last = CalculatePlaneAngle_last(sts1, sts2);
2728 
2729  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, fKFVertex.GetRefZ(), e1, e2);
2730  fAnnPhotonsSelection->DoSelect(InvmassReco,
2731  OpeningAngle,
2732  PlaneAngle_last,
2733  fKFVertex.GetRefZ(),
2734  e1,
2735  e2);
2736 
2737  // cuts
2738  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2739  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2740  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2741 
2742  CbmLmvmKinematicParams params =
2744 
2745  int rings_amount = DP_LK_EMT_NofRings_minus_Outside[a]
2747 
2748  DP_LK_EMT_neg_Pt_all_Outside->Fill(params.fPt);
2749  if (rings_amount == 0) DP_LK_EMT_neg_Pt_zero_Outside->Fill(params.fPt);
2750  if (rings_amount == 1) DP_LK_EMT_neg_Pt_one_Outside->Fill(params.fPt);
2751  if (rings_amount == 2) DP_LK_EMT_neg_Pt_two_Outside->Fill(params.fPt);
2752  if ((rings_amount == 1 || rings_amount == 2))
2753  DP_LK_EMT_neg_Pt_onetwo_Outside->Fill(params.fPt);
2754  DP_LK_EMT_Pt_all_Outside->Fill(params.fPt);
2755  if (rings_amount == 0) DP_LK_EMT_Pt_zero_Outside->Fill(params.fPt);
2756  if (rings_amount == 1) DP_LK_EMT_Pt_one_Outside->Fill(params.fPt);
2757  if (rings_amount == 2) DP_LK_EMT_Pt_two_Outside->Fill(params.fPt);
2758  if ((rings_amount == 1 || rings_amount == 2))
2759  DP_LK_EMT_Pt_onetwo_Outside->Fill(params.fPt);
2760  }
2761  }
2762 
2763 
2764  int nof_plus = DP_LK_EMT_NofRings_plus_Outside.size();
2765  for (int a = 0; a < nof_plus - 1; a++) {
2766  for (int b = a + 1; b < nof_plus; b++) {
2769  continue;
2772 
2773  KFParticle electron;
2775  KFParticle positron;
2777  const KFParticle* daughters[2] = {&electron, &positron};
2778  KFParticle intersection;
2779  intersection.Construct(daughters, 2);
2780 
2781  if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
2782  continue; // kick weird intersections
2783 
2784  TVector3 e1 = CbmKresFunctions::FitToVertex(
2785  sts1, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2786  TVector3 e2 = CbmKresFunctions::FitToVertex(
2787  sts2, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2788 
2789  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2790  double OpeningAngle =
2792  double PlaneAngle_last = CalculatePlaneAngle_last(sts1, sts2);
2793 
2794  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, fKFVertex.GetRefZ(), e1, e2);
2795  fAnnPhotonsSelection->DoSelect(InvmassReco,
2796  OpeningAngle,
2797  PlaneAngle_last,
2798  fKFVertex.GetRefZ(),
2799  e1,
2800  e2);
2801 
2802  // cuts
2803  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2804  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2805  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2806 
2807  CbmLmvmKinematicParams params =
2809 
2810  int rings_amount =
2812 
2813  DP_LK_EMT_pos_Pt_all_Outside->Fill(params.fPt);
2814  if (rings_amount == 0) DP_LK_EMT_pos_Pt_zero_Outside->Fill(params.fPt);
2815  if (rings_amount == 1) DP_LK_EMT_pos_Pt_one_Outside->Fill(params.fPt);
2816  if (rings_amount == 2) DP_LK_EMT_pos_Pt_two_Outside->Fill(params.fPt);
2817  if ((rings_amount == 1 || rings_amount == 2))
2818  DP_LK_EMT_pos_Pt_onetwo_Outside->Fill(params.fPt);
2819  DP_LK_EMT_Pt_all_Outside->Fill(params.fPt);
2820  if (rings_amount == 0) DP_LK_EMT_Pt_zero_Outside->Fill(params.fPt);
2821  if (rings_amount == 1) DP_LK_EMT_Pt_one_Outside->Fill(params.fPt);
2822  if (rings_amount == 2) DP_LK_EMT_Pt_two_Outside->Fill(params.fPt);
2823  if ((rings_amount == 1 || rings_amount == 2))
2824  DP_LK_EMT_Pt_onetwo_Outside->Fill(params.fPt);
2825  }
2826  }
2827 }
2828 
2829 
2831  double InvMassCut)
2832 // TARGET
2833 {
2834  int nof_Target = DP_EMT_Event_minus_Target.size();
2835  cout << "Mixing for direct photons in Target - nof entries " << nof_Target
2836  << endl;
2837 
2838  for (size_t a = 0; a < DP_EMT_Event_minus_Target.size(); a++) {
2839  for (size_t b = 0; b < DP_EMT_Event_plus_Target.size(); b++) {
2841  continue; // to make sure that two particles are from two different events
2842  TVector3 e1 = DP_EMT_momenta_minus_Target[a];
2843  TVector3 e2 = DP_EMT_momenta_plus_Target[b];
2844  std::vector<TVector3> hits1 = DP_EMT_Hits_minus_Target[a];
2845  std::vector<TVector3> hits2 = DP_EMT_Hits_plus_Target[b];
2846 
2847  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2848  double OpeningAngle =
2850  double PlaneAngle_last = CalculatePlaneAngle_last_fromHits(hits1, hits2);
2851 
2852  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, fKFVertex.GetRefZ(), e1, e2);
2853  fAnnPhotonsSelection->DoSelect(InvmassReco,
2854  OpeningAngle,
2855  PlaneAngle_last,
2856  fKFVertex.GetRefZ(),
2857  e1,
2858  e2);
2859 
2860  // cuts
2861  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2862  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2863  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2864 
2865  CbmLmvmKinematicParams params =
2867  int rings_amount =
2869 
2870  DP_EMT_Pt_all_Target->Fill(params.fPt);
2871  DP_EMT_Pt_all_Both->Fill(params.fPt);
2872  if (rings_amount == 0) {
2873  DP_EMT_Pt_zero_Target->Fill(params.fPt);
2874  DP_EMT_Pt_zero_Both->Fill(params.fPt);
2875  }
2876  if (rings_amount == 1) {
2877  DP_EMT_Pt_one_Target->Fill(params.fPt);
2878  DP_EMT_Pt_one_Both->Fill(params.fPt);
2879  }
2880  if (rings_amount == 2) {
2881  DP_EMT_Pt_two_Target->Fill(params.fPt);
2882  DP_EMT_Pt_two_Both->Fill(params.fPt);
2883  }
2884  if ((rings_amount == 1 || rings_amount == 2)) {
2885  DP_EMT_Pt_onetwo_Target->Fill(params.fPt);
2886  DP_EMT_Pt_onetwo_Both->Fill(params.fPt);
2887  }
2888  }
2889  }
2890 }
2891 
2892 
2894  double InvMassCut)
2895 // OUTSIDE
2896 {
2897  int nof_Outside = DP_EMT_Event_minus_Outside.size();
2898  cout << "Mixing for direct photons in Outside - nof entries " << nof_Outside
2899  << endl;
2900 
2901  for (size_t a = 0; a < DP_EMT_Event_minus_Outside.size(); a++) {
2902  for (size_t b = 0; b < DP_EMT_Event_plus_Outside.size(); b++) {
2904  continue; // to make sure that two particles are from two different events
2905 
2906  KFParticle electron = DP_EMT_KFTrack_minus_Outside[a];
2907  KFParticle positron = DP_EMT_KFTrack_plus_Outside[b];
2908 
2909  const KFParticle* daughters[2] = {&electron, &positron};
2910  KFParticle intersection;
2911  intersection.Construct(daughters, 2);
2912 
2913  if (intersection.GetZ() > 75 || intersection.GetZ() < -5)
2914  continue; // kick weird intersections
2915 
2916  // TVector3 e1 = CbmKresFunctions::FitToVertex(sts1, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2917  // TVector3 e2 = CbmKresFunctions::FitToVertex(sts2, intersection.GetX(), intersection.GetY(), intersection.GetZ());
2918 
2919  TVector3 e1(electron.KFParticleBase::Px(),
2920  electron.KFParticleBase::Py(),
2921  electron.KFParticleBase::Pz());
2922  TVector3 e2(positron.KFParticleBase::Px(),
2923  positron.KFParticleBase::Py(),
2924  positron.KFParticleBase::Pz());
2925 
2926  std::vector<TVector3> hits1 = DP_EMT_Hits_minus_Outside[a];
2927  std::vector<TVector3> hits2 = DP_EMT_Hits_plus_Outside[b];
2928 
2929  double InvmassReco = CbmKresFunctions::Invmass_2particles_RECO(e1, e2);
2930  double OpeningAngle =
2932  double PlaneAngle_last = CalculatePlaneAngle_last_fromHits(hits1, hits2);
2933 
2934  // double AnnValue = fAnnPhotonsSelection->DoSelect(InvmassReco, OpeningAngle, PlaneAngle_last, intersection.GetZ(), e1, e2);
2935  fAnnPhotonsSelection->DoSelect(InvmassReco,
2936  OpeningAngle,
2937  PlaneAngle_last,
2938  intersection.GetZ(),
2939  e1,
2940  e2);
2941 
2942  // cuts
2943  if (TMath::Abs(OpeningAngle) > AngleCut) continue;
2944  if (TMath::Abs(InvmassReco) > InvMassCut) continue;
2945  // if (AnnValue < 0.9 || AnnValue > 1.1) continue;
2946 
2947  CbmLmvmKinematicParams params =
2949  int rings_amount =
2951 
2952  DP_EMT_Pt_all_Outside->Fill(params.fPt);
2953  DP_EMT_Pt_all_Both->Fill(params.fPt);
2954  if (rings_amount == 0) {
2955  DP_EMT_Pt_zero_Outside->Fill(params.fPt);
2956  DP_EMT_Pt_zero_Both->Fill(params.fPt);
2957  }
2958  if (rings_amount == 1) {
2959  DP_EMT_Pt_one_Outside->Fill(params.fPt);
2960  DP_EMT_Pt_one_Both->Fill(params.fPt);
2961  }
2962  if (rings_amount == 2) {
2963  DP_EMT_Pt_two_Outside->Fill(params.fPt);
2964  DP_EMT_Pt_two_Both->Fill(params.fPt);
2965  }
2966  if ((rings_amount == 1 || rings_amount == 2)) {
2967  DP_EMT_Pt_onetwo_Outside->Fill(params.fPt);
2968  DP_EMT_Pt_onetwo_Both->Fill(params.fPt);
2969  }
2970  }
2971  }
2972 }
2973 
2974 
2976  gDirectory->mkdir("direct photons");
2977  gDirectory->cd("direct photons");
2978 
2979 
2980  gDirectory->mkdir("Target");
2981  gDirectory->cd("Target");
2982  gDirectory->mkdir("CheckCuts_Target");
2983  gDirectory->cd("CheckCuts_Target");
2984  for (UInt_t i = 0; i < fHistoList_dp_cuts_Target.size(); i++) {
2985  fHistoList_dp_cuts_Target[i]->Write();
2986  }
2987  gDirectory->cd("..");
2988  gDirectory->mkdir("all");
2989  gDirectory->cd("all");
2990  for (UInt_t i = 0; i < fHistoList_dp_all_Target.size(); i++) {
2991  fHistoList_dp_all_Target[i]->Write();
2992  }
2993  gDirectory->cd("..");
2994  gDirectory->mkdir("zero");
2995  gDirectory->cd("zero");
2996  for (UInt_t i = 0; i < fHistoList_dp_zero_Target.size(); i++) {
2997  fHistoList_dp_zero_Target[i]->Write();
2998  }
2999  gDirectory->cd("..");
3000  gDirectory->mkdir("one");
3001  gDirectory->cd("one");
3002  for (UInt_t i = 0; i < fHistoList_dp_one_Target.size(); i++) {
3003  fHistoList_dp_one_Target[i]->Write();
3004  }
3005  gDirectory->cd("..");
3006  gDirectory->mkdir("two");
3007  gDirectory->cd("two");
3008  for (UInt_t i = 0; i < fHistoList_dp_two_Target.size(); i++) {
3009  fHistoList_dp_two_Target[i]->Write();
3010  }
3011  gDirectory->cd("..");
3012  gDirectory->mkdir("onetwo");
3013  gDirectory->cd("onetwo");
3014  for (UInt_t i = 0; i < fHistoList_dp_onetwo_Target.size(); i++) {
3015  fHistoList_dp_onetwo_Target[i]->Write();
3016  }
3017  gDirectory->cd("..");
3018  for (UInt_t i = 0; i < fHistoList_dp_Target.size(); i++) {
3019  fHistoList_dp_Target[i]->Write();
3020  }
3021  gDirectory->cd("..");
3022 
3023 
3024  gDirectory->mkdir("Outside");
3025  gDirectory->cd("Outside");
3026  gDirectory->mkdir("CheckCuts_Outside");
3027  gDirectory->cd("CheckCuts_Outside");
3028  for (UInt_t i = 0; i < fHistoList_dp_cuts_Outside.size(); i++) {
3029  fHistoList_dp_cuts_Outside[i]->Write();
3030  }
3031  gDirectory->cd("..");
3032  gDirectory->mkdir("all");
3033  gDirectory->cd("all");
3034  for (UInt_t i = 0; i < fHistoList_dp_all_Outside.size(); i++) {
3035  fHistoList_dp_all_Outside[i]->Write();
3036  }
3037  gDirectory->cd("..");
3038  gDirectory->mkdir("zero");
3039  gDirectory->cd("zero");
3040  for (UInt_t i = 0; i < fHistoList_dp_zero_Outside.size(); i++) {
3041  fHistoList_dp_zero_Outside[i]->Write();
3042  }
3043  gDirectory->cd("..");
3044  gDirectory->mkdir("one");
3045  gDirectory->cd("one");
3046  for (UInt_t i = 0; i < fHistoList_dp_one_Outside.size(); i++) {
3047  fHistoList_dp_one_Outside[i]->Write();
3048  }
3049  gDirectory->cd("..");
3050  gDirectory->mkdir("two");
3051  gDirectory->cd("two");
3052  for (UInt_t i = 0; i < fHistoList_dp_two_Outside.size(); i++) {
3053  fHistoList_dp_two_Outside[i]->Write();
3054  }
3055  gDirectory->cd("..");
3056  gDirectory->mkdir("onetwo");
3057  gDirectory->cd("onetwo");
3058  for (UInt_t i = 0; i < fHistoList_dp_onetwo_Outside.size(); i++) {
3059  fHistoList_dp_onetwo_Outside[i]->Write();
3060  }
3061  gDirectory->cd("..");
3062  for (UInt_t i = 0; i < fHistoList_dp_Outside.size(); i++) {
3063  fHistoList_dp_Outside[i]->Write();
3064  }
3065  gDirectory->cd("..");
3066 
3067 
3068  gDirectory->mkdir("Both");
3069  gDirectory->cd("Both");
3070  gDirectory->mkdir("CheckCuts_Both");
3071  gDirectory->cd("CheckCuts_Both");
3072  for (UInt_t i = 0; i < fHistoList_dp_cuts_Both.size(); i++) {
3073  fHistoList_dp_cuts_Both[i]->Write();
3074  }
3075  gDirectory->cd("..");
3076  gDirectory->mkdir("all");
3077  gDirectory->cd("all");
3078  for (UInt_t i = 0; i < fHistoList_dp_all_Both.size(); i++) {
3079  fHistoList_dp_all_Both[i]->Write();
3080  }
3081  gDirectory->cd("..");
3082  gDirectory->mkdir("zero");
3083  gDirectory->cd("zero");
3084  for (UInt_t i = 0; i < fHistoList_dp_zero_Both.size(); i++) {
3085  fHistoList_dp_zero_Both[i]->Write();
3086  }
3087  gDirectory->cd("..");
3088  gDirectory->mkdir("one");
3089  gDirectory->cd("one");
3090  for (UInt_t i = 0; i < fHistoList_dp_one_Both.size(); i++) {
3091  fHistoList_dp_one_Both[i]->Write();
3092  }
3093  gDirectory->cd("..");
3094  gDirectory->mkdir("two");
3095  gDirectory->cd("two");
3096  for (UInt_t i = 0; i < fHistoList_dp_two_Both.size(); i++) {
3097  fHistoList_dp_two_Both[i]->Write();
3098  }
3099  gDirectory->cd("..");
3100  gDirectory->mkdir("onetwo");
3101  gDirectory->cd("onetwo");
3102  for (UInt_t i = 0; i < fHistoList_dp_onetwo_Both.size(); i++) {
3103  fHistoList_dp_onetwo_Both[i]->Write();
3104  }
3105  gDirectory->cd("..");
3106  for (UInt_t i = 0; i < fHistoList_dp_Both.size(); i++) {
3107  fHistoList_dp_Both[i]->Write();
3108  }
3109  gDirectory->cd("..");
3110 
3111 
3112  gDirectory->cd("..");
3113 }
3114 
3115 
3117  // Target
3119  new TH1D("Mother_PDG_Target", "Mother_PDG_Target; Id;#", 1000, -10, 490);
3121  GrandMother_PDG_Target = new TH1D(
3122  "GrandMother_PDG_Target", "GrandMother_PDG_Target; Id;#", 1000, -10, 490);
3124 
3125  // Outside
3127  new TH1D("Mother_PDG_Outside", "Mother_PDG_Outside; Id;#", 1000, -10, 490);
3129  GrandMother_PDG_Outside = new TH1D(
3130  "GrandMother_PDG_Outside", "GrandMother_PDG_Outside; Id;#", 1000, -10, 490);
3132 
3133  // Both
3135  new TH2D("Pdg_vs_Distance_for_dp",
3136  "Pdg_vs_Distance_for_dp; pdg; distance in cm",
3137  2500,
3138  0,
3139  2499,
3140  500,
3141  0,
3142  50);
3145  new TH2D("P_vs_Distance_for_dp",
3146  "Distance between projected track and center of the ring (for e+ "
3147  "and e-); P in GeV/c^{2}; distance in cm",
3148  300,
3149  0,
3150  3,
3151  300,
3152  0,
3153  15);
3155  DP_AnnTruePairs = new TH1D(
3156  "DP_AnnTruePairs", "DP_AnnTruePairs; Ann value ;#", 100, -1.2, 1.2);
3158  DP_AnnFalsePairs = new TH1D(
3159  "DP_AnnFalsePairs", "DP_AnnFalsePairs; Ann value ;#", 100, -1.2, 1.2);
3162  new TH1D("DP_AnnTruePairs_AfterCuts",
3163  "DP_AnnTruePairs_AfterCuts; Ann value ;#",
3164  100,
3165  -1.2,
3166  1.2);
3169  new TH1D("DP_AnnFalsePairs_AfterCuts",
3170  "DP_AnnFalsePairs_AfterCuts; Ann value ;#",
3171  100,
3172  -1.2,
3173  1.2);
3175 
3176 
3180  new TH2D("DP_candidates_InvMass_vs_OA_Both",
3181  "DP_candidates_InvMass_vs_OA_Both; invariant mass in GeV/c^{2}; "
3182  "opening angle in degree",
3183  500,
3184  0,
3185  0.5,
3186  500,
3187  0,
3188  50);
3190  DP_InvMass_vs_OA_Both = new TH2D("DP_InvMass_vs_OA_Both",
3191  "DP_InvMass_vs_OA_Both; invariant mass in "
3192  "GeV/c^{2}; opening angle in degree",
3193  500,
3194  0,
3195  0.5,
3196  500,
3197  0,
3198  50);
3201  new TH1D("DP_candidates_InvMass_Both",
3202  "DP_candidates_InvMass_Both; invariant mass in GeV/c^{2};#",
3203  510,
3204  -0.01,
3205  0.5);
3207  DP_InvMass_Both = new TH1D("DP_InvMass_Both",
3208  "DP_InvMass_Both; invariant mass in GeV/c^{2};#",
3209  510,
3210  -0.01,
3211  0.5);
3214  new TH1D("DP_candidates_OA_Both",
3215  "DP_candidates_OA_Both; opening angle in degree;#",
3216  300,
3217  -0.1,
3218  29.9);
3220  DP_OA_Both = new TH1D(
3221  "DP_OA_Both", "DP_OA_Both; opening angle in degree;#", 300, -0.1, 29.9);
3224  new TH1D("DP_candidates_PlaneAngles_last_Both",
3225  "DP_candidates_PlaneAngles_last_Both; #theta angle in degree;#",
3226  720,
3227  -1.,
3228  179.);
3231  new TH1D("DP_PlaneAngles_last_Both",
3232  "DP_PlaneAngles_last_Both; #theta angle in degree;#",
3233  720,
3234  -1.,
3235  179.);
3238  new TH1D("DP_candidates_PlaneAngles_first_Both",
3239  "DP_candidates_PlaneAngles_first_Both; #theta angle in degree;#",
3240  720,
3241  -1.,
3242  179.);
3245  new TH1D("DP_PlaneAngles_first_Both",
3246  "DP_PlaneAngles_first_Both; #theta angle in degree;#",
3247  720,
3248  -1.,
3249  179.);
3251 
3254  new TH2D("DP_candidates_InvMass_vs_OA_Target",
3255  "DP_candidates_InvMass_vs_OA_Target; invariant mass in GeV/c^{2}; "
3256  "opening angle in degree",
3257  500,
3258  0,
3259  0.5,
3260  500,
3261  0,
3262  50);
3264  DP_InvMass_vs_OA_Target = new TH2D("DP_InvMass_vs_OA_Target",
3265  "DP_InvMass_vs_OA_Target; invariant mass "
3266  "in GeV/c^{2}; opening angle in degree",
3267  500,
3268  0,
3269  0.5,
3270  500,
3271  0,
3272  50);
3275  new TH1D("DP_candidates_InvMass_Target",
3276  "DP_candidates_InvMass_Target; invariant mass in GeV/c^{2};#",
3277  510,
3278  -0.01,
3279  0.5);
3282  new TH1D("DP_InvMass_Target",
3283  "DP_InvMass_Target; invariant mass in GeV/c^{2};#",
3284  510,
3285  -0.01,
3286  0.5);
3289  new TH1D("DP_candidates_OA_Target",
3290  "DP_candidates_OA_Target; opening angle in degree;#",
3291  300,
3292  -0.1,
3293  29.9);
3295  DP_OA_Target = new TH1D(
3296  "DP_OA_Target", "DP_OA_Target; opening angle in degree;#", 300, -0.1, 29.9);
3299  new TH1D("DP_candidates_PlaneAngles_last_Target",
3300  "DP_candidates_PlaneAngles_last_Target; #theta angle in degree;#",
3301  720,
3302  -1.,
3303  179.);
3306  new TH1D("DP_PlaneAngles_last_Target",
3307  "DP_PlaneAngles_last_Target; #theta angle in degree;#",
3308  720,
3309  -1.,
3310  179.);
3313  new TH1D("DP_candidates_PlaneAngles_first_Target",
3314  "DP_candidates_PlaneAngles_first_Target; #theta angle in degree;#",
3315  720,
3316  -1.,
3317  179.);
3320  new TH1D("DP_PlaneAngles_first_Target",
3321  "DP_PlaneAngles_first_Target; #theta angle in degree;#",
3322  720,
3323  -1.,
3324  179.);
3326 
3329  new TH2D("DP_candidates_InvMass_vs_OA_Outside",
3330  "DP_candidates_InvMass_vs_OA_Outside; invariant mass in "
3331  "GeV/c^{2}; opening angle in degree",
3332  500,
3333  0,
3334  0.5,
3335  500,
3336  0,
3337  50);
3340  new TH2D("DP_InvMass_vs_OA_Outside",
3341  "DP_InvMass_vs_OA_Outside; invariant mass in GeV/c^{2}; opening "
3342  "angle in degree",
3343  500,
3344  0,
3345  0.5,
3346  500,
3347  0,
3348  50);
3351  new TH1D("DP_candidates_InvMass_Outside",
3352  "DP_candidates_InvMass_Outside; invariant mass in GeV/c^{2};#",
3353  510,
3354  -0.01,
3355  0.5);
3358  new TH1D("DP_InvMass_Outside",
3359  "DP_InvMass_Outside; invariant mass in GeV/c^{2};#",
3360  510,
3361  -0.01,
3362  0.5);
3365  new TH1D("DP_candidates_OA_Outside",
3366  "DP_candidates_OA_Outside; opening angle in degree;#",
3367  300,
3368  -0.1,
3369  29.9);
3371  DP_OA_Outside = new TH1D("DP_OA_Outside",
3372  "DP_OA_Outside; opening angle in degree;#",
3373  300,
3374  -0.1,
3375  29.9);
3378  new TH1D("DP_candidates_PlaneAngles_last_Outside",
3379  "DP_candidates_PlaneAngles_last_Outside; #theta angle in degree;#",
3380  720,
3381  -1.,
3382  179.);
3385  new TH1D("DP_PlaneAngles_last_Outside",
3386  "DP_PlaneAngles_last_Outside; #theta angle in degree;#",
3387  720,
3388  -1.,
3389  179.);
3392  "DP_candidates_PlaneAngles_first_Outside",
3393  "DP_candidates_PlaneAngles_first_Outside; #theta angle in degree;#",
3394  720,
3395  -1.,
3396  179.);
3399  new TH1D("DP_PlaneAngles_first_Outside",
3400  "DP_PlaneAngles_first_Outside; #theta angle in degree;#",
3401  720,
3402  -1.,
3403  179.);
3405 
3406 
3407  // Target => all
3409  new TH1D("DP_InvMassReco_all_Target",
3410  "DP_InvMassReco_all_Target; invariant mass in GeV/c^{2};#",
3411  50,
3412  -0.005,
3413  0.045);
3416  new TH1D("DP_OpeningAngleReco_all_Target",
3417  "DP_OpeningAngleReco_all_Target; angle [deg];#",
3418  45,
3419  -0.5,
3420  4.);
3423  new TH1D("DP_Pdg_all_Target", "DP_Pdg_all_Target; Id;#", 1000, -10, 490);
3425  DP_P_reco_all_Target = new TH1D("DP_P_reco_all_Target",
3426  "DP_P_reco_all_Target; P in GeV/c^{2};#",
3427  200,
3428  0,
3429  10);
3432  new TH1D("DP_Pt_reco_all_Target",
3433  "DP_Pt_reco_all_Target; P_{t} in GeV/c^{2};#",
3434  30,
3435  0,
3436  3);
3439  new TH1D("Ph_fromTarget_Pt_reco_all_Target",
3440  "Ph_fromTarget_Pt_reco_all_Target; P_{t} in GeV/c^{2};#",
3441  30,
3442  0,
3443  3);
3446  new TH1D("Ph_fromPions_Pt_reco_all_Target",
3447  "Ph_fromPions_Pt_reco_all_Target; P_{t} in GeV/c^{2};#",
3448  30,
3449  0,
3450  3);
3453  new TH1D("Ph_fromEtas_Pt_reco_all_Target",
3454  "Ph_fromEtas_Pt_reco_all_Target; P_{t} in GeV/c^{2};#",
3455  30,
3456  0,
3457  3);
3460  new TH1D("Ph_fromDalitz_Pt_reco_all_Target",
3461  "Ph_fromDalitz_Pt_reco_all_Target; P_{t} in GeV/c^{2};#",
3462  30,
3463  0,
3464  3);
3466 
3467  // Target => zero
3469  new TH1D("DP_InvMassReco_zero_Target",
3470  "DP_InvMassReco_zero_Target; invariant mass in GeV/c^{2};#",
3471  50,
3472  -0.005,
3473  0.045);
3476  new TH1D("DP_OpeningAngleReco_zero_Target",
3477  "DP_OpeningAngleReco_zero_Target; angle [deg];#",
3478  45,
3479  -0.5,
3480  4.);
3483  new TH1D("DP_Pdg_zero_Target", "DP_Pdg_zero_Target; Id;#", 1000, -10, 490);
3485  DP_P_reco_zero_Target = new TH1D("DP_P_reco_zero_Target",
3486  "DP_P_reco_zero_Target; P in GeV/c^{2};#",
3487  200,
3488  0,
3489  10);
3492  new TH1D("DP_Pt_reco_zero_Target",
3493  "DP_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#",
3494  30,
3495  0,
3496  3);
3499  new TH1D("Ph_fromTarget_Pt_reco_zero_Target",
3500  "Ph_fromTarget_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#",
3501  30,
3502  0,
3503  3);
3506  new TH1D("Ph_fromPions_Pt_reco_zero_Target",
3507  "Ph_fromPions_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#",
3508  30,
3509  0,
3510  3);
3513  new TH1D("Ph_fromEtas_Pt_reco_zero_Target",
3514  "Ph_fromEtas_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#",
3515  30,
3516  0,
3517  3);
3520  new TH1D("Ph_fromDalitz_Pt_reco_zero_Target",
3521  "Ph_fromDalitz_Pt_reco_zero_Target; P_{t} in GeV/c^{2};#",
3522  30,
3523  0,
3524  3);
3526 
3527  // Target => one
3529  new TH1D("DP_InvMassReco_one_Target",
3530  "DP_InvMassReco_one_Target; invariant mass in GeV/c^{2};#",
3531  50,
3532  -0.005,
3533  0.045);
3536  new TH1D("DP_OpeningAngleReco_one_Target",
3537  "DP_OpeningAngleReco_one_Target; angle [deg];#",
3538  45,
3539  -0.5,
3540  4.);
3543  new TH1D("DP_Pdg_one_Target", "DP_Pdg_one_Target; Id;#", 1000, -10, 490);
3545  DP_P_reco_one_Target = new TH1D("DP_P_reco_one_Target",
3546  "DP_P_reco_one_Target; P in GeV/c^{2};#",
3547  200,
3548  0,
3549  10);
3552  new TH1D("DP_Pt_reco_one_Target",
3553  "DP_Pt_reco_one_Target; P_{t} in GeV/c^{2};#",
3554  30,
3555  0,
3556  3);
3559  new TH1D("Ph_fromTarget_Pt_reco_one_Target",
3560  "Ph_fromTarget_Pt_reco_one_Target; P_{t} in GeV/c^{2};#",
3561  30,
3562  0,
3563  3);
3566  new TH1D("Ph_fromPions_Pt_reco_one_Target",
3567  "Ph_fromPions_Pt_reco_one_Target; P_{t} in GeV/c^{2};#",
3568  30,
3569  0,
3570  3);
3573  new TH1D("Ph_fromEtas_Pt_reco_one_Target",
3574  "Ph_fromEtas_Pt_reco_one_Target; P_{t} in GeV/c^{2};#",
3575  30,
3576  0,
3577  3);
3580  new TH1D("Ph_fromDalitz_Pt_reco_one_Target",
3581  "Ph_fromDalitz_Pt_reco_one_Target; P_{t} in GeV/c^{2};#",
3582  30,
3583  0,
3584  3);
3586 
3587  // Target => two
3589  new TH1D("DP_InvMassReco_two_Target",
3590  "DP_InvMassReco_two_Target; invariant mass in GeV/c^{2};#",
3591  50,
3592  -0.005,
3593  0.045);
3596  new TH1D("DP_OpeningAngleReco_two_Target",
3597  "DP_OpeningAngleReco_two_Target; angle [deg];#",
3598  45,
3599  -0.5,
3600  4.);
3603  new TH1D("DP_Pdg_two_Target", "DP_Pdg_two_Target; Id;#", 1000, -10, 490);
3605  DP_P_reco_two_Target = new TH1D("DP_P_reco_two_Target",
3606  "DP_P_reco_two_Target; P in GeV/c^{2};#",
3607  200,
3608  0,
3609  10);
3612  new TH1D("DP_Pt_reco_two_Target",
3613  "DP_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3614  30,
3615  0,
3616  3);
3619  new TH1D("Ph_fromTarget_Pt_reco_two_Target",
3620  "Ph_fromTarget_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3621  30,
3622  0,
3623  3);
3626  new TH1D("Ph_fromPions_Pt_reco_two_Target",
3627  "Ph_fromPions_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3628  30,
3629  0,
3630  3);
3633  new TH1D("Ph_fromEtas_Pt_reco_two_Target",
3634  "Ph_fromEtas_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3635  30,
3636  0,
3637  3);
3640  new TH1D("Ph_fromXi_Pt_reco_two_Target",
3641  "Ph_fromXi_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3642  30,
3643  0,
3644  3);
3647  new TH1D("Ph_fromDalitz_Pt_reco_two_Target",
3648  "Ph_fromDalitz_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3649  30,
3650  0,
3651  3);
3654  new TH1D("Ph_fromOther_Pt_reco_two_Target",
3655  "Ph_fromOther_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3656  30,
3657  0,
3658  3);
3661  new TH1D("Ph_twoFromTarget_Pt_reco_two_Target",
3662  "Ph_twoFromTarget_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3663  30,
3664  0,
3665  3);
3668  new TH1D("Ph_fromCombinatorial_Pt_reco_two_Target",
3669  "Ph_fromCombinatorial_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3670  30,
3671  0,
3672  3);
3675  new TH1D("Ph_fromConversion_Pt_reco_two_Target",
3676  "Ph_fromConversion_Pt_reco_two_Target; P_{t} in GeV/c^{2};#",
3677  30,
3678  0,
3679  3);
3681 
3682  twoFromTarget_PDG_two_Target = new TH1D("twoFromTarget_PDG_two_Target",
3683  "twoFromTarget_PDG_two_Target; Id;#",
3684  1000,
3685  -10,
3686  490);
3689  new TH1D("fromCombinatorial_PDG_two_Target",
3690  "fromCombinatorial_PDG_two_Target; Id;#",
3691  1000,
3692  -10,
3693  490);
3696  new TH1D("CombinatorialMotherPdg_two_Target",
3697  "CombinatorialMotherPdg_two_Target; Id;#",
3698  1000,
3699  -10,
3700  490);
3703  new TH1D("CombinatorialGrMotherPdg_two_Target",
3704  "CombinatorialGrMotherPdg_two_Target; Id;#",
3705  1000,
3706  -10,
3707  490);
3709  Electrons_two_Target = new TH1D("Electrons_two_Target",
3710  "Electrons_two_Target; P_{t} in GeV/c^{2};#",
3711  30,
3712  0,
3713  3);
3715  Pions_two_Target = new TH1D(
3716  "Pions_two_Target", "Pions_two_Target; P_{t} in GeV/c^{2};#", 30, 0, 3);
3719  new TH1D("PionElectron_two_Target",
3720  "PionElectron_two_Target; P_{t} in GeV/c^{2};#",
3721  30,
3722  0,
3723  3);
3726  new TH1D("elsePionOrElectron_two_Target",
3727  "elsePionOrElectron_two_Target; P_{t} in GeV/c^{2};#",
3728  30,
3729  0,
3730  3);
3733  new TH1D("DalitzAndConversion_Pt_two_Target",
3734  "DalitzAndConversion_Pt_two_Target; P_{t} in GeV/c^{2};#",
3735  30,
3736  0,
3737  3);
3740  new TH1D("DoubleConversion_Pt_two_Target",
3741  "DoubleConversion_Pt_two_Target; P_{t} in GeV/c^{2};#",
3742  30,
3743  0,
3744  3);
3747  new TH1D("fromFireball_P_two_Target",
3748  "fromFireball_P_two_Target; P_{t} in GeV/c^{2};#",
3749  120,
3750  0,
3751  6);
3754  new TH1D("twoFromTarget_P_two_Target",
3755  "twoFromTarget_P_two_Target; P_{t} in GeV/c^{2};#",
3756  120,
3757  0,
3758  6);
3761  new TH1D("fromCombinatorial_electron_P_two_Target",
3762  "fromCombinatorial_electron_P_two_Target; P_{t} in GeV/c^{2};#",
3763  120,
3764  0,
3765  6);
3768  new TH1D("fromCombinatorial_NOTelectron_P_two_Target",
3769  "fromCombinatorial_NOTelectron_P_two_Target; P_{t} in GeV/c^{2};#",
3770  120,
3771  0,
3772  6);
3773  fHistoList_dp_two_Target.push_back(
3775 
3776  // Target => onetwo
3778  new TH1D("DP_InvMassReco_onetwo_Target",
3779  "DP_InvMassReco_onetwo_Target; invariant mass in GeV/c^{2};#",
3780  50,
3781  -0.005,
3782  0.045);
3785  new TH1D("DP_OpeningAngleReco_onetwo_Target",
3786  "DP_OpeningAngleReco_onetwo_Target; angle [deg];#",
3787  45,
3788  -0.5,
3789  4.);
3791  DP_Pdg_onetwo_Target = new TH1D(
3792  "DP_Pdg_onetwo_Target", "DP_Pdg_onetwo_Target; Id;#", 1000, -10, 490);
3795  new TH1D("DP_P_reco_onetwo_Target",
3796  "DP_P_reco_onetwo_Target; P in GeV/c^{2};#",
3797  200,
3798  0,
3799  10);
3802  new TH1D("DP_Pt_reco_onetwo_Target",
3803  "DP_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3804  30,
3805  0,
3806  3);
3809  new TH1D("Ph_fromTarget_Pt_reco_onetwo_Target",
3810  "Ph_fromTarget_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3811  30,
3812  0,
3813  3);
3816  new TH1D("Ph_fromPions_Pt_reco_onetwo_Target",
3817  "Ph_fromPions_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3818  30,
3819  0,
3820  3);
3823  new TH1D("Ph_fromEtas_Pt_reco_onetwo_Target",
3824  "Ph_fromEtas_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3825  30,
3826  0,
3827  3);
3830  new TH1D("Ph_fromXi_Pt_reco_onetwo_Target",
3831  "Ph_fromXi_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3832  30,
3833  0,
3834  3);
3837  new TH1D("Ph_fromDalitz_Pt_reco_onetwo_Target",
3838  "Ph_fromDalitz_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3839  30,
3840  0,
3841  3);
3844  new TH1D("Ph_fromOther_Pt_reco_onetwo_Target",
3845  "Ph_fromOther_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3846  30,
3847  0,
3848  3);
3851  new TH1D("Ph_twoFromTarget_Pt_reco_onetwo_Target",
3852  "Ph_twoFromTarget_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3853  30,
3854  0,
3855  3);
3858  new TH1D("Ph_fromCombinatorial_Pt_reco_onetwo_Target",
3859  "Ph_fromCombinatorial_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3860  30,
3861  0,
3862  3);
3863  fHistoList_dp_onetwo_Target.push_back(
3866  new TH1D("Ph_fromConversion_Pt_reco_onetwo_Target",
3867  "Ph_fromConversion_Pt_reco_onetwo_Target; P_{t} in GeV/c^{2};#",
3868  30,
3869  0,
3870  3);
3871  fHistoList_dp_onetwo_Target.push_back(
3873 
3875  new TH1D("twoFromTarget_PDG_onetwo_Target",
3876  "twoFromTarget_PDG_onetwo_Target; Id;#",
3877  1000,
3878  -10,
3879  490);
3882  new TH1D("fromCombinatorial_PDG_onetwo_Target",
3883  "fromCombinatorial_PDG_onetwo_Target; Id;#",
3884  1000,
3885  -10,
3886  490);
3889  new TH1D("CombinatorialMotherPdg_onetwo_Target",
3890  "CombinatorialMotherPdg_onetwo_Target; Id;#",
3891  1000,
3892  -10,
3893  490);
3896  new TH1D("CombinatorialGrMotherPdg_onetwo_Target",
3897  "CombinatorialGrMotherPdg_onetwo_Target; Id;#",
3898  1000,
3899  -10,
3900  490);
3903  new TH1D("Electrons_onetwo_Target",
3904  "Electrons_onetwo_Target; P_{t} in GeV/c^{2};#",
3905  30,
3906  0,
3907  3);
3909  Pions_onetwo_Target = new TH1D("Pions_onetwo_Target",
3910  "Pions_onetwo_Target; P_{t} in GeV/c^{2};#",
3911  30,
3912  0,
3913  3);
3916  new TH1D("PionElectron_onetwo_Target",
3917  "PionElectron_onetwo_Target; P_{t} in GeV/c^{2};#",
3918  30,
3919  0,
3920  3);
3923  new TH1D("elsePionOrElectron_onetwo_Target",
3924  "elsePionOrElectron_onetwo_Target; P_{t} in GeV/c^{2};#",
3925  30,
3926  0,
3927  3);
3930  new TH1D("DalitzAndConversion_Pt_onetwo_Target",
3931  "DalitzAndConversion_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
3932  30,
3933  0,
3934  3);
3937  new TH1D("DoubleConversion_Pt_onetwo_Target",
3938  "DoubleConversion_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
3939  30,
3940  0,
3941  3);
3944  new TH1D("fromFireball_P_onetwo_Target",
3945  "fromFireball_P_onetwo_Target; P_{t} in GeV/c^{2};#",
3946  120,
3947  0,
3948  6);
3951  new TH1D("twoFromTarget_P_onetwo_Target",
3952  "twoFromTarget_P_onetwo_Target; P_{t} in GeV/c^{2};#",
3953  120,
3954  0,
3955  6);
3958  new TH1D("fromCombinatorial_electron_P_onetwo_Target",
3959  "fromCombinatorial_electron_P_onetwo_Target; P_{t} in GeV/c^{2};#",
3960  120,
3961  0,
3962  6);
3963  fHistoList_dp_onetwo_Target.push_back(
3966  "fromCombinatorial_NOTelectron_P_onetwo_Target",
3967  "fromCombinatorial_NOTelectron_P_onetwo_Target; P_{t} in GeV/c^{2};#",
3968  120,
3969  0,
3970  6);
3971  fHistoList_dp_onetwo_Target.push_back(
3973 
3974 
3975  // Outside => all
3977  new TH1D("DP_InvMassReco_all_Outside",
3978  "DP_InvMassReco_all_Outside; invariant mass in GeV/c^{2};#",
3979  50,
3980  -0.005,
3981  0.045);
3984  new TH1D("DP_OpeningAngleReco_all_Outside",
3985  "DP_OpeningAngleReco_all_Outside; angle [deg];#",
3986  45,
3987  -0.5,
3988  4.);
3991  new TH1D("DP_Pdg_all_Outside", "DP_Pdg_all_Outside; Id;#", 1000, -10, 490);
3993  DP_P_reco_all_Outside = new TH1D("DP_P_reco_all_Outside",
3994  "DP_P_reco_all_Outside; P in GeV/c^{2};#",
3995  200,
3996  0,
3997  10);
4000  new TH1D("DP_Pt_reco_all_Outside",
4001  "DP_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#",
4002  30,
4003  0,
4004  3);
4007  new TH1D("Ph_fromTarget_Pt_reco_all_Outside",
4008  "Ph_fromTarget_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#",
4009  30,
4010  0,
4011  3);
4014  new TH1D("Ph_fromPions_Pt_reco_all_Outside",
4015  "Ph_fromPions_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#",
4016  30,
4017  0,
4018  3);
4021  new TH1D("Ph_fromEtas_Pt_reco_all_Outside",
4022  "Ph_fromEtas_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#",
4023  30,
4024  0,
4025  3);
4028  new TH1D("Ph_fromDalitz_Pt_reco_all_Outside",
4029  "Ph_fromDalitz_Pt_reco_all_Outside; P_{t} in GeV/c^{2};#",
4030  30,
4031  0,
4032  3);
4034 
4035  // Outside => zero
4037  new TH1D("DP_InvMassReco_zero_Outside",
4038  "DP_InvMassReco_zero_Outside; invariant mass in GeV/c^{2};#",
4039  50,
4040  -0.005,
4041  0.045);
4044  new TH1D("DP_OpeningAngleReco_zero_Outside",
4045  "DP_OpeningAngleReco_zero_Outside; angle [deg];#",
4046  45,
4047  -0.5,
4048  4.);
4050  DP_Pdg_zero_Outside = new TH1D(
4051  "DP_Pdg_zero_Outside", "DP_Pdg_zero_Outside; Id;#", 1000, -10, 490);
4053  DP_P_reco_zero_Outside = new TH1D("DP_P_reco_zero_Outside",
4054  "DP_P_reco_zero_Outside; P in GeV/c^{2};#",
4055  200,
4056  0,
4057  10);
4060  new TH1D("DP_Pt_reco_zero_Outside",
4061  "DP_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#",
4062  30,
4063  0,
4064  3);
4067  new TH1D("Ph_fromTarget_Pt_reco_zero_Outside",
4068  "Ph_fromTarget_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#",
4069  30,
4070  0,
4071  3);
4074  new TH1D("Ph_fromPions_Pt_reco_zero_Outside",
4075  "Ph_fromPions_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#",
4076  30,
4077  0,
4078  3);
4081  new TH1D("Ph_fromEtas_Pt_reco_zero_Outside",
4082  "Ph_fromEtas_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#",
4083  30,
4084  0,
4085  3);
4088  new TH1D("Ph_fromDalitz_Pt_reco_zero_Outside",
4089  "Ph_fromDalitz_Pt_reco_zero_Outside; P_{t} in GeV/c^{2};#",
4090  30,
4091  0,
4092  3);
4094 
4095  // Outside => one
4097  new TH1D("DP_InvMassReco_one_Outside",
4098  "DP_InvMassReco_one_Outside; invariant mass in GeV/c^{2};#",
4099  50,
4100  -0.005,
4101  0.045);
4104  new TH1D("DP_OpeningAngleReco_one_Outside",
4105  "DP_OpeningAngleReco_one_Outside; angle [deg];#",
4106  45,
4107  -0.5,
4108  4.);
4111  new TH1D("DP_Pdg_one_Outside", "DP_Pdg_one_Outside; Id;#", 1000, -10, 490);
4113  DP_P_reco_one_Outside = new TH1D("DP_P_reco_one_Outside",
4114  "DP_P_reco_one_Outside; P in GeV/c^{2};#",
4115  200,
4116  0,
4117  10);
4120  new TH1D("DP_Pt_reco_one_Outside",
4121  "DP_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#",
4122  30,
4123  0,
4124  3);
4127  new TH1D("Ph_fromTarget_Pt_reco_one_Outside",
4128  "Ph_fromTarget_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#",
4129  30,
4130  0,
4131  3);
4134  new TH1D("Ph_fromPions_Pt_reco_one_Outside",
4135  "Ph_fromPions_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#",
4136  30,
4137  0,
4138  3);
4141  new TH1D("Ph_fromEtas_Pt_reco_one_Outside",
4142  "Ph_fromEtas_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#",
4143  30,
4144  0,
4145  3);
4148  new TH1D("Ph_fromDalitz_Pt_reco_one_Outside",
4149  "Ph_fromDalitz_Pt_reco_one_Outside; P_{t} in GeV/c^{2};#",
4150  30,
4151  0,
4152  3);
4154 
4155  // Outside => two
4157  new TH1D("DP_InvMassReco_two_Outside",
4158  "DP_InvMassReco_two_Outside; invariant mass in GeV/c^{2};#",
4159  50,
4160  -0.005,
4161  0.045);
4164  new TH1D("DP_OpeningAngleReco_two_Outside",
4165  "DP_OpeningAngleReco_two_Outside; angle [deg];#",
4166  45,
4167  -0.5,
4168  4.);
4171  new TH1D("DP_Pdg_two_Outside", "DP_Pdg_two_Outside; Id;#", 1000, -10, 490);
4173  DP_P_reco_two_Outside = new TH1D("DP_P_reco_two_Outside",
4174  "DP_P_reco_two_Outside; P in GeV/c^{2};#",
4175  200,
4176  0,
4177  10);
4180  new TH1D("DP_Pt_reco_two_Outside",
4181  "DP_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4182  30,
4183  0,
4184  3);
4187  new TH1D("Ph_fromTarget_Pt_reco_two_Outside",
4188  "Ph_fromTarget_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4189  30,
4190  0,
4191  3);
4194  new TH1D("Ph_fromPions_Pt_reco_two_Outside",
4195  "Ph_fromPions_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4196  30,
4197  0,
4198  3);
4201  new TH1D("Ph_fromEtas_Pt_reco_two_Outside",
4202  "Ph_fromEtas_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4203  30,
4204  0,
4205  3);
4208  new TH1D("Ph_fromXi_Pt_reco_two_Outside",
4209  "Ph_fromXi_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4210  30,
4211  0,
4212  3);
4215  new TH1D("Ph_fromDalitz_Pt_reco_two_Outside",
4216  "Ph_fromDalitz_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4217  30,
4218  0,
4219  3);
4222  new TH1D("Ph_fromOther_Pt_reco_two_Outside",
4223  "Ph_fromOther_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4224  30,
4225  0,
4226  3);
4229  new TH1D("Ph_twoFromTarget_Pt_reco_two_Outside",
4230  "Ph_twoFromTarget_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4231  30,
4232  0,
4233  3);
4236  new TH1D("Ph_fromCombinatorial_Pt_reco_two_Outside",
4237  "Ph_fromCombinatorial_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4238  30,
4239  0,
4240  3);
4243  new TH1D("Ph_fromConversion_Pt_reco_two_Outside",
4244  "Ph_fromConversion_Pt_reco_two_Outside; P_{t} in GeV/c^{2};#",
4245  30,
4246  0,
4247  3);
4250  new TH1D("twoFromTarget_PDG_two_Outside",
4251  "twoFromTarget_PDG_two_Outside; Id;#",
4252  1000,
4253  -10,
4254  490);
4257  new TH1D("fromCombinatorial_PDG_two_Outside",
4258  "fromCombinatorial_PDG_two_Outside; Id;#",
4259  1000,
4260  -10,
4261  490);
4264  new TH1D("CombinatorialMotherPdg_two_Outside",
4265  "CombinatorialMotherPdg_two_Outside; Id;#",
4266  1000,
4267  -10,
4268  490);
4271  new TH1D("CombinatorialGrMotherPdg_two_Outside",
4272  "CombinatorialGrMotherPdg_two_Outside; Id;#",
4273  1000,
4274  -10,
4275  490);
4278  new TH1D("Electrons_two_Outside",
4279  "Electrons_two_Outside; P_{t} in GeV/c^{2};#",
4280  30,
4281  0,
4282  3);
4284  Pions_two_Outside = new TH1D(
4285  "Pions_two_Outside", "Pions_two_Outside; P_{t} in GeV/c^{2};#", 30, 0, 3);
4288  new TH1D("PionElectron_two_Outside",
4289  "PionElectron_two_Outside; P_{t} in GeV/c^{2};#",
4290  30,
4291  0,
4292  3);
4295  new TH1D("elsePionOrElectron_two_Outside",
4296  "elsePionOrElectron_two_Outside; P_{t} in GeV/c^{2};#",
4297  30,
4298  0,
4299  3);
4302  new TH1D("DalitzAndConversion_Pt_two_Outside",
4303  "DalitzAndConversion_Pt_two_Outside; P_{t} in GeV/c^{2};#",
4304  30,
4305  0,
4306  3);
4309  new TH1D("DoubleConversion_Pt_two_Outside",
4310  "DoubleConversion_Pt_two_Outside; P_{t} in GeV/c^{2};#",
4311  30,
4312  0,
4313  3);
4316  new TH1D("fromFireball_P_two_Outside",
4317  "fromFireball_P_two_Outside; P_{t} in GeV/c^{2};#",
4318  120,
4319  0,
4320  6);
4323  new TH1D("twoFromTarget_P_two_Outside",
4324  "twoFromTarget_P_two_Outside; P_{t} in GeV/c^{2};#",
4325  120,
4326  0,
4327  6);
4330  new TH1D("fromCombinatorial_electron_P_two_Outside",
4331  "fromCombinatorial_electron_P_two_Outside; P_{t} in GeV/c^{2};#",
4332  120,
4333  0,
4334  6);
4337  "fromCombinatorial_NOTelectron_P_two_Outside",
4338  "fromCombinatorial_NOTelectron_P_two_Outside; P_{t} in GeV/c^{2};#",
4339  120,
4340  0,
4341  6);
4342  fHistoList_dp_two_Outside.push_back(
4344 
4345  // Outside => onetwo
4347  new TH1D("DP_InvMassReco_onetwo_Outside",
4348  "DP_InvMassReco_onetwo_Outside; invariant mass in GeV/c^{2};#",
4349  50,
4350  -0.005,
4351  0.045);
4354  new TH1D("DP_OpeningAngleReco_onetwo_Outside",
4355  "DP_OpeningAngleReco_onetwo_Outside; angle [deg];#",
4356  45,
4357  -0.5,
4358  4.);
4360  DP_Pdg_onetwo_Outside = new TH1D(
4361  "DP_Pdg_onetwo_Outside", "DP_Pdg_onetwo_Outside; Id;#", 1000, -10, 490);
4364  new TH1D("DP_P_reco_onetwo_Outside",
4365  "DP_P_reco_onetwo_Outside; P in GeV/c^{2};#",
4366  200,
4367  0,
4368  10);
4371  new TH1D("DP_Pt_reco_onetwo_Outside",
4372  "DP_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4373  30,
4374  0,
4375  3);
4378  new TH1D("Ph_fromTarget_Pt_reco_onetwo_Outside",
4379  "Ph_fromTarget_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4380  30,
4381  0,
4382  3);
4385  new TH1D("Ph_fromPions_Pt_reco_onetwo_Outside",
4386  "Ph_fromPions_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4387  30,
4388  0,
4389  3);
4392  new TH1D("Ph_fromEtas_Pt_reco_onetwo_Outside",
4393  "Ph_fromEtas_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4394  30,
4395  0,
4396  3);
4399  new TH1D("Ph_fromXi_Pt_reco_onetwo_Outside",
4400  "Ph_fromXi_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4401  30,
4402  0,
4403  3);
4406  new TH1D("Ph_fromDalitz_Pt_reco_onetwo_Outside",
4407  "Ph_fromDalitz_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4408  30,
4409  0,
4410  3);
4413  new TH1D("Ph_fromOther_Pt_reco_onetwo_Outside",
4414  "Ph_fromOther_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4415  30,
4416  0,
4417  3);
4420  new TH1D("Ph_twoFromTarget_Pt_reco_onetwo_Outside",
4421  "Ph_twoFromTarget_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4422  30,
4423  0,
4424  3);
4425  fHistoList_dp_onetwo_Outside.push_back(
4428  "Ph_fromCombinatorial_Pt_reco_onetwo_Outside",
4429  "Ph_fromCombinatorial_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4430  30,
4431  0,
4432  3);
4433  fHistoList_dp_onetwo_Outside.push_back(
4436  new TH1D("Ph_fromConversion_Pt_reco_onetwo_Outside",
4437  "Ph_fromConversion_Pt_reco_onetwo_Outside; P_{t} in GeV/c^{2};#",
4438  30,
4439  0,
4440  3);
4441  fHistoList_dp_onetwo_Outside.push_back(
4444  new TH1D("twoFromTarget_PDG_onetwo_Outside",
4445  "twoFromTarget_PDG_onetwo_Outside; Id;#",
4446  1000,
4447  -10,
4448  490);
4451  new TH1D("fromCombinatorial_PDG_onetwo_Outside",
4452  "fromCombinatorial_PDG_onetwo_Outside; Id;#",
4453  1000,
4454  -10,
4455  490);
4458  new TH1D("CombinatorialMotherPdg_onetwo_Outside",
4459  "CombinatorialMotherPdg_onetwo_Outside; Id;#",
4460  1000,
4461  -10,
4462  490);
4465  new TH1D("CombinatorialGrMotherPdg_onetwo_Outside",
4466  "CombinatorialGrMotherPdg_onetwo_Outside; Id;#",
4467  1000,
4468  -10,
4469  490);
4470  fHistoList_dp_onetwo_Outside.push_back(
4473  new TH1D("Electrons_onetwo_Outside",
4474  "Electrons_onetwo_Outside; P_{t} in GeV/c^{2};#",
4475  30,
4476  0,
4477  3);
4479  Pions_onetwo_Outside = new TH1D("Pions_onetwo_Outside",
4480  "Pions_onetwo_Outside; P_{t} in GeV/c^{2};#",
4481  30,
4482  0,
4483  3);
4486  new TH1D("PionElectron_onetwo_Outside",
4487  "PionElectron_onetwo_Outside; P_{t} in GeV/c^{2};#",
4488  30,
4489  0,
4490  3);
4493  new TH1D("elsePionOrElectron_onetwo_Outside",
4494  "elsePionOrElectron_onetwo_Outside; P_{t} in GeV/c^{2};#",
4495  30,
4496  0,
4497  3);
4500  new TH1D("DalitzAndConversion_Pt_onetwo_Outside",
4501  "DalitzAndConversion_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
4502  30,
4503  0,
4504  3);
4507  new TH1D("DoubleConversion_Pt_onetwo_Outside",
4508  "DoubleConversion_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
4509  30,
4510  0,
4511  3);
4514  new TH1D("fromFireball_P_onetwo_Outside",
4515  "fromFireball_P_onetwo_Outside; P_{t} in GeV/c^{2};#",
4516  120,
4517  0,
4518  6);
4521  new TH1D("twoFromTarget_P_onetwo_Outside",
4522  "twoFromTarget_P_onetwo_Outside; P_{t} in GeV/c^{2};#",
4523  120,
4524  0,
4525  6);
4528  "fromCombinatorial_electron_P_onetwo_Outside",
4529  "fromCombinatorial_electron_P_onetwo_Outside; P_{t} in GeV/c^{2};#",
4530  120,
4531  0,
4532  6);
4533  fHistoList_dp_onetwo_Outside.push_back(
4536  "fromCombinatorial_NOTelectron_P_onetwo_Outside",
4537  "fromCombinatorial_NOTelectron_P_onetwo_Outside; P_{t} in GeV/c^{2};#",
4538  120,
4539  0,
4540  6);
4541  fHistoList_dp_onetwo_Outside.push_back(
4543 
4544 
4545  // Both => all
4547  new TH1D("DP_InvMassReco_all_Both",
4548  "DP_InvMassReco_all_Both; invariant mass in GeV/c^{2};#",
4549  50,
4550  -0.005,
4551  0.045);
4554  new TH1D("DP_OpeningAngleReco_all_Both",
4555  "DP_OpeningAngleReco_all_Both; angle [deg];#",
4556  45,
4557  -0.5,
4558  4.);
4560  DP_Pdg_all_Both =
4561  new TH1D("DP_Pdg_all_Both", "DP_Pdg_all_Both; Id;#", 1000, -10, 490);
4563  DP_P_reco_all_Both = new TH1D(
4564  "DP_P_reco_all_Both", "DP_P_reco_all_Both; P in GeV/c^{2};#", 200, 0, 10);
4566  DP_Pt_reco_all_Both = new TH1D("DP_Pt_reco_all_Both",
4567  "DP_Pt_reco_all_Both; P_{t} in GeV/c^{2};#",
4568  30,
4569  0,
4570  3);
4573  new TH1D("Ph_fromTarget_Pt_reco_all_Both",
4574  "Ph_fromTarget_Pt_reco_all_Both; P_{t} in GeV/c^{2};#",
4575  30,
4576  0,
4577  3);
4580  new TH1D("Ph_fromPions_Pt_reco_all_Both",
4581  "Ph_fromPions_Pt_reco_all_Both; P_{t} in GeV/c^{2};#",
4582  30,
4583  0,
4584  3);
4587  new TH1D("Ph_fromEtas_Pt_reco_all_Both",
4588  "Ph_fromEtas_Pt_reco_all_Both; P_{t} in GeV/c^{2};#",
4589  30,
4590  0,
4591  3);
4594  new TH1D("Ph_fromDalitz_Pt_reco_all_Both",
4595  "Ph_fromDalitz_Pt_reco_all_Both; P_{t} in GeV/c^{2};#",
4596  30,
4597  0,
4598  3);
4601  new TH2D("Ph_pt_vs_rap_est_all_Both",
4602  "Ph_pt_vs_rap_est_all_Both; rapidity y; p_{t} in GeV/c ",
4603  10,
4604  0.,
4605  4.,
4606  40,
4607  0.,
4608  4.);
4610 
4611  // Both => zero
4613  new TH1D("DP_InvMassReco_zero_Both",
4614  "DP_InvMassReco_zero_Both; invariant mass in GeV/c^{2};#",
4615  50,
4616  -0.005,
4617  0.045);
4620  new TH1D("DP_OpeningAngleReco_zero_Both",
4621  "DP_OpeningAngleReco_zero_Both; angle [deg];#",
4622  45,
4623  -0.5,
4624  4.);
4627  new TH1D("DP_Pdg_zero_Both", "DP_Pdg_zero_Both; Id;#", 1000, -10, 490);
4629  DP_P_reco_zero_Both = new TH1D(
4630  "DP_P_reco_zero_Both", "DP_P_reco_zero_Both; P in GeV/c^{2};#", 200, 0, 10);
4632  DP_Pt_reco_zero_Both = new TH1D("DP_Pt_reco_zero_Both",
4633  "DP_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#",
4634  30,
4635  0,
4636  3);
4639  new TH1D("Ph_fromTarget_Pt_reco_zero_Both",
4640  "Ph_fromTarget_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#",
4641  30,
4642  0,
4643  3);
4646  new TH1D("Ph_fromPions_Pt_reco_zero_Both",
4647  "Ph_fromPions_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#",
4648  30,
4649  0,
4650  3);
4653  new TH1D("Ph_fromEtas_Pt_reco_zero_Both",
4654  "Ph_fromEtas_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#",
4655  30,
4656  0,
4657  3);
4660  new TH1D("Ph_fromDalitz_Pt_reco_zero_Both",
4661  "Ph_fromDalitz_Pt_reco_zero_Both; P_{t} in GeV/c^{2};#",
4662  30,
4663  0,
4664  3);
4667  new TH2D("Ph_pt_vs_rap_est_zero_Both",
4668  "Ph_pt_vs_rap_est_zero_Both; rapidity y; p_{t} in GeV/c ",
4669  10,
4670  0.,
4671  4.,
4672  40,
4673  0.,
4674  4.);
4676 
4677  // Both => one
4679  new TH1D("DP_InvMassReco_one_Both",
4680  "DP_InvMassReco_one_Both; invariant mass in GeV/c^{2};#",
4681  50,
4682  -0.005,
4683  0.045);
4686  new TH1D("DP_OpeningAngleReco_one_Both",
4687  "DP_OpeningAngleReco_one_Both; angle [deg];#",
4688  45,
4689  -0.5,
4690  4.);
4692  DP_Pdg_one_Both =
4693  new TH1D("DP_Pdg_one_Both", "DP_Pdg_one_Both; Id;#", 1000, -10, 490);
4695  DP_P_reco_one_Both = new TH1D(
4696  "DP_P_reco_one_Both", "DP_P_reco_one_Both; P in GeV/c^{2};#", 200, 0, 10);
4698  DP_Pt_reco_one_Both = new TH1D("DP_Pt_reco_one_Both",
4699  "DP_Pt_reco_one_Both; P_{t} in GeV/c^{2};#",
4700  30,
4701  0,
4702  3);
4705  new TH1D("Ph_fromTarget_Pt_reco_one_Both",
4706  "Ph_fromTarget_Pt_reco_one_Both; P_{t} in GeV/c^{2};#",
4707  30,
4708  0,
4709  3);
4712  new TH1D("Ph_fromPions_Pt_reco_one_Both",
4713  "Ph_fromPions_Pt_reco_one_Both; P_{t} in GeV/c^{2};#",
4714  30,
4715  0,
4716  3);
4719  new TH1D("Ph_fromEtas_Pt_reco_one_Both",
4720  "Ph_fromEtas_Pt_reco_one_Both; P_{t} in GeV/c^{2};#",
4721  30,
4722  0,
4723  3);
4726  new TH1D("Ph_fromDalitz_Pt_reco_one_Both",
4727  "Ph_fromDalitz_Pt_reco_one_Both; P_{t} in GeV/c^{2};#",
4728  30,
4729  0,
4730  3);
4733  new TH2D("Ph_pt_vs_rap_est_one_Both",
4734  "Ph_pt_vs_rap_est_one_Both; rapidity y; p_{t} in GeV/c ",
4735  10,
4736  0.,
4737  4.,
4738  40,
4739  0.,
4740  4.);
4742 
4743  // Both => two
4745  new TH1D("DP_InvMassReco_two_Both",
4746  "DP_InvMassReco_two_Both; invariant mass in GeV/c^{2};#",
4747  50,
4748  -0.005,
4749  0.045);
4752  new TH1D("DP_OpeningAngleReco_two_Both",
4753  "DP_OpeningAngleReco_two_Both; angle [deg];#",
4754  45,
4755  -0.5,
4756  4.);
4758  DP_Pdg_two_Both =
4759  new TH1D("DP_Pdg_two_Both", "DP_Pdg_two_Both; Id;#", 1000, -10, 490);
4761  DP_P_reco_two_Both = new TH1D(
4762  "DP_P_reco_two_Both", "DP_P_reco_two_Both; P in GeV/c^{2};#", 200, 0, 10);
4764  DP_Pt_reco_two_Both = new TH1D("DP_Pt_reco_two_Both",
4765  "DP_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4766  30,
4767  0,
4768  3);
4771  new TH1D("Ph_fromTarget_Pt_reco_two_Both",
4772  "Ph_fromTarget_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4773  30,
4774  0,
4775  3);
4778  new TH1D("Ph_fromPions_Pt_reco_two_Both",
4779  "Ph_fromPions_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4780  30,
4781  0,
4782  3);
4785  new TH1D("Ph_fromEtas_Pt_reco_two_Both",
4786  "Ph_fromEtas_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4787  30,
4788  0,
4789  3);
4792  new TH1D("Ph_fromDalitz_Pt_reco_two_Both",
4793  "Ph_fromDalitz_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4794  30,
4795  0,
4796  3);
4799  new TH1D("Ph_twoFromTarget_Pt_reco_two_Both",
4800  "Ph_twoFromTarget_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4801  30,
4802  0,
4803  3);
4806  new TH1D("Ph_fromCombinatorial_Pt_reco_two_Both",
4807  "Ph_fromCombinatorial_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4808  30,
4809  0,
4810  3);
4813  new TH1D("Ph_fromConversion_Pt_reco_two_Both",
4814  "Ph_fromConversion_Pt_reco_two_Both; P_{t} in GeV/c^{2};#",
4815  30,
4816  0,
4817  3);
4820  new TH2D("Ph_pt_vs_rap_est_two_Both",
4821  "Ph_pt_vs_rap_est_two_Both; rapidity y; p_{t} in GeV/c ",
4822  10,
4823  0.,
4824  4.,
4825  40,
4826  0.,
4827  4.);
4829 
4830  // Both => onetwo
4832  new TH1D("DP_InvMassReco_onetwo_Both",
4833  "DP_InvMassReco_onetwo_Both; invariant mass in GeV/c^{2};#",
4834  50,
4835  -0.005,
4836  0.045);
4839  new TH1D("DP_OpeningAngleReco_onetwo_Both",
4840  "DP_OpeningAngleReco_onetwo_Both; angle [deg];#",
4841  45,
4842  -0.5,
4843  4.);
4846  new TH1D("DP_Pdg_onetwo_Both", "DP_Pdg_onetwo_Both; Id;#", 1000, -10, 490);
4848  DP_P_reco_onetwo_Both = new TH1D("DP_P_reco_onetwo_Both",
4849  "DP_P_reco_onetwo_Both; P in GeV/c^{2};#",
4850  200,
4851  0,
4852  10);
4855  new TH1D("DP_Pt_reco_onetwo_Both",
4856  "DP_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4857  30,
4858  0,
4859  3);
4862  new TH1D("Ph_fromTarget_Pt_reco_onetwo_Both",
4863  "Ph_fromTarget_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4864  30,
4865  0,
4866  3);
4869  new TH1D("Ph_fromPions_Pt_reco_onetwo_Both",
4870  "Ph_fromPions_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4871  30,
4872  0,
4873  3);
4876  new TH1D("Ph_fromEtas_Pt_reco_onetwo_Both",
4877  "Ph_fromEtas_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4878  30,
4879  0,
4880  3);
4883  new TH1D("Ph_fromDalitz_Pt_reco_onetwo_Both",
4884  "Ph_fromDalitz_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4885  30,
4886  0,
4887  3);
4890  new TH1D("Ph_twoFromTarget_Pt_reco_onetwo_Both",
4891  "Ph_twoFromTarget_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4892  30,
4893  0,
4894  3);
4897  new TH1D("Ph_fromCombinatorial_Pt_reco_onetwo_Both",
4898  "Ph_fromCombinatorial_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4899  30,
4900  0,
4901  3);
4904  new TH1D("Ph_fromConversion_Pt_reco_onetwo_Both",
4905  "Ph_fromConversion_Pt_reco_onetwo_Both; P_{t} in GeV/c^{2};#",
4906  30,
4907  0,
4908  3);
4911  new TH2D("Ph_pt_vs_rap_est_onetwo_Both",
4912  "Ph_pt_vs_rap_est_onetwo_Both; rapidity y; p_{t} in GeV/c ",
4913  10,
4914  0.,
4915  4.,
4916  40,
4917  0.,
4918  4.);
4920 
4921 
4922  DP_EMT_Pt_all_Target = new TH1D("DP_EMT_Pt_all_Target",
4923  "DP_EMT_Pt_all_Target; P_{t} in GeV/c^{2};#",
4924  30,
4925  0,
4926  3);
4929  new TH1D("DP_EMT_Pt_zero_Target",
4930  "DP_EMT_Pt_zero_Target; P_{t} in GeV/c^{2};#",
4931  30,
4932  0,
4933  3);
4935  DP_EMT_Pt_one_Target = new TH1D("DP_EMT_Pt_one_Target",
4936  "DP_EMT_Pt_one_Target; P_{t} in GeV/c^{2};#",
4937  30,
4938  0,
4939  3);
4941  DP_EMT_Pt_two_Target = new TH1D("DP_EMT_Pt_two_Target",
4942  "DP_EMT_Pt_two_Target; P_{t} in GeV/c^{2};#",
4943  30,
4944  0,
4945  3);
4948  new TH1D("DP_EMT_Pt_onetwo_Target",
4949  "DP_EMT_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
4950  30,
4951  0,
4952  3);
4954 
4955 
4957  new TH1D("DP_EMT_Pt_all_Outside",
4958  "DP_EMT_Pt_all_Outside; P_{t} in GeV/c^{2};#",
4959  30,
4960  0,
4961  3);
4964  new TH1D("DP_EMT_Pt_zero_Outside",
4965  "DP_EMT_Pt_zero_Outside; P_{t} in GeV/c^{2};#",
4966  30,
4967  0,
4968  3);
4971  new TH1D("DP_EMT_Pt_one_Outside",
4972  "DP_EMT_Pt_one_Outside; P_{t} in GeV/c^{2};#",
4973  30,
4974  0,
4975  3);
4978  new TH1D("DP_EMT_Pt_two_Outside",
4979  "DP_EMT_Pt_two_Outside; P_{t} in GeV/c^{2};#",
4980  30,
4981  0,
4982  3);
4985  new TH1D("DP_EMT_Pt_onetwo_Outside",
4986  "DP_EMT_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
4987  30,
4988  0,
4989  3);
4991 
4992 
4993  DP_EMT_Pt_all_Both = new TH1D(
4994  "DP_EMT_Pt_all_Both", "DP_EMT_Pt_all_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
4996  DP_EMT_Pt_zero_Both = new TH1D("DP_EMT_Pt_zero_Both",
4997  "DP_EMT_Pt_zero_Both; P_{t} in GeV/c^{2};#",
4998  30,
4999  0,
5000  3);
5002  DP_EMT_Pt_one_Both = new TH1D(
5003  "DP_EMT_Pt_one_Both", "DP_EMT_Pt_one_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
5005  DP_EMT_Pt_two_Both = new TH1D(
5006  "DP_EMT_Pt_two_Both", "DP_EMT_Pt_two_Both; P_{t} in GeV/c^{2};#", 30, 0, 3);
5009  new TH1D("DP_EMT_Pt_onetwo_Both",
5010  "DP_EMT_Pt_onetwo_Both; P_{t} in GeV/c^{2};#",
5011  30,
5012  0,
5013  3);
5015 
5016 
5017  // DP_LK_EMT Target
5019  new TH1D("DP_LK_EMT_neg_Pt_all_Target",
5020  "DP_LK_EMT_neg_Pt_all_Target; P_{t} in GeV/c^{2};#",
5021  30,
5022  0,
5023  3);
5026  new TH1D("DP_LK_EMT_neg_Pt_zero_Target",
5027  "DP_LK_EMT_neg_Pt_zero_Target; P_{t} in GeV/c^{2};#",
5028  30,
5029  0,
5030  3);
5033  new TH1D("DP_LK_EMT_neg_Pt_one_Target",
5034  "DP_LK_EMT_neg_Pt_one_Target; P_{t} in GeV/c^{2};#",
5035  30,
5036  0,
5037  3);
5040  new TH1D("DP_LK_EMT_neg_Pt_two_Target",
5041  "DP_LK_EMT_neg_Pt_two_Target; P_{t} in GeV/c^{2};#",
5042  30,
5043  0,
5044  3);
5047  new TH1D("DP_LK_EMT_neg_Pt_onetwo_Target",
5048  "DP_LK_EMT_neg_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
5049  30,
5050  0,
5051  3);
5053 
5055  new TH1D("DP_LK_EMT_pos_Pt_all_Target",
5056  "DP_LK_EMT_pos_Pt_all_Target; P_{t} in GeV/c^{2};#",
5057  30,
5058  0,
5059  3);
5062  new TH1D("DP_LK_EMT_pos_Pt_zero_Target",
5063  "DP_LK_EMT_pos_Pt_zero_Target; P_{t} in GeV/c^{2};#",
5064  30,
5065  0,
5066  3);
5069  new TH1D("DP_LK_EMT_pos_Pt_one_Target",
5070  "DP_LK_EMT_pos_Pt_one_Target; P_{t} in GeV/c^{2};#",
5071  30,
5072  0,
5073  3);
5076  new TH1D("DP_LK_EMT_pos_Pt_two_Target",
5077  "DP_LK_EMT_pos_Pt_two_Target; P_{t} in GeV/c^{2};#",
5078  30,
5079  0,
5080  3);
5083  new TH1D("DP_LK_EMT_pos_Pt_onetwo_Target",
5084  "DP_LK_EMT_pos_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
5085  30,
5086  0,
5087  3);
5089 
5091  new TH1D("DP_LK_EMT_Pt_all_Target",
5092  "DP_LK_EMT_Pt_all_Target; P_{t} in GeV/c^{2};#",
5093  30,
5094  0,
5095  3);
5098  new TH1D("DP_LK_EMT_Pt_zero_Target",
5099  "DP_LK_EMT_Pt_zero_Target; P_{t} in GeV/c^{2};#",
5100  30,
5101  0,
5102  3);
5105  new TH1D("DP_LK_EMT_Pt_one_Target",
5106  "DP_LK_EMT_Pt_one_Target; P_{t} in GeV/c^{2};#",
5107  30,
5108  0,
5109  3);
5112  new TH1D("DP_LK_EMT_Pt_two_Target",
5113  "DP_LK_EMT_Pt_two_Target; P_{t} in GeV/c^{2};#",
5114  30,
5115  0,
5116  3);
5119  new TH1D("DP_LK_EMT_Pt_onetwo_Target",
5120  "DP_LK_EMT_Pt_onetwo_Target; P_{t} in GeV/c^{2};#",
5121  30,
5122  0,
5123  3);
5125 
5126 
5127  // DP_LK_EMT Outside
5129  new TH1D("DP_LK_EMT_neg_Pt_all_Outside",
5130  "DP_LK_EMT_neg_Pt_all_Outside; P_{t} in GeV/c^{2};#",
5131  30,
5132  0,
5133  3);
5136  new TH1D("DP_LK_EMT_neg_Pt_zero_Outside",
5137  "DP_LK_EMT_neg_Pt_zero_Outside; P_{t} in GeV/c^{2};#",
5138  30,
5139  0,
5140  3);
5143  new TH1D("DP_LK_EMT_neg_Pt_one_Outside",
5144  "DP_LK_EMT_neg_Pt_one_Outside; P_{t} in GeV/c^{2};#",
5145  30,
5146  0,
5147  3);
5150  new TH1D("DP_LK_EMT_neg_Pt_two_Outside",
5151  "DP_LK_EMT_neg_Pt_two_Outside; P_{t} in GeV/c^{2};#",
5152  30,
5153  0,
5154  3);
5157  new TH1D("DP_LK_EMT_neg_Pt_onetwo_Outside",
5158  "DP_LK_EMT_neg_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
5159  30,
5160  0,
5161  3);
5163 
5165  new TH1D("DP_LK_EMT_pos_Pt_all_Outside",
5166  "DP_LK_EMT_pos_Pt_all_Outside; P_{t} in GeV/c^{2};#",
5167  30,
5168  0,
5169  3);
5172  new TH1D("DP_LK_EMT_pos_Pt_zero_Outside",
5173  "DP_LK_EMT_pos_Pt_zero_Outside; P_{t} in GeV/c^{2};#",
5174  30,
5175  0,
5176  3);
5179  new TH1D("DP_LK_EMT_pos_Pt_one_Outside",
5180  "DP_LK_EMT_pos_Pt_one_Outside; P_{t} in GeV/c^{2};#",
5181  30,
5182  0,
5183  3);
5186  new TH1D("DP_LK_EMT_pos_Pt_two_Outside",
5187  "DP_LK_EMT_pos_Pt_two_Outside; P_{t} in GeV/c^{2};#",
5188  30,
5189  0,
5190  3);
5193  new TH1D("DP_LK_EMT_pos_Pt_onetwo_Outside",
5194  "DP_LK_EMT_pos_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
5195  30,
5196  0,
5197  3);
5199 
5201  new TH1D("DP_LK_EMT_Pt_all_Outside",
5202  "DP_LK_EMT_Pt_all_Outside; P_{t} in GeV/c^{2};#",
5203  30,
5204  0,
5205  3);
5208  new TH1D("DP_LK_EMT_Pt_zero_Outside",
5209  "DP_LK_EMT_Pt_zero_Outside; P_{t} in GeV/c^{2};#",
5210  30,
5211  0,
5212  3);
5215  new TH1D("DP_LK_EMT_Pt_one_Outside",
5216  "DP_LK_EMT_Pt_one_Outside; P_{t} in GeV/c^{2};#",
5217  30,
5218  0,
5219  3);
5222  new TH1D("DP_LK_EMT_Pt_two_Outside",
5223  "DP_LK_EMT_Pt_two_Outside; P_{t} in GeV/c^{2};#",
5224  30,
5225  0,
5226  3);
5229  new TH1D("DP_LK_EMT_Pt_onetwo_Outside",
5230  "DP_LK_EMT_Pt_onetwo_Outside; P_{t} in GeV/c^{2};#",
5231  30,
5232  0,
5233  3);
5235 }
CbmKresConversionPhotons::VRings_plus_Outside
std::vector< int > VRings_plus_Outside
Definition: CbmKresConversionPhotons.h:146
CbmKresConversionPhotons::fHistoList_dp_zero_Target
vector< TH1 * > fHistoList_dp_zero_Target
Definition: CbmKresConversionPhotons.h:352
CbmKresConversionPhotons::fRichProjections
TClonesArray * fRichProjections
Definition: CbmKresConversionPhotons.h:125
CbmKresConversionPhotons::DP_AnnTruePairs
TH1D * DP_AnnTruePairs
Definition: CbmKresConversionPhotons.h:292
CbmHit::GetZ
Double_t GetZ() const
Definition: CbmHit.h:70
CbmKresConversionPhotons::DP_InvMassReco_one_Both
TH1D * DP_InvMassReco_one_Both
Definition: CbmKresConversionPhotons.h:568
CbmKresConversionPhotons::DP_OpeningAngleReco_one_Target
TH1D * DP_OpeningAngleReco_one_Target
Definition: CbmKresConversionPhotons.h:366
CbmMCTrack::GetMotherId
Int_t GetMotherId() const
Definition: CbmMCTrack.h:71
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_two_Both
TH1D * Ph_fromCombinatorial_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:591
CbmKresConversionPhotons::Electrons_onetwo_Outside
TH1D * Electrons_onetwo_Outside
Definition: CbmKresConversionPhotons.h:528
CbmKresConversionPhotons::Gammas_stsIndex_two_Both
std::vector< std::vector< int > > Gammas_stsIndex_two_Both
Definition: CbmKresConversionPhotons.h:267
CbmMatch::GetMatchedLink
const CbmLink & GetMatchedLink() const
Definition: CbmMatch.h:37
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_two_Outside
TH1D * Ph_fromConversion_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:492
CbmKresConversionPhotons::fHistoList_dp_two_Both
vector< TH1 * > fHistoList_dp_two_Both
Definition: CbmKresConversionPhotons.h:580
CbmKresConversionPhotons::Pions_onetwo_Outside
TH1D * Pions_onetwo_Outside
Definition: CbmKresConversionPhotons.h:529
CbmKresConversionPhotons::DP_Pt_reco_one_Outside
TH1D * DP_Pt_reco_one_Outside
Definition: CbmKresConversionPhotons.h:471
CbmKresConversionPhotons::DP_candidates_InvMass_vs_OA_Outside
TH2D * DP_candidates_InvMass_vs_OA_Outside
Definition: CbmKresConversionPhotons.h:327
CbmKresConversionPhotons::DP_Pdg_onetwo_Target
TH1D * DP_Pdg_onetwo_Target
Definition: CbmKresConversionPhotons.h:412
CbmKresConversionPhotons::Gammas_stsIndex_one_Target
std::vector< std::vector< int > > Gammas_stsIndex_one_Target
Definition: CbmKresConversionPhotons.h:226
CbmKresConversionPhotons::Init
void Init()
Definition: CbmKresConversionPhotons.cxx:491
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_one_Outside
TH1D * Ph_fromTarget_Pt_reco_one_Outside
Definition: CbmKresConversionPhotons.h:472
CbmKresConversionPhotons::DP_LK_EMT_Pt_onetwo_Outside
TH1D * DP_LK_EMT_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:670
CbmKresConversionPhotons::DP_EMT_NofRings_minus_Outside
std::vector< int > DP_EMT_NofRings_minus_Outside
Definition: CbmKresConversionPhotons.h:207
CbmKresConversionPhotons::DP_InvMassReco_two_Both
TH1D * DP_InvMassReco_two_Both
Definition: CbmKresConversionPhotons.h:581
CbmKresConversionPhotons::DP_EMT_Event_plus_Outside
std::vector< int > DP_EMT_Event_plus_Outside
Definition: CbmKresConversionPhotons.h:210
CbmKresConversionPhotons::fHistoList_dp_cuts_Target
vector< TH1 * > fHistoList_dp_cuts_Target
Definition: CbmKresConversionPhotons.h:313
CbmKresConversionPhotons::VStsTrack_minus_Outside
vector< CbmStsTrack * > VStsTrack_minus_Outside
Definition: CbmKresConversionPhotons.h:138
CbmKresConversionPhotons::DP_LK_EMT_NofRings_plus_Target
std::vector< int > DP_LK_EMT_NofRings_plus_Target
Definition: CbmKresConversionPhotons.h:178
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_one_Both
TH1D * Ph_fromPions_Pt_reco_one_Both
Definition: CbmKresConversionPhotons.h:574
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_one_Both
TH1D * Ph_fromDalitz_Pt_reco_one_Both
Definition: CbmKresConversionPhotons.h:576
CbmKresConversionPhotons::VMomenta_minus_Target
vector< TVector3 > VMomenta_minus_Target
Definition: CbmKresConversionPhotons.h:154
CbmKresConversionPhotons::fAnnPhotonsSelection
CbmKresSelectAnnPhotons * fAnnPhotonsSelection
Definition: CbmKresConversionPhotons.h:117
CbmKresConversionPhotons::DP_EMT_Pt_all_Target
TH1D * DP_EMT_Pt_all_Target
Definition: CbmKresConversionPhotons.h:613
CbmKresConversionPhotons::DP_Pdg_one_Both
TH1D * DP_Pdg_one_Both
Definition: CbmKresConversionPhotons.h:570
CbmKresConversionPhotons::DP_LK_EMT_STS_plus_index_Outside
std::vector< int > DP_LK_EMT_STS_plus_index_Outside
Definition: CbmKresConversionPhotons.h:189
CbmKresConversionPhotons::DP_EMT_Pt_all_Outside
TH1D * DP_EMT_Pt_all_Outside
Definition: CbmKresConversionPhotons.h:620
CbmKresConversionPhotons::fromCombinatorial_NOTelectron_P_two_Target
TH1D * fromCombinatorial_NOTelectron_P_two_Target
Definition: CbmKresConversionPhotons.h:405
CbmKresConversionPhotons::DP_EMT_Event_plus_Target
std::vector< int > DP_EMT_Event_plus_Target
Definition: CbmKresConversionPhotons.h:198
CbmKresConversionPhotons::fromCombinatorial_electron_P_two_Target
TH1D * fromCombinatorial_electron_P_two_Target
Definition: CbmKresConversionPhotons.h:404
CbmKresConversionPhotons::DP_candidates_InvMass_vs_OA_Target
TH2D * DP_candidates_InvMass_vs_OA_Target
Definition: CbmKresConversionPhotons.h:314
CbmKresConversionPhotons::PionElectron_two_Outside
TH1D * PionElectron_two_Outside
Definition: CbmKresConversionPhotons.h:499
CbmKresConversionPhotons::fMcTracks
TClonesArray * fMcTracks
Definition: CbmKresConversionPhotons.h:121
CbmKresConversionPhotons::~CbmKresConversionPhotons
virtual ~CbmKresConversionPhotons()
Definition: CbmKresConversionPhotons.cxx:489
CbmPixelHit::Position
void Position(TVector3 &pos) const
Copies hit position to pos.
Definition: CbmPixelHit.cxx:64
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_two_Target
TH1D * Ph_fromDalitz_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:385
CbmKresConversionPhotons::Ph_pt_vs_rap_est_all_Both
TH2D * Ph_pt_vs_rap_est_all_Both
Definition: CbmKresConversionPhotons.h:551
CbmKresConversionPhotons::Ph_fromXi_Pt_reco_two_Outside
TH1D * Ph_fromXi_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:488
CbmKresConversionPhotons::fHistoList_dp_onetwo_Target
vector< TH1 * > fHistoList_dp_onetwo_Target
Definition: CbmKresConversionPhotons.h:409
CbmKresConversionPhotons::GrandMother_PDG_Target
TH1D * GrandMother_PDG_Target
Definition: CbmKresConversionPhotons.h:281
CbmKresConversionPhotons::Ph_fromXi_Pt_reco_onetwo_Target
TH1D * Ph_fromXi_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:419
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_zero_Outside
TH1D * Ph_fromPions_Pt_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:461
CbmKresConversionPhotons::VRichRing_plus_Outside
vector< CbmRichRing * > VRichRing_plus_Outside
Definition: CbmKresConversionPhotons.h:148
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_two_Target
TH1D * Ph_fromCombinatorial_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:389
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_two_Outside
TH1D * Ph_fromEtas_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:486
CbmKresConversionPhotons::DP_OpeningAngleReco_onetwo_Target
TH1D * DP_OpeningAngleReco_onetwo_Target
Definition: CbmKresConversionPhotons.h:411
CbmKresConversionPhotons::DP_Pt_reco_all_Both
TH1D * DP_Pt_reco_all_Both
Definition: CbmKresConversionPhotons.h:546
CbmPixelHit::GetX
Double_t GetX() const
Definition: CbmPixelHit.h:83
CbmKresConversionPhotons::DP_Pt_reco_onetwo_Target
TH1D * DP_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:414
CbmMatch::GetNofLinks
Int_t GetNofLinks() const
Definition: CbmMatch.h:38
CbmKresConversionPhotons::DP_Pdg_all_Both
TH1D * DP_Pdg_all_Both
Definition: CbmKresConversionPhotons.h:544
CbmKresConversionPhotons::DP_candidates_PlaneAngles_last_Target
TH1D * DP_candidates_PlaneAngles_last_Target
Definition: CbmKresConversionPhotons.h:320
CbmKresConversionPhotons::fHistoList_dp_Target
vector< TH1 * > fHistoList_dp_Target
Definition: CbmKresConversionPhotons.h:279
CbmKresConversionPhotons::Ph_fromXi_Pt_reco_two_Target
TH1D * Ph_fromXi_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:386
CbmKFParticleInterface::SetKFParticleFromStsTrack
static void SetKFParticleFromStsTrack(CbmStsTrack *track, KFParticle *particle, Int_t pdg=211, Bool_t firstPoint=kTRUE)
Definition: CbmKFParticleInterface.cxx:28
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_one_Target
TH1D * Ph_fromTarget_Pt_reco_one_Target
Definition: CbmKresConversionPhotons.h:370
CbmKresConversionPhotons::VRichRing_minus_Target
vector< CbmRichRing * > VRichRing_minus_Target
Definition: CbmKresConversionPhotons.h:157
CbmKresTrainAnnDirectPhotons::Exec
void Exec(int event, int IdForANN, double InvariantMass, double OpeningAngle, double PlaneAngle_last, double ZPos, TVector3 Momentum1, TVector3 Momentum2)
Definition: CbmKresTrainAnnDirectPhotons.cxx:67
CbmKresConversionPhotons::DP_PlaneAngles_last_Both
TH1D * DP_PlaneAngles_last_Both
Definition: CbmKresConversionPhotons.h:308
CbmRichRingFitterEllipseTau
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
Definition: CbmRichRingFitterEllipseTau.h:35
CbmKresConversionPhotons::CalculatePlaneAngle_last_fromHits
double CalculatePlaneAngle_last_fromHits(std::vector< TVector3 > track_1, std::vector< TVector3 > track_2)
Definition: CbmKresConversionPhotons.cxx:2330
CbmKresConversionPhotons::fromFireball_P_two_Target
TH1D * fromFireball_P_two_Target
Definition: CbmKresConversionPhotons.h:402
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_onetwo_Target
TH1D * DP_LK_EMT_neg_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:638
CbmKresConversionPhotons::fromFireball_P_onetwo_Target
TH1D * fromFireball_P_onetwo_Target
Definition: CbmKresConversionPhotons.h:435
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_onetwo_Target
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:422
CbmPixelHit::GetY
Double_t GetY() const
Definition: CbmPixelHit.h:84
CbmKresConversionPhotons::Gammas_MC_one_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Both
Definition: CbmKresConversionPhotons.h:272
CbmKresConversionPhotons::Gammas_one_Outside
std::vector< std::vector< TVector3 > > Gammas_one_Outside
Definition: CbmKresConversionPhotons.h:240
CbmKresConversionPhotons::DP_AnnFalsePairs
TH1D * DP_AnnFalsePairs
Definition: CbmKresConversionPhotons.h:293
CbmKresConversionPhotons::Gammas_all_Outside
std::vector< std::vector< TVector3 > > Gammas_all_Outside
Definition: CbmKresConversionPhotons.h:238
CbmKresSelectAnnPhotons
Definition: CbmKresSelectAnnPhotons.h:10
CbmKresConversionPhotons::AnnTrainPhotons
Int_t AnnTrainPhotons
Definition: CbmKresConversionPhotons.h:116
L1Field.h
CbmKresConversionPhotons::DP_EMT_Hits_plus_Outside
std::vector< std::vector< TVector3 > > DP_EMT_Hits_plus_Outside
Definition: CbmKresConversionPhotons.h:214
CbmKresConversionPhotons::CalculatePlaneAngle_last
double CalculatePlaneAngle_last(CbmStsTrack *Sts_1, CbmStsTrack *Sts_2)
Definition: CbmKresConversionPhotons.cxx:2387
CbmKresConversionPhotons::fromFireball_P_onetwo_Outside
TH1D * fromFireball_P_onetwo_Outside
Definition: CbmKresConversionPhotons.h:534
CbmKresConversionPhotons::CombinatorialGrMotherPdg_onetwo_Target
TH1D * CombinatorialGrMotherPdg_onetwo_Target
Definition: CbmKresConversionPhotons.h:427
CbmKresConversionPhotons::DP_P_reco_two_Both
TH1D * DP_P_reco_two_Both
Definition: CbmKresConversionPhotons.h:584
CbmKresConversionPhotons::DP_Pt_reco_zero_Both
TH1D * DP_Pt_reco_zero_Both
Definition: CbmKresConversionPhotons.h:559
CbmKresConversionPhotons::DP_Pdg_zero_Target
TH1D * DP_Pdg_zero_Target
Definition: CbmKresConversionPhotons.h:355
CbmKresConversionPhotons::DP_EMT_Pt_one_Both
TH1D * DP_EMT_Pt_one_Both
Definition: CbmKresConversionPhotons.h:629
CbmKresConversionPhotons::DP_InvMassReco_onetwo_Outside
TH1D * DP_InvMassReco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:510
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_all_Outside
TH1D * Ph_fromDalitz_Pt_reco_all_Outside
Definition: CbmKresConversionPhotons.h:451
CbmKresFunctions::CalculateKinematicParamsReco
static CbmLmvmKinematicParams CalculateKinematicParamsReco(const TVector3 electron1, const TVector3 electron2)
Definition: CbmKresFunctions.h:180
CbmKresConversionPhotons::fMCtracks
std::vector< CbmMCTrack * > fMCtracks
Definition: CbmKresConversionPhotons.h:169
CbmKresConversionPhotons::fHistoList_dp_onetwo_Both
vector< TH1 * > fHistoList_dp_onetwo_Both
Definition: CbmKresConversionPhotons.h:596
CbmKresConversionPhotons::DP_EMT_Pt_onetwo_Outside
TH1D * DP_EMT_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:624
CbmKresConversionPhotons::Electrons_onetwo_Target
TH1D * Electrons_onetwo_Target
Definition: CbmKresConversionPhotons.h:429
CbmKresConversionPhotons::DP_LK_EMT_Pt_two_Outside
TH1D * DP_LK_EMT_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:669
CbmKresConversionPhotons::SaveOutsideTracks
void SaveOutsideTracks(CbmMCTrack *mcTrack1, CbmStsTrack *stsTrack, double charge, int stsInd, int richInd, int stsMcTrackId, CbmRichRing *RING)
Definition: CbmKresConversionPhotons.cxx:819
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_all_Target
TH1D * Ph_fromTarget_Pt_reco_all_Target
Definition: CbmKresConversionPhotons.h:346
CbmGlobalTrack::GetRichRingIndex
Int_t GetRichRingIndex() const
Definition: CbmGlobalTrack.h:41
CbmKresConversionPhotons::Gammas_stsIndex_zero_Target
std::vector< std::vector< int > > Gammas_stsIndex_zero_Target
Definition: CbmKresConversionPhotons.h:225
CbmKresConversionPhotons::DP_OpeningAngleReco_onetwo_Both
TH1D * DP_OpeningAngleReco_onetwo_Both
Definition: CbmKresConversionPhotons.h:598
CbmKresConversionPhotons::fromCombinatorial_PDG_two_Target
TH1D * fromCombinatorial_PDG_two_Target
Definition: CbmKresConversionPhotons.h:393
CbmKresConversionPhotons::fHistoList_dp_one_Outside
vector< TH1 * > fHistoList_dp_one_Outside
Definition: CbmKresConversionPhotons.h:466
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_zero_Both
TH1D * Ph_fromPions_Pt_reco_zero_Both
Definition: CbmKresConversionPhotons.h:561
CbmKresConversionPhotons::Mother_PDG_Outside
TH1D * Mother_PDG_Outside
Definition: CbmKresConversionPhotons.h:285
CbmKresConversionPhotons::DP_LK_EMT_STS_minus_index_Target
std::vector< int > DP_LK_EMT_STS_minus_index_Target
Definition: CbmKresConversionPhotons.h:175
CbmKresConversionPhotons::Pions_onetwo_Target
TH1D * Pions_onetwo_Target
Definition: CbmKresConversionPhotons.h:430
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_zero_Both
TH1D * Ph_fromTarget_Pt_reco_zero_Both
Definition: CbmKresConversionPhotons.h:560
CbmKresConversionPhotons::Gammas_MC_zero_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Target
Definition: CbmKresConversionPhotons.h:231
CbmKresConversionPhotons::Gammas_zero_Both
std::vector< std::vector< TVector3 > > Gammas_zero_Both
Definition: CbmKresConversionPhotons.h:259
CbmKresConversionPhotons::InitHistograms
void InitHistograms()
Definition: CbmKresConversionPhotons.cxx:3116
CbmKresConversionPhotons::DP_InvMass_vs_OA_Target
TH2D * DP_InvMass_vs_OA_Target
Definition: CbmKresConversionPhotons.h:315
CbmKFVertex::GetRefX
Double_t & GetRefX()
Definition: CbmKFVertex.h:23
CbmKresConversionPhotons::DP_OpeningAngleReco_two_Outside
TH1D * DP_OpeningAngleReco_two_Outside
Definition: CbmKresConversionPhotons.h:480
CbmMCTrack::GetPdgCode
Int_t GetPdgCode() const
Definition: CbmMCTrack.h:70
CbmKresConversionPhotons::Gammas_MC_onetwo_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Target
Definition: CbmKresConversionPhotons.h:234
CbmKresConversionPhotons::DP_P_reco_all_Target
TH1D * DP_P_reco_all_Target
Definition: CbmKresConversionPhotons.h:344
CbmKresConversionPhotons::Ph_pt_vs_rap_est_one_Both
TH2D * Ph_pt_vs_rap_est_one_Both
Definition: CbmKresConversionPhotons.h:577
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_onetwo_Outside
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:518
CbmKresConversionPhotons::fHistoList_dp_zero_Outside
vector< TH1 * > fHistoList_dp_zero_Outside
Definition: CbmKresConversionPhotons.h:454
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_zero_Target
TH1D * Ph_fromTarget_Pt_reco_zero_Target
Definition: CbmKresConversionPhotons.h:358
CbmKresConversionPhotons::DP_Mixing_Target
void DP_Mixing_Target(double AngleCut, double InvMassCut)
Definition: CbmKresConversionPhotons.cxx:2830
CbmKresConversionPhotons::DP_InvMassReco_all_Target
TH1D * DP_InvMassReco_all_Target
Definition: CbmKresConversionPhotons.h:341
CbmKresConversionPhotons::Gammas_stsIndex_one_Outside
std::vector< std::vector< int > > Gammas_stsIndex_one_Outside
Definition: CbmKresConversionPhotons.h:246
CbmKresConversionPhotons::Gammas_MC_onetwo_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Outside
Definition: CbmKresConversionPhotons.h:254
CbmKresConversionPhotons::DP_EMT_STS_minus_Outside
std::vector< CbmStsTrack * > DP_EMT_STS_minus_Outside
Definition: CbmKresConversionPhotons.h:205
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_two_Both
TH1D * Ph_fromTarget_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:586
CbmKresConversionPhotons::FindGammasTarget
void FindGammasTarget(int EventNumMan, double AngleCut, double InvMassCut, int RealPID, vector< CbmMCTrack * > MCtracks_minus, vector< CbmMCTrack * > MCtracks_plus, vector< CbmStsTrack * > StsTrack_minus, vector< CbmStsTrack * > StsTrack_plus, vector< TVector3 > Momenta_minus, vector< TVector3 > Momenta_plus, std::vector< int > Rings_minus, std::vector< int > Rings_plus, std::vector< int > stsIndex_minus, std::vector< int > stsIndex_plus, vector< CbmRichRing * > richRing_minus, vector< CbmRichRing * > richRing_plus)
Definition: CbmKresConversionPhotons.cxx:871
CbmKresConversionPhotons::CbmKresConversionPhotons
CbmKresConversionPhotons()
Definition: CbmKresConversionPhotons.cxx:40
CbmKresConversionPhotons::DP_InvMassReco_one_Target
TH1D * DP_InvMassReco_one_Target
Definition: CbmKresConversionPhotons.h:365
CbmKresConversionPhotons::VStsTrack_minus_Target
vector< CbmStsTrack * > VStsTrack_minus_Target
Definition: CbmKresConversionPhotons.h:153
CbmKresSelectAnnPhotons::Init
void Init()
Definition: CbmKresSelectAnnPhotons.cxx:34
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_two_Target
TH1D * DP_LK_EMT_pos_Pt_two_Target
Definition: CbmKresConversionPhotons.h:643
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_two_Outside
TH1D * Ph_twoFromTarget_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:490
CbmKresConversionPhotons::DP_P_reco_onetwo_Outside
TH1D * DP_P_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:513
CbmKresConversionPhotons::DP_LK_EMT_Pt_onetwo_Target
TH1D * DP_LK_EMT_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:650
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_onetwo_Both
TH1D * Ph_fromEtas_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:604
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_onetwo_Both
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:607
CbmKresConversionPhotons::DP_PlaneAngles_last_Target
TH1D * DP_PlaneAngles_last_Target
Definition: CbmKresConversionPhotons.h:321
CbmKresConversionPhotons::DP_Pdg_two_Outside
TH1D * DP_Pdg_two_Outside
Definition: CbmKresConversionPhotons.h:481
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_onetwo_Outside
TH1D * Ph_fromPions_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:516
CbmGlobalTrack.h
CbmKresConversionPhotons::frefId
std::vector< int > frefId
Definition: CbmKresConversionPhotons.h:168
CbmKresConversionPhotons::twoFromTarget_P_two_Outside
TH1D * twoFromTarget_P_two_Outside
Definition: CbmKresConversionPhotons.h:504
CbmKresConversionPhotons::DP_EMT_Pt_zero_Outside
TH1D * DP_EMT_Pt_zero_Outside
Definition: CbmKresConversionPhotons.h:621
CbmKresConversionPhotons::DP_InvMass_Both
TH1D * DP_InvMass_Both
Definition: CbmKresConversionPhotons.h:304
CbmKresConversionPhotons::fKFVertex
CbmKFVertex fKFVertex
Definition: CbmKresConversionPhotons.h:133
CbmKresConversionPhotons::fHistoList_dp_one_Both
vector< TH1 * > fHistoList_dp_one_Both
Definition: CbmKresConversionPhotons.h:567
CbmKresConversionPhotons::Ph_pt_vs_rap_est_two_Both
TH2D * Ph_pt_vs_rap_est_two_Both
Definition: CbmKresConversionPhotons.h:593
CbmKresConversionPhotons::Exec
void Exec(int fEventNumDP, double OpeningAngleCut, double GammaInvMassCut, int RealPID)
Definition: CbmKresConversionPhotons.cxx:585
CbmKresConversionPhotons::Mother_PDG_Target
TH1D * Mother_PDG_Target
Definition: CbmKresConversionPhotons.h:280
CbmKresConversionPhotons::DP_Pdg_two_Target
TH1D * DP_Pdg_two_Target
Definition: CbmKresConversionPhotons.h:379
CbmKresConversionPhotons::DP_Pt_reco_two_Outside
TH1D * DP_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:483
CbmRichRing::GetNofHits
Int_t GetNofHits() const
Definition: CbmRichRing.h:40
CbmKresConversionPhotons::DP_PlaneAngles_last_Outside
TH1D * DP_PlaneAngles_last_Outside
Definition: CbmKresConversionPhotons.h:334
CbmRichRing
Definition: CbmRichRing.h:17
CbmKresConversionPhotons::DP_OpeningAngleReco_all_Target
TH1D * DP_OpeningAngleReco_all_Target
Definition: CbmKresConversionPhotons.h:342
CbmKresConversionPhotons::Gammas_MC_two_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Outside
Definition: CbmKresConversionPhotons.h:253
CbmKresConversionPhotons::DP_candidates_PlaneAngles_last_Outside
TH1D * DP_candidates_PlaneAngles_last_Outside
Definition: CbmKresConversionPhotons.h:333
CbmKresConversionPhotons::DP_PlaneAngles_first_Outside
TH1D * DP_PlaneAngles_first_Outside
Definition: CbmKresConversionPhotons.h:336
CbmKresConversionPhotons::Gammas_stsIndex_all_Outside
std::vector< std::vector< int > > Gammas_stsIndex_all_Outside
Definition: CbmKresConversionPhotons.h:244
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_one_Both
TH1D * Ph_fromEtas_Pt_reco_one_Both
Definition: CbmKresConversionPhotons.h:575
CbmKresConversionPhotons::Gammas_one_Both
std::vector< std::vector< TVector3 > > Gammas_one_Both
Definition: CbmKresConversionPhotons.h:260
CbmKresConversionPhotons::DP_InvMassReco_all_Both
TH1D * DP_InvMassReco_all_Both
Definition: CbmKresConversionPhotons.h:542
CbmKresConversionPhotons::DP_PlaneAngles_first_Target
TH1D * DP_PlaneAngles_first_Target
Definition: CbmKresConversionPhotons.h:323
CbmKresConversionPhotons::DP_P_reco_one_Outside
TH1D * DP_P_reco_one_Outside
Definition: CbmKresConversionPhotons.h:470
CbmKresConversionPhotons::VMCtracks_minus_Target
vector< CbmMCTrack * > VMCtracks_minus_Target
Definition: CbmKresConversionPhotons.h:152
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_onetwo_Outside
TH1D * Ph_fromTarget_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:515
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_all_Target
TH1D * DP_LK_EMT_neg_Pt_all_Target
Definition: CbmKresConversionPhotons.h:634
CbmRichRing.h
CbmKresConversionPhotons::DP_Pt_reco_all_Outside
TH1D * DP_Pt_reco_all_Outside
Definition: CbmKresConversionPhotons.h:447
CbmKresConversionPhotons::DP_EMT_Pt_one_Outside
TH1D * DP_EMT_Pt_one_Outside
Definition: CbmKresConversionPhotons.h:622
CbmKresConversionPhotons::DP_LK_EMT_STS_plus_Target
std::vector< CbmStsTrack * > DP_LK_EMT_STS_plus_Target
Definition: CbmKresConversionPhotons.h:179
CbmKresConversionPhotons::Gammas_MC_two_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Both
Definition: CbmKresConversionPhotons.h:273
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_two_Outside
TH1D * DP_LK_EMT_neg_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:657
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_onetwo_Both
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:605
CbmKresConversionPhotons::CombinatorialGrMotherPdg_two_Outside
TH1D * CombinatorialGrMotherPdg_two_Outside
Definition: CbmKresConversionPhotons.h:495
CbmKresConversionPhotons::Gammas_stsIndex_all_Target
std::vector< std::vector< int > > Gammas_stsIndex_all_Target
Definition: CbmKresConversionPhotons.h:224
CbmKresConversionPhotons::DP_InvMassReco_one_Outside
TH1D * DP_InvMassReco_one_Outside
Definition: CbmKresConversionPhotons.h:467
CbmKresConversionPhotons::elsePionOrElectron_onetwo_Outside
TH1D * elsePionOrElectron_onetwo_Outside
Definition: CbmKresConversionPhotons.h:531
CbmKresConversionPhotons::DP_P_reco_all_Both
TH1D * DP_P_reco_all_Both
Definition: CbmKresConversionPhotons.h:545
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_one_Outside
TH1D * DP_LK_EMT_pos_Pt_one_Outside
Definition: CbmKresConversionPhotons.h:662
CbmKresConversionPhotons::DP_P_reco_zero_Both
TH1D * DP_P_reco_zero_Both
Definition: CbmKresConversionPhotons.h:558
CbmKresConversionPhotons::DP_LK_EMT_STS_minus_Target
std::vector< CbmStsTrack * > DP_LK_EMT_STS_minus_Target
Definition: CbmKresConversionPhotons.h:174
CbmKresConversionPhotons::DP_AnnTruePairs_AfterCuts
TH1D * DP_AnnTruePairs_AfterCuts
Definition: CbmKresConversionPhotons.h:294
CbmKresConversionPhotons::fHistoList_dp_all_Both
vector< TH1 * > fHistoList_dp_all_Both
Definition: CbmKresConversionPhotons.h:541
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_one_Target
TH1D * Ph_fromDalitz_Pt_reco_one_Target
Definition: CbmKresConversionPhotons.h:373
CbmKresConversionPhotons::Gammas_zero_Target
std::vector< std::vector< TVector3 > > Gammas_zero_Target
Definition: CbmKresConversionPhotons.h:219
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_two_Both
TH1D * Ph_fromEtas_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:588
CbmKresConversionPhotons::Gammas_MC_two_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_two_Target
Definition: CbmKresConversionPhotons.h:233
CbmKresConversionPhotons::twoFromTarget_PDG_two_Outside
TH1D * twoFromTarget_PDG_two_Outside
Definition: CbmKresConversionPhotons.h:493
CbmKresConversionPhotons::Gammas_MC_one_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Target
Definition: CbmKresConversionPhotons.h:232
CbmKresConversionPhotons::DP_LK_EMT_Pt_zero_Outside
TH1D * DP_LK_EMT_Pt_zero_Outside
Definition: CbmKresConversionPhotons.h:667
CbmKresConversionPhotons::DP_LK_EMT_NofRings_minus_Outside
std::vector< int > DP_LK_EMT_NofRings_minus_Outside
Definition: CbmKresConversionPhotons.h:183
CbmMvdHit
Definition: CbmMvdHit.h:29
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_zero_Both
TH1D * Ph_fromDalitz_Pt_reco_zero_Both
Definition: CbmKresConversionPhotons.h:563
CbmKresConversionPhotons::DP_likesign_Mixing_Target
void DP_likesign_Mixing_Target(double AngleCut, double InvMassCut)
Definition: CbmKresConversionPhotons.cxx:2587
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_one_Target
TH1D * DP_LK_EMT_pos_Pt_one_Target
Definition: CbmKresConversionPhotons.h:642
CbmKresConversionPhotons::DP_Pt_reco_one_Target
TH1D * DP_Pt_reco_one_Target
Definition: CbmKresConversionPhotons.h:369
CbmKresConversionPhotons::DP_EMT_Event_minus_Target
std::vector< int > DP_EMT_Event_minus_Target
Definition: CbmKresConversionPhotons.h:193
CbmKresConversionPhotons::DP_AnnFalsePairs_AfterCuts
TH1D * DP_AnnFalsePairs_AfterCuts
Definition: CbmKresConversionPhotons.h:295
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_zero_Both
TH1D * Ph_fromEtas_Pt_reco_zero_Both
Definition: CbmKresConversionPhotons.h:562
CbmKresConversionPhotons::VStsIndex_minus_Outside
std::vector< int > VStsIndex_minus_Outside
Definition: CbmKresConversionPhotons.h:141
CbmKresConversionPhotons::DP_OA_Target
TH1D * DP_OA_Target
Definition: CbmKresConversionPhotons.h:319
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_zero_Target
TH1D * Ph_fromPions_Pt_reco_zero_Target
Definition: CbmKresConversionPhotons.h:359
CbmKresConversionPhotons::DP_Mixing_Outside
void DP_Mixing_Outside(double AngleCut, double InvMassCut)
Definition: CbmKresConversionPhotons.cxx:2893
CbmKresConversionPhotons::DP_Pt_reco_two_Target
TH1D * DP_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:381
CbmKresConversionPhotons::twoFromTarget_PDG_onetwo_Target
TH1D * twoFromTarget_PDG_onetwo_Target
Definition: CbmKresConversionPhotons.h:425
CbmKresConversionPhotons::twoFromTarget_PDG_onetwo_Outside
TH1D * twoFromTarget_PDG_onetwo_Outside
Definition: CbmKresConversionPhotons.h:524
CbmKresConversionPhotons::DP_InvMassReco_onetwo_Both
TH1D * DP_InvMassReco_onetwo_Both
Definition: CbmKresConversionPhotons.h:597
CbmRichUtil::GetRingTrackDistance
static Double_t GetRingTrackDistance(Int_t globalTrackId)
Definition: alignment/CbmRichUtil.h:20
CbmKresConversionPhotons::Gammas_stsIndex_onetwo_Outside
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Outside
Definition: CbmKresConversionPhotons.h:248
CbmStsTrack::GetNofMvdHits
Int_t GetNofMvdHits() const
Definition: CbmStsTrack.h:84
CbmKresConversionPhotons::DP_EMT_Hits_minus_Outside
std::vector< std::vector< TVector3 > > DP_EMT_Hits_minus_Outside
Definition: CbmKresConversionPhotons.h:208
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_onetwo_Target
TH1D * Ph_fromDalitz_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:418
CbmKresConversionPhotons::DP_InvMass_vs_OA_Outside
TH2D * DP_InvMass_vs_OA_Outside
Definition: CbmKresConversionPhotons.h:328
CbmKresConversionPhotons::DP_InvMassReco_zero_Both
TH1D * DP_InvMassReco_zero_Both
Definition: CbmKresConversionPhotons.h:555
CbmKresConversionPhotons::VMCtracks_plus_Target
vector< CbmMCTrack * > VMCtracks_plus_Target
Definition: CbmKresConversionPhotons.h:159
CbmKresConversionPhotons::Gammas_two_Outside
std::vector< std::vector< TVector3 > > Gammas_two_Outside
Definition: CbmKresConversionPhotons.h:241
CbmStsHit
data class for a reconstructed 3-d hit in the STS
Definition: CbmStsHit.h:31
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_one_Outside
TH1D * Ph_fromDalitz_Pt_reco_one_Outside
Definition: CbmKresConversionPhotons.h:475
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_onetwo_Outside
TH1D * Ph_fromConversion_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:523
CbmKresConversionPhotons::Gammas_MC_all_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Outside
Definition: CbmKresConversionPhotons.h:250
CbmKresConversionPhotons::DP_InvMassReco_all_Outside
TH1D * DP_InvMassReco_all_Outside
Definition: CbmKresConversionPhotons.h:443
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_two_Both
TH1D * Ph_fromPions_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:587
CbmKresConversionPhotons::fromCombinatorial_electron_P_onetwo_Outside
TH1D * fromCombinatorial_electron_P_onetwo_Outside
Definition: CbmKresConversionPhotons.h:536
CbmKresConversionPhotons::PionElectron_onetwo_Target
TH1D * PionElectron_onetwo_Target
Definition: CbmKresConversionPhotons.h:431
CbmKresConversionPhotons::Gammas_stsIndex_onetwo_Target
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Target
Definition: CbmKresConversionPhotons.h:228
CbmRichRing::GetHit
UInt_t GetHit(Int_t i) const
Definition: CbmRichRing.h:42
CbmKresConversionPhotons::DP_LK_EMT_Pt_one_Outside
TH1D * DP_LK_EMT_Pt_one_Outside
Definition: CbmKresConversionPhotons.h:668
CbmKresConversionPhotons::PionElectron_two_Target
TH1D * PionElectron_two_Target
Definition: CbmKresConversionPhotons.h:398
CbmKresConversionPhotons::Gammas_MC_zero_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Outside
Definition: CbmKresConversionPhotons.h:251
CbmKresConversionPhotons::DP_P_reco_onetwo_Target
TH1D * DP_P_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:413
CbmKresConversionPhotons::VRings_minus_Target
std::vector< int > VRings_minus_Target
Definition: CbmKresConversionPhotons.h:155
CbmStsTrack.h
Data class for STS tracks.
CbmGlobalTrack::GetStsTrackIndex
Int_t GetStsTrackIndex() const
Definition: CbmGlobalTrack.h:38
CbmKresConversionPhotons::DP_Pdg_onetwo_Outside
TH1D * DP_Pdg_onetwo_Outside
Definition: CbmKresConversionPhotons.h:512
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_one_Target
TH1D * Ph_fromPions_Pt_reco_one_Target
Definition: CbmKresConversionPhotons.h:371
CbmRichRingLight::GetAaxis
float GetAaxis() const
Definition: CbmRichRingLight.h:163
CbmKresConversionPhotons::DP_InvMassReco_two_Target
TH1D * DP_InvMassReco_two_Target
Definition: CbmKresConversionPhotons.h:377
CbmKresConversionPhotons::DP_LK_EMT_Pt_zero_Target
TH1D * DP_LK_EMT_Pt_zero_Target
Definition: CbmKresConversionPhotons.h:647
CbmKresConversionPhotons::CombinatorialMotherPdg_onetwo_Outside
TH1D * CombinatorialMotherPdg_onetwo_Outside
Definition: CbmKresConversionPhotons.h:527
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_all_Outside
TH1D * Ph_fromTarget_Pt_reco_all_Outside
Definition: CbmKresConversionPhotons.h:448
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_all_Target
TH1D * Ph_fromEtas_Pt_reco_all_Target
Definition: CbmKresConversionPhotons.h:348
CbmKresConversionPhotons::DoubleConversion_Pt_onetwo_Outside
TH1D * DoubleConversion_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:533
CbmKresConversionPhotons::CheckIfElectron
int CheckIfElectron(CbmRichRing *ring, double momentum)
Definition: CbmKresConversionPhotons.cxx:2279
CbmKresConversionPhotons::DP_EMT_Pt_onetwo_Both
TH1D * DP_EMT_Pt_onetwo_Both
Definition: CbmKresConversionPhotons.h:631
CbmKresConversionPhotons::DP_OpeningAngleReco_one_Outside
TH1D * DP_OpeningAngleReco_one_Outside
Definition: CbmKresConversionPhotons.h:468
CbmKresConversionPhotons::Pions_two_Target
TH1D * Pions_two_Target
Definition: CbmKresConversionPhotons.h:397
CbmKresConversionPhotons::Finish
void Finish()
Definition: CbmKresConversionPhotons.cxx:2975
CbmKresConversionPhotons::Gammas_MC_onetwo_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_onetwo_Both
Definition: CbmKresConversionPhotons.h:274
CbmKresConversionPhotons::DP_OpeningAngleReco_all_Both
TH1D * DP_OpeningAngleReco_all_Both
Definition: CbmKresConversionPhotons.h:543
CbmKresConversionPhotons::DoubleConversion_Pt_onetwo_Target
TH1D * DoubleConversion_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:434
CbmKresConversionPhotons::Ph_pt_vs_rap_est_onetwo_Both
TH2D * Ph_pt_vs_rap_est_onetwo_Both
Definition: CbmKresConversionPhotons.h:609
CbmKresConversionPhotons::DP_LK_EMT_STS_plus_index_Target
std::vector< int > DP_LK_EMT_STS_plus_index_Target
Definition: CbmKresConversionPhotons.h:180
CbmKresConversionPhotons::DP_Pdg_one_Target
TH1D * DP_Pdg_one_Target
Definition: CbmKresConversionPhotons.h:367
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_two_Target
TH1D * DP_LK_EMT_neg_Pt_two_Target
Definition: CbmKresConversionPhotons.h:637
CbmKresConversionPhotons::Pions_two_Outside
TH1D * Pions_two_Outside
Definition: CbmKresConversionPhotons.h:498
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_zero_Outside
TH1D * Ph_fromEtas_Pt_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:462
CbmKFVertex::GetRefZ
Double_t & GetRefZ()
Definition: CbmKFVertex.h:25
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_two_Both
TH1D * Ph_twoFromTarget_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:590
CbmKresConversionPhotons::DP_EMT_NofRings_plus_Target
std::vector< int > DP_EMT_NofRings_plus_Target
Definition: CbmKresConversionPhotons.h:200
CbmKresConversionPhotons::VRichRing_plus_Target
vector< CbmRichRing * > VRichRing_plus_Target
Definition: CbmKresConversionPhotons.h:164
CbmKresConversionPhotons::DP_Pt_reco_onetwo_Outside
TH1D * DP_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:514
CbmKresConversionPhotons::DP_EMT_Pt_two_Outside
TH1D * DP_EMT_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:623
CbmKresConversionPhotons::FindGammasBoth
void FindGammasBoth()
Definition: CbmKresConversionPhotons.cxx:2162
CbmKresConversionPhotons::DP_candidates_OA_Both
TH1D * DP_candidates_OA_Both
Definition: CbmKresConversionPhotons.h:305
CbmKresConversionPhotons::VMCtracks_minus_Outside
vector< CbmMCTrack * > VMCtracks_minus_Outside
Definition: CbmKresConversionPhotons.h:139
CbmKresConversionPhotons::DP_EMT_Pt_zero_Target
TH1D * DP_EMT_Pt_zero_Target
Definition: CbmKresConversionPhotons.h:614
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_all_Both
TH1D * Ph_fromDalitz_Pt_reco_all_Both
Definition: CbmKresConversionPhotons.h:550
CbmKresConversionPhotons::DP_LK_EMT_NofRings_minus_Target
std::vector< int > DP_LK_EMT_NofRings_minus_Target
Definition: CbmKresConversionPhotons.h:173
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_one_Target
TH1D * Ph_fromEtas_Pt_reco_one_Target
Definition: CbmKresConversionPhotons.h:372
CbmKresConversionPhotons::fHistoList_dp_cuts_Both
vector< TH1 * > fHistoList_dp_cuts_Both
Definition: CbmKresConversionPhotons.h:300
CbmKresConversionPhotons::DP_LK_EMT_STS_minus_Outside
std::vector< CbmStsTrack * > DP_LK_EMT_STS_minus_Outside
Definition: CbmKresConversionPhotons.h:184
CbmKresConversionPhotons::CombinatorialGrMotherPdg_onetwo_Outside
TH1D * CombinatorialGrMotherPdg_onetwo_Outside
Definition: CbmKresConversionPhotons.h:526
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_onetwo_Target
TH1D * DP_LK_EMT_pos_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:644
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_all_Target
TH1D * Ph_fromDalitz_Pt_reco_all_Target
Definition: CbmKresConversionPhotons.h:349
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_zero_Target
TH1D * Ph_fromEtas_Pt_reco_zero_Target
Definition: CbmKresConversionPhotons.h:360
CbmKresConversionPhotons::fromCombinatorial_PDG_onetwo_Target
TH1D * fromCombinatorial_PDG_onetwo_Target
Definition: CbmKresConversionPhotons.h:426
CbmKresConversionPhotons::DP_OpeningAngleReco_two_Target
TH1D * DP_OpeningAngleReco_two_Target
Definition: CbmKresConversionPhotons.h:378
CbmKresConversionPhotons::Gammas_onetwo_Outside
std::vector< std::vector< TVector3 > > Gammas_onetwo_Outside
Definition: CbmKresConversionPhotons.h:242
CbmKresConversionPhotons::fStsTrackMatches
TClonesArray * fStsTrackMatches
Definition: CbmKresConversionPhotons.h:124
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_onetwo_Target
TH1D * Ph_fromPions_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:416
CbmKresConversionPhotons::DP_candidates_PlaneAngles_first_Both
TH1D * DP_candidates_PlaneAngles_first_Both
Definition: CbmKresConversionPhotons.h:309
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_all_Target
TH1D * Ph_fromPions_Pt_reco_all_Target
Definition: CbmKresConversionPhotons.h:347
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_zero_Outside
TH1D * Ph_fromDalitz_Pt_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:463
CbmRichRingLight.h
CbmKresConversionPhotons::DP_EMT_Pt_two_Both
TH1D * DP_EMT_Pt_two_Both
Definition: CbmKresConversionPhotons.h:630
CbmKresConversionPhotons::fHistoList_dp_all_Target
vector< TH1 * > fHistoList_dp_all_Target
Definition: CbmKresConversionPhotons.h:340
CbmKresConversionPhotons::CombinatorialMotherPdg_onetwo_Target
TH1D * CombinatorialMotherPdg_onetwo_Target
Definition: CbmKresConversionPhotons.h:428
CbmKresConversionPhotons::Electrons_two_Outside
TH1D * Electrons_two_Outside
Definition: CbmKresConversionPhotons.h:497
CbmKresConversionPhotons::DP_Pt_reco_zero_Target
TH1D * DP_Pt_reco_zero_Target
Definition: CbmKresConversionPhotons.h:357
CbmTrackMatchNew.h
CbmKresSelectAnnPhotons::DoSelect
double DoSelect(double InvariantMass, double OpeningAngle, double PlaneAngle_last, double ZPos, TVector3 Momentum1, TVector3 Momentum2)
Definition: CbmKresSelectAnnPhotons.cxx:56
CbmKresConversionPhotons::DP_LK_EMT_Pt_one_Target
TH1D * DP_LK_EMT_Pt_one_Target
Definition: CbmKresConversionPhotons.h:648
CbmKresConversionPhotons::Gammas_all_Target
std::vector< std::vector< TVector3 > > Gammas_all_Target
Definition: CbmKresConversionPhotons.h:218
CbmKresConversionPhotons::DP_candidates_PlaneAngles_last_Both
TH1D * DP_candidates_PlaneAngles_last_Both
Definition: CbmKresConversionPhotons.h:307
CbmKresConversionPhotons::fGlobalTracks
TClonesArray * fGlobalTracks
Definition: CbmKresConversionPhotons.h:122
CbmVertex
Definition: CbmVertex.h:26
CbmKresConversionPhotons::fTauFit
CbmRichRingFitterEllipseTau * fTauFit
Definition: CbmKresConversionPhotons.h:135
CbmKresConversionPhotons::fTrainPhotons
CbmKresTrainAnnDirectPhotons * fTrainPhotons
Definition: CbmKresConversionPhotons.h:115
CbmRichRingLight::AddHit
void AddHit(CbmRichHitLight hit)
Add new hit to the ring.
Definition: CbmRichRingLight.h:87
CbmKresConversionPhotons::DP_Pt_reco_zero_Outside
TH1D * DP_Pt_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:459
CbmKresConversionPhotons::Gammas_stsIndex_zero_Both
std::vector< std::vector< int > > Gammas_stsIndex_zero_Both
Definition: CbmKresConversionPhotons.h:265
CbmKresConversionPhotons::Ph_fromOther_Pt_reco_two_Target
TH1D * Ph_fromOther_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:387
CbmKresConversionPhotons::Gammas_one_Target
std::vector< std::vector< TVector3 > > Gammas_one_Target
Definition: CbmKresConversionPhotons.h:220
CbmKresConversionPhotons::DP_EMT_momenta_minus_Target
std::vector< TVector3 > DP_EMT_momenta_minus_Target
Definition: CbmKresConversionPhotons.h:194
CbmKresConversionPhotons::Gammas_stsIndex_all_Both
std::vector< std::vector< int > > Gammas_stsIndex_all_Both
Definition: CbmKresConversionPhotons.h:264
CbmL1PFFitter.h
CbmKresConversionPhotons::Gammas_onetwo_Target
std::vector< std::vector< TVector3 > > Gammas_onetwo_Target
Definition: CbmKresConversionPhotons.h:222
CbmKresFunctions::FitToVertex
static TVector3 FitToVertex(CbmStsTrack *stsTrack, double x, double y, double z)
Definition: CbmKresFunctions.h:29
CbmKresConversionPhotons::VMomenta_plus_Target
vector< TVector3 > VMomenta_plus_Target
Definition: CbmKresConversionPhotons.h:161
CbmKresConversionPhotons::DP_P_reco_all_Outside
TH1D * DP_P_reco_all_Outside
Definition: CbmKresConversionPhotons.h:446
CbmKresConversionPhotons::fRichRingMatches
TClonesArray * fRichRingMatches
Definition: CbmKresConversionPhotons.h:127
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_onetwo_Both
TH1D * Ph_fromPions_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:603
CbmKresConversionPhotons::DP_InvMassReco_onetwo_Target
TH1D * DP_InvMassReco_onetwo_Target
Definition: CbmKresConversionPhotons.h:410
CbmKresConversionPhotons.h
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_onetwo_Both
TH1D * Ph_fromConversion_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:608
CbmKresConversionPhotons::DP_OpeningAngleReco_zero_Outside
TH1D * DP_OpeningAngleReco_zero_Outside
Definition: CbmKresConversionPhotons.h:456
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_onetwo_Outside
TH1D * DP_LK_EMT_pos_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:664
CbmKresConversionPhotons::Gammas_onetwo_Both
std::vector< std::vector< TVector3 > > Gammas_onetwo_Both
Definition: CbmKresConversionPhotons.h:262
CbmKresConversionPhotons::DP_EMT_Pt_zero_Both
TH1D * DP_EMT_Pt_zero_Both
Definition: CbmKresConversionPhotons.h:628
CbmKresConversionPhotons::Gammas_MC_one_Outside
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_one_Outside
Definition: CbmKresConversionPhotons.h:252
CbmKresConversionPhotons::Gammas_MC_all_Target
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Target
Definition: CbmKresConversionPhotons.h:230
CbmKresConversionPhotons::Gammas_stsIndex_one_Both
std::vector< std::vector< int > > Gammas_stsIndex_one_Both
Definition: CbmKresConversionPhotons.h:266
CbmLmvmKinematicParams::fRapidity
Double_t fRapidity
Definition: CbmLmvmKinematicParams.h:21
CbmKFParticleInterface.h
CbmKresConversionPhotons::fromCombinatorial_electron_P_two_Outside
TH1D * fromCombinatorial_electron_P_two_Outside
Definition: CbmKresConversionPhotons.h:505
CbmKresConversionPhotons::DP_likesign_Mixing_Outside
void DP_likesign_Mixing_Outside(double AngleCut, double InvMassCut)
Definition: CbmKresConversionPhotons.cxx:2695
CbmKresConversionPhotons::fHistoList_dp_Outside
vector< TH1 * > fHistoList_dp_Outside
Definition: CbmKresConversionPhotons.h:284
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_two_Outside
TH1D * DP_LK_EMT_pos_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:663
CbmKresConversionPhotons::FindGammasOutside
void FindGammasOutside(int EventNumMan, double AngleCut, double InvMassCut, int RealPID, vector< CbmMCTrack * > MCtracks_minus_Outside, vector< CbmMCTrack * > MCtracks_plus_Outside, vector< CbmStsTrack * > StsTrack_minus_Outside, vector< CbmStsTrack * > StsTrack_plus_Outside, std::vector< int > Rings_minus_Outside, std::vector< int > Rings_plus_Outside, std::vector< int > stsIndex_minus_Outside, std::vector< int > stsIndex_plus_Outside, vector< CbmRichRing * > richRing_minus_Outside, vector< CbmRichRing * > richRing_plus_Outside)
Definition: CbmKresConversionPhotons.cxx:1505
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_onetwo_Target
TH1D * Ph_fromEtas_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:417
xMath::Pi
double Pi()
Definition: xMath.h:5
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_two_Outside
TH1D * Ph_fromDalitz_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:487
CbmKresConversionPhotons::VStsTrack_plus_Outside
vector< CbmStsTrack * > VStsTrack_plus_Outside
Definition: CbmKresConversionPhotons.h:144
CbmKresConversionPhotons::DP_OA_Both
TH1D * DP_OA_Both
Definition: CbmKresConversionPhotons.h:306
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_all_Both
TH1D * Ph_fromEtas_Pt_reco_all_Both
Definition: CbmKresConversionPhotons.h:549
CbmRichRingLight::GetBaxis
float GetBaxis() const
Definition: CbmRichRingLight.h:164
CbmKresConversionPhotons::DP_Pdg_onetwo_Both
TH1D * DP_Pdg_onetwo_Both
Definition: CbmKresConversionPhotons.h:599
CbmKresConversionPhotons::Gammas_all_Both
std::vector< std::vector< TVector3 > > Gammas_all_Both
Definition: CbmKresConversionPhotons.h:258
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_one_Outside
TH1D * Ph_fromPions_Pt_reco_one_Outside
Definition: CbmKresConversionPhotons.h:473
CbmKresConversionPhotons::Ph_pt_vs_rap_est_zero_Both
TH2D * Ph_pt_vs_rap_est_zero_Both
Definition: CbmKresConversionPhotons.h:564
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_onetwo_Both
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:606
CbmKresConversionPhotons::DP_Pdg_zero_Outside
TH1D * DP_Pdg_zero_Outside
Definition: CbmKresConversionPhotons.h:457
CbmTrack::GetParamFirst
const FairTrackParam * GetParamFirst() const
Definition: CbmTrack.h:61
CbmKresConversionPhotons::DP_InvMass_Target
TH1D * DP_InvMass_Target
Definition: CbmKresConversionPhotons.h:317
CbmKresConversionPhotons::DP_InvMass_vs_OA_Both
TH2D * DP_InvMass_vs_OA_Both
Definition: CbmKresConversionPhotons.h:302
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_onetwo_Outside
TH1D * DP_LK_EMT_neg_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:658
CbmKresConversionPhotons::DoubleConversion_Pt_two_Outside
TH1D * DoubleConversion_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:502
CbmKresConversionPhotons::frefmomenta
vector< TVector3 > frefmomenta
Definition: CbmKresConversionPhotons.h:167
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_all_Target
TH1D * DP_LK_EMT_pos_Pt_all_Target
Definition: CbmKresConversionPhotons.h:640
CbmKresConversionPhotons::PionElectron_onetwo_Outside
TH1D * PionElectron_onetwo_Outside
Definition: CbmKresConversionPhotons.h:530
CbmRichHitLight
Definition: CbmRichRingLight.h:14
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_two_Target
TH1D * Ph_fromTarget_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:382
CbmKresConversionPhotons::DP_P_reco_zero_Target
TH1D * DP_P_reco_zero_Target
Definition: CbmKresConversionPhotons.h:356
CbmKresConversionPhotons::elsePionOrElectron_two_Target
TH1D * elsePionOrElectron_two_Target
Definition: CbmKresConversionPhotons.h:399
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_two_Both
TH1D * Ph_fromConversion_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:592
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_two_Target
TH1D * Ph_fromConversion_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:390
CbmKresConversionPhotons::CalculatePlaneAngle_first
double CalculatePlaneAngle_first(CbmStsTrack *Sts_1, CbmStsTrack *Sts_2)
Definition: CbmKresConversionPhotons.cxx:2487
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_all_Outside
TH1D * DP_LK_EMT_pos_Pt_all_Outside
Definition: CbmKresConversionPhotons.h:660
CbmKresConversionPhotons::Gammas_zero_Outside
std::vector< std::vector< TVector3 > > Gammas_zero_Outside
Definition: CbmKresConversionPhotons.h:239
CbmKresConversionPhotons::DP_Pt_reco_all_Target
TH1D * DP_Pt_reco_all_Target
Definition: CbmKresConversionPhotons.h:345
CbmKresConversionPhotons::fHistoList_dp_zero_Both
vector< TH1 * > fHistoList_dp_zero_Both
Definition: CbmKresConversionPhotons.h:554
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_two_Both
TH1D * Ph_fromDalitz_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:589
CbmKresFunctions::Invmass_2particles_RECO
static double Invmass_2particles_RECO(const TVector3 part1, const TVector3 part2)
Definition: CbmKresFunctions.h:107
CbmKresConversionPhotons::VRings_minus_Outside
std::vector< int > VRings_minus_Outside
Definition: CbmKresConversionPhotons.h:140
CbmKresConversionPhotons::fromCombinatorial_PDG_two_Outside
TH1D * fromCombinatorial_PDG_two_Outside
Definition: CbmKresConversionPhotons.h:494
CbmKresConversionPhotons::fHistoList_dp_one_Target
vector< TH1 * > fHistoList_dp_one_Target
Definition: CbmKresConversionPhotons.h:364
CbmKresFunctions.h
CbmKresConversionPhotons::DP_candidates_InvMass_Both
TH1D * DP_candidates_InvMass_Both
Definition: CbmKresConversionPhotons.h:303
CbmKresConversionPhotons::CombinatorialGrMotherPdg_two_Target
TH1D * CombinatorialGrMotherPdg_two_Target
Definition: CbmKresConversionPhotons.h:394
CbmKresConversionPhotons::DP_OpeningAngleReco_zero_Both
TH1D * DP_OpeningAngleReco_zero_Both
Definition: CbmKresConversionPhotons.h:556
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_one_Target
TH1D * DP_LK_EMT_neg_Pt_one_Target
Definition: CbmKresConversionPhotons.h:636
CbmKresConversionPhotons::DalitzAndConversion_Pt_onetwo_Outside
TH1D * DalitzAndConversion_Pt_onetwo_Outside
Definition: CbmKresConversionPhotons.h:532
CbmGlobalTrack
Definition: CbmGlobalTrack.h:26
CbmKresConversionPhotons::fHistoList_dp_two_Target
vector< TH1 * > fHistoList_dp_two_Target
Definition: CbmKresConversionPhotons.h:376
CbmKresConversionPhotons::DP_EMT_KFTrack_minus_Outside
std::vector< KFParticle > DP_EMT_KFTrack_minus_Outside
Definition: CbmKresConversionPhotons.h:206
CbmKresConversionPhotons::Pdg_vs_Distance_for_dp
TH2D * Pdg_vs_Distance_for_dp
Definition: CbmKresConversionPhotons.h:290
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_two_Target
TH1D * Ph_fromPions_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:383
CbmKresConversionPhotons::Ph_fromXi_Pt_reco_onetwo_Outside
TH1D * Ph_fromXi_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:519
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_all_Outside
TH1D * Ph_fromEtas_Pt_reco_all_Outside
Definition: CbmKresConversionPhotons.h:450
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_all_Both
TH1D * Ph_fromTarget_Pt_reco_all_Both
Definition: CbmKresConversionPhotons.h:547
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_two_Outside
TH1D * Ph_fromCombinatorial_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:491
CbmKresConversionPhotons::DP_P_reco_two_Target
TH1D * DP_P_reco_two_Target
Definition: CbmKresConversionPhotons.h:380
CbmKresConversionPhotons::fHistoList_dp_cuts_Outside
vector< TH1 * > fHistoList_dp_cuts_Outside
Definition: CbmKresConversionPhotons.h:326
CbmKresConversionPhotons::Ph_fromOther_Pt_reco_onetwo_Target
TH1D * Ph_fromOther_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:420
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_zero_Target
TH1D * DP_LK_EMT_neg_Pt_zero_Target
Definition: CbmKresConversionPhotons.h:635
CbmKresConversionPhotons::P_vs_Distance_for_dp
TH2D * P_vs_Distance_for_dp
Definition: CbmKresConversionPhotons.h:291
CbmKresConversionPhotons::Ph_fromOther_Pt_reco_two_Outside
TH1D * Ph_fromOther_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:489
CbmKresConversionPhotons::DP_EMT_NofRings_plus_Outside
std::vector< int > DP_EMT_NofRings_plus_Outside
Definition: CbmKresConversionPhotons.h:213
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_one_Outside
TH1D * DP_LK_EMT_neg_Pt_one_Outside
Definition: CbmKresConversionPhotons.h:656
CbmMCTrack.h
CbmKresConversionPhotons::DP_OpeningAngleReco_all_Outside
TH1D * DP_OpeningAngleReco_all_Outside
Definition: CbmKresConversionPhotons.h:444
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_all_Outside
TH1D * DP_LK_EMT_neg_Pt_all_Outside
Definition: CbmKresConversionPhotons.h:654
CbmKresConversionPhotons::twoFromTarget_P_two_Target
TH1D * twoFromTarget_P_two_Target
Definition: CbmKresConversionPhotons.h:403
CbmKresConversionPhotons::CombinatorialMotherPdg_two_Target
TH1D * CombinatorialMotherPdg_two_Target
Definition: CbmKresConversionPhotons.h:395
CbmKresConversionPhotons::DP_candidates_OA_Target
TH1D * DP_candidates_OA_Target
Definition: CbmKresConversionPhotons.h:318
CbmKresConversionPhotons::fRichRings
TClonesArray * fRichRings
Definition: CbmKresConversionPhotons.h:126
CbmKresConversionPhotons::Gammas_MC_all_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_all_Both
Definition: CbmKresConversionPhotons.h:270
CbmKresConversionPhotons::Ph_fromDalitz_Pt_reco_zero_Target
TH1D * Ph_fromDalitz_Pt_reco_zero_Target
Definition: CbmKresConversionPhotons.h:361
CbmKresConversionPhotons::DP_candidates_InvMass_Target
TH1D * DP_candidates_InvMass_Target
Definition: CbmKresConversionPhotons.h:316
CbmKresTrainAnnDirectPhotons::Init
void Init()
Definition: CbmKresTrainAnnDirectPhotons.cxx:65
CbmKresConversionPhotons::DP_InvMass_Outside
TH1D * DP_InvMass_Outside
Definition: CbmKresConversionPhotons.h:330
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_one_Outside
TH1D * Ph_fromEtas_Pt_reco_one_Outside
Definition: CbmKresConversionPhotons.h:474
CbmKresFunctions::FitToVertexAndGetChi
static TVector3 FitToVertexAndGetChi(CbmStsTrack *stsTrack, double x, double y, double z, double &chi)
Definition: CbmKresFunctions.h:67
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_zero_Outside
TH1D * DP_LK_EMT_pos_Pt_zero_Outside
Definition: CbmKresConversionPhotons.h:661
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_two_Outside
TH1D * Ph_fromTarget_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:484
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_onetwo_Outside
TH1D * Ph_fromEtas_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:517
CbmMCTrack
Definition: CbmMCTrack.h:34
CbmKresConversionPhotons::DP_Pdg_one_Outside
TH1D * DP_Pdg_one_Outside
Definition: CbmKresConversionPhotons.h:469
CbmKresConversionPhotons::DP_EMT_Pt_two_Target
TH1D * DP_EMT_Pt_two_Target
Definition: CbmKresConversionPhotons.h:616
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_zero_Outside
TH1D * Ph_fromTarget_Pt_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:460
CbmKresConversionPhotons::fromFireball_P_two_Outside
TH1D * fromFireball_P_two_Outside
Definition: CbmKresConversionPhotons.h:503
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_onetwo_Both
TH1D * Ph_fromTarget_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:602
CbmMvdHit.h
CbmKresConversionPhotons::fHistoList_dp_Both
vector< TH1 * > fHistoList_dp_Both
Definition: CbmKresConversionPhotons.h:289
CbmKresConversionPhotons::twoFromTarget_P_onetwo_Outside
TH1D * twoFromTarget_P_onetwo_Outside
Definition: CbmKresConversionPhotons.h:535
CbmKresConversionPhotons::SaveTargetTracks
void SaveTargetTracks(CbmMCTrack *mcTrack1, CbmStsTrack *stsTrack, TVector3 refmom, double charge, int stsInd, int richInd, int stsMcTrackId, CbmRichRing *RING)
Definition: CbmKresConversionPhotons.cxx:843
CbmKresConversionPhotons::Ph_fromOther_Pt_reco_onetwo_Outside
TH1D * Ph_fromOther_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:520
CbmKresConversionPhotons::elsePionOrElectron_onetwo_Target
TH1D * elsePionOrElectron_onetwo_Target
Definition: CbmKresConversionPhotons.h:432
CbmKresConversionPhotons::DP_P_reco_onetwo_Both
TH1D * DP_P_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:600
CbmKresConversionPhotons::VMCtracks_plus_Outside
vector< CbmMCTrack * > VMCtracks_plus_Outside
Definition: CbmKresConversionPhotons.h:145
CbmKresConversionPhotons::Gammas_stsIndex_two_Target
std::vector< std::vector< int > > Gammas_stsIndex_two_Target
Definition: CbmKresConversionPhotons.h:227
CbmKresConversionPhotons::DP_OpeningAngleReco_two_Both
TH1D * DP_OpeningAngleReco_two_Both
Definition: CbmKresConversionPhotons.h:582
CbmKresConversionPhotons::VStsIndex_minus_Target
std::vector< int > VStsIndex_minus_Target
Definition: CbmKresConversionPhotons.h:156
CbmKresConversionPhotons::DP_LK_EMT_neg_Pt_zero_Outside
TH1D * DP_LK_EMT_neg_Pt_zero_Outside
Definition: CbmKresConversionPhotons.h:655
CbmKresConversionPhotons::DP_Pdg_all_Target
TH1D * DP_Pdg_all_Target
Definition: CbmKresConversionPhotons.h:343
CbmKresConversionPhotons::SaveAllHits
std::vector< TVector3 > SaveAllHits(CbmStsTrack *track)
Definition: CbmKresConversionPhotons.cxx:2305
CbmKresConversionPhotons::DP_Pt_reco_onetwo_Both
TH1D * DP_Pt_reco_onetwo_Both
Definition: CbmKresConversionPhotons.h:601
CbmKresConversionPhotons::DP_candidates_OA_Outside
TH1D * DP_candidates_OA_Outside
Definition: CbmKresConversionPhotons.h:331
CbmKresConversionPhotons::elsePionOrElectron_two_Outside
TH1D * elsePionOrElectron_two_Outside
Definition: CbmKresConversionPhotons.h:500
CbmKresConversionPhotons::fromCombinatorial_electron_P_onetwo_Target
TH1D * fromCombinatorial_electron_P_onetwo_Target
Definition: CbmKresConversionPhotons.h:437
CbmKresConversionPhotons::DP_candidates_InvMass_Outside
TH1D * DP_candidates_InvMass_Outside
Definition: CbmKresConversionPhotons.h:329
CbmStsTrack::GetMvdHitIndex
Int_t GetMvdHitIndex(Int_t iHit) const
Definition: CbmStsTrack.h:70
CbmKresConversionPhotons::DoubleConversion_Pt_two_Target
TH1D * DoubleConversion_Pt_two_Target
Definition: CbmKresConversionPhotons.h:401
CbmKresConversionPhotons::Electrons_two_Target
TH1D * Electrons_two_Target
Definition: CbmKresConversionPhotons.h:396
CbmKFVertex::GetRefY
Double_t & GetRefY()
Definition: CbmKFVertex.h:24
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_one_Both
TH1D * Ph_fromTarget_Pt_reco_one_Both
Definition: CbmKresConversionPhotons.h:573
CbmKresConversionPhotons::DP_candidates_InvMass_vs_OA_Both
TH2D * DP_candidates_InvMass_vs_OA_Both
Definition: CbmKresConversionPhotons.h:301
CbmKresConversionPhotons::DP_EMT_Event_minus_Outside
std::vector< int > DP_EMT_Event_minus_Outside
Definition: CbmKresConversionPhotons.h:204
CbmLmvmKinematicParams::fMomentumMag
Double_t fMomentumMag
Definition: CbmLmvmKinematicParams.h:19
CbmKresConversionPhotons::DP_InvMassReco_two_Outside
TH1D * DP_InvMassReco_two_Outside
Definition: CbmKresConversionPhotons.h:479
CbmTrackMatchNew
Definition: CbmTrackMatchNew.h:19
CbmKresConversionPhotons::Gammas_two_Both
std::vector< std::vector< TVector3 > > Gammas_two_Both
Definition: CbmKresConversionPhotons.h:261
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_all_Outside
TH1D * Ph_fromPions_Pt_reco_all_Outside
Definition: CbmKresConversionPhotons.h:449
CbmKresConversionPhotons::DP_LK_EMT_pos_Pt_zero_Target
TH1D * DP_LK_EMT_pos_Pt_zero_Target
Definition: CbmKresConversionPhotons.h:641
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_two_Target
TH1D * Ph_twoFromTarget_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:388
CbmKresConversionPhotons::DP_LK_EMT_Pt_all_Target
TH1D * DP_LK_EMT_Pt_all_Target
Definition: CbmKresConversionPhotons.h:646
CbmKresConversionPhotons::VStsTrack_plus_Target
vector< CbmStsTrack * > VStsTrack_plus_Target
Definition: CbmKresConversionPhotons.h:160
CbmKresConversionPhotons::DP_P_reco_two_Outside
TH1D * DP_P_reco_two_Outside
Definition: CbmKresConversionPhotons.h:482
CbmKresConversionPhotons::DP_LK_EMT_momenta_minus_Target
std::vector< TVector3 > DP_LK_EMT_momenta_minus_Target
Definition: CbmKresConversionPhotons.h:172
CbmKresConversionPhotons::Gammas_stsIndex_onetwo_Both
std::vector< std::vector< int > > Gammas_stsIndex_onetwo_Both
Definition: CbmKresConversionPhotons.h:268
CbmKresConversionPhotons::Gammas_stsIndex_two_Outside
std::vector< std::vector< int > > Gammas_stsIndex_two_Outside
Definition: CbmKresConversionPhotons.h:247
CbmKresConversionPhotons::Ph_fromCombinatorial_Pt_reco_onetwo_Outside
TH1D * Ph_fromCombinatorial_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:522
CbmKresConversionPhotons::fHistoList_dp_onetwo_Outside
vector< TH1 * > fHistoList_dp_onetwo_Outside
Definition: CbmKresConversionPhotons.h:509
CbmKresConversionPhotons::DP_OpeningAngleReco_onetwo_Outside
TH1D * DP_OpeningAngleReco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:511
CbmKresConversionPhotons::VRings_plus_Target
std::vector< int > VRings_plus_Target
Definition: CbmKresConversionPhotons.h:162
CbmKresConversionPhotons::DP_Pdg_zero_Both
TH1D * DP_Pdg_zero_Both
Definition: CbmKresConversionPhotons.h:557
CbmKresConversionPhotons::DP_EMT_Hits_plus_Target
std::vector< std::vector< TVector3 > > DP_EMT_Hits_plus_Target
Definition: CbmKresConversionPhotons.h:201
CbmRichHit.h
CbmStsTrack::GetStsHitIndex
Int_t GetStsHitIndex(Int_t iHit) const
Definition: CbmStsTrack.h:98
CbmKresConversionPhotons::DP_InvMassReco_zero_Target
TH1D * DP_InvMassReco_zero_Target
Definition: CbmKresConversionPhotons.h:353
CbmKresConversionPhotons::DP_LK_EMT_NofRings_plus_Outside
std::vector< int > DP_LK_EMT_NofRings_plus_Outside
Definition: CbmKresConversionPhotons.h:187
CbmKresConversionPhotons::Gammas_MC_zero_Both
std::vector< std::vector< CbmMCTrack * > > Gammas_MC_zero_Both
Definition: CbmKresConversionPhotons.h:271
CbmKresConversionPhotons::DP_P_reco_one_Target
TH1D * DP_P_reco_one_Target
Definition: CbmKresConversionPhotons.h:368
CbmRichRingFitterEllipseTau::DoFit
virtual void DoFit(CbmRichRingLight *ring)
Inherited from CbmRichRingFitterBase.
Definition: CbmRichRingFitterEllipseTau.cxx:94
CbmKresConversionPhotons::DP_EMT_momenta_plus_Target
std::vector< TVector3 > DP_EMT_momenta_plus_Target
Definition: CbmKresConversionPhotons.h:199
CbmKresConversionPhotons::DP_PlaneAngles_first_Both
TH1D * DP_PlaneAngles_first_Both
Definition: CbmKresConversionPhotons.h:310
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_all_Both
TH1D * Ph_fromPions_Pt_reco_all_Both
Definition: CbmKresConversionPhotons.h:548
CbmKresConversionPhotons::CombinatorialMotherPdg_two_Outside
TH1D * CombinatorialMotherPdg_two_Outside
Definition: CbmKresConversionPhotons.h:496
CbmKresConversionPhotons::DP_OpeningAngleReco_one_Both
TH1D * DP_OpeningAngleReco_one_Both
Definition: CbmKresConversionPhotons.h:569
CbmKresConversionPhotons::DP_OA_Outside
TH1D * DP_OA_Outside
Definition: CbmKresConversionPhotons.h:332
CbmStsTrack
Definition: CbmStsTrack.h:37
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_onetwo_Outside
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Outside
Definition: CbmKresConversionPhotons.h:521
CbmKresConversionPhotons::DP_Pt_reco_two_Both
TH1D * DP_Pt_reco_two_Both
Definition: CbmKresConversionPhotons.h:585
CbmKresConversionPhotons::fromCombinatorial_NOTelectron_P_two_Outside
TH1D * fromCombinatorial_NOTelectron_P_two_Outside
Definition: CbmKresConversionPhotons.h:506
CbmKresConversionPhotons::DP_LK_EMT_momenta_plus_Target
std::vector< TVector3 > DP_LK_EMT_momenta_plus_Target
Definition: CbmKresConversionPhotons.h:177
CbmKresConversionPhotons::DP_LK_EMT_STS_plus_Outside
std::vector< CbmStsTrack * > DP_LK_EMT_STS_plus_Outside
Definition: CbmKresConversionPhotons.h:188
CbmKresConversionPhotons::Ph_fromConversion_Pt_reco_onetwo_Target
TH1D * Ph_fromConversion_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:423
CbmKresConversionPhotons::DP_Pdg_all_Outside
TH1D * DP_Pdg_all_Outside
Definition: CbmKresConversionPhotons.h:445
CbmKresConversionPhotons::DP_EMT_KFTrack_plus_Outside
std::vector< KFParticle > DP_EMT_KFTrack_plus_Outside
Definition: CbmKresConversionPhotons.h:212
CbmKresConversionPhotons::fRichHits
TClonesArray * fRichHits
Definition: CbmKresConversionPhotons.h:128
CbmKresTrainAnnDirectPhotons
Definition: CbmKresTrainAnnDirectPhotons.h:12
CbmKresConversionPhotons::DP_EMT_Pt_one_Target
TH1D * DP_EMT_Pt_one_Target
Definition: CbmKresConversionPhotons.h:615
CbmKresConversionPhotons::DP_EMT_Pt_all_Both
TH1D * DP_EMT_Pt_all_Both
Definition: CbmKresConversionPhotons.h:627
CbmKresConversionPhotons::DP_EMT_Pt_onetwo_Target
TH1D * DP_EMT_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:617
CbmKresFunctions::CalculateOpeningAngle_Reco
static Double_t CalculateOpeningAngle_Reco(TVector3 electron1, TVector3 electron2)
Definition: CbmKresFunctions.h:251
CbmKresConversionBG.h
CbmKresConversionPhotons::DalitzAndConversion_Pt_two_Target
TH1D * DalitzAndConversion_Pt_two_Target
Definition: CbmKresConversionPhotons.h:400
CbmKresConversionPhotons::DP_EMT_STS_plus_Outside
std::vector< CbmStsTrack * > DP_EMT_STS_plus_Outside
Definition: CbmKresConversionPhotons.h:211
CbmKresConversionPhotons::FindInRich
int FindInRich(int richInd, int stsMcTrackId)
Definition: CbmKresConversionPhotons.cxx:2255
CbmKresConversionPhotons::VStsIndex_plus_Target
std::vector< int > VStsIndex_plus_Target
Definition: CbmKresConversionPhotons.h:163
CbmKresConversionPhotons::fStsTracks
TClonesArray * fStsTracks
Definition: CbmKresConversionPhotons.h:123
CbmKresConversionPhotons::DP_candidates_PlaneAngles_first_Outside
TH1D * DP_candidates_PlaneAngles_first_Outside
Definition: CbmKresConversionPhotons.h:335
CbmKresConversionPhotons::DP_Pt_reco_one_Both
TH1D * DP_Pt_reco_one_Both
Definition: CbmKresConversionPhotons.h:572
CbmRichRingLight
Definition: CbmRichRingLight.h:39
CbmKresConversionPhotons::DP_P_reco_one_Both
TH1D * DP_P_reco_one_Both
Definition: CbmKresConversionPhotons.h:571
CbmKresConversionPhotons::fArrayMvdHit
TClonesArray * fArrayMvdHit
Definition: CbmKresConversionPhotons.h:129
CbmKresConversionPhotons::fromCombinatorial_NOTelectron_P_onetwo_Outside
TH1D * fromCombinatorial_NOTelectron_P_onetwo_Outside
Definition: CbmKresConversionPhotons.h:537
CbmKresConversionPhotons::DP_candidates_PlaneAngles_first_Target
TH1D * DP_candidates_PlaneAngles_first_Target
Definition: CbmKresConversionPhotons.h:322
CbmKresConversionPhotons::UseAnnPhotons
Int_t UseAnnPhotons
Definition: CbmKresConversionPhotons.h:118
CbmKresConversionPhotons::DP_P_reco_zero_Outside
TH1D * DP_P_reco_zero_Outside
Definition: CbmKresConversionPhotons.h:458
CbmMCTrack::GetP
Double_t GetP() const
Definition: CbmMCTrack.h:100
CbmKresConversionPhotons::fromCombinatorial_NOTelectron_P_onetwo_Target
TH1D * fromCombinatorial_NOTelectron_P_onetwo_Target
Definition: CbmKresConversionPhotons.h:438
CbmKresConversionPhotons::DP_InvMassReco_zero_Outside
TH1D * DP_InvMassReco_zero_Outside
Definition: CbmKresConversionPhotons.h:455
CbmKresConversionPhotons::DP_EMT_NofRings_minus_Target
std::vector< int > DP_EMT_NofRings_minus_Target
Definition: CbmKresConversionPhotons.h:195
CbmKresConversionPhotons::fHistoList_dp_all_Outside
vector< TH1 * > fHistoList_dp_all_Outside
Definition: CbmKresConversionPhotons.h:442
CbmLmvmKinematicParams
Definition: CbmLmvmKinematicParams.h:17
CbmLmvmKinematicParams::fPt
Double_t fPt
Definition: CbmLmvmKinematicParams.h:20
CbmKresConversionPhotons::DP_LK_EMT_STS_minus_index_Outside
std::vector< int > DP_LK_EMT_STS_minus_index_Outside
Definition: CbmKresConversionPhotons.h:185
CbmKresConversionPhotons::Ph_fromPions_Pt_reco_two_Outside
TH1D * Ph_fromPions_Pt_reco_two_Outside
Definition: CbmKresConversionPhotons.h:485
CbmKresConversionPhotons::VStsIndex_plus_Outside
std::vector< int > VStsIndex_plus_Outside
Definition: CbmKresConversionPhotons.h:147
CbmKresConversionPhotons::VRichRing_minus_Outside
vector< CbmRichRing * > VRichRing_minus_Outside
Definition: CbmKresConversionPhotons.h:142
CbmKresConversionPhotons::Gammas_two_Target
std::vector< std::vector< TVector3 > > Gammas_two_Target
Definition: CbmKresConversionPhotons.h:221
CbmKresConversionPhotons::Ph_fromTarget_Pt_reco_onetwo_Target
TH1D * Ph_fromTarget_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:415
CbmRichHit
Definition: CbmRichHit.h:19
CbmKresConversionPhotons::fArrayStsHit
TClonesArray * fArrayStsHit
Definition: CbmKresConversionPhotons.h:130
CbmKresConversionPhotons::fromCombinatorial_PDG_onetwo_Outside
TH1D * fromCombinatorial_PDG_onetwo_Outside
Definition: CbmKresConversionPhotons.h:525
CbmKresConversionPhotons::Ph_twoFromTarget_Pt_reco_onetwo_Target
TH1D * Ph_twoFromTarget_Pt_reco_onetwo_Target
Definition: CbmKresConversionPhotons.h:421
CbmKresConversionPhotons::Ph_fromEtas_Pt_reco_two_Target
TH1D * Ph_fromEtas_Pt_reco_two_Target
Definition: CbmKresConversionPhotons.h:384
CbmKresConversionPhotons::fPrimVertex
CbmVertex * fPrimVertex
Definition: CbmKresConversionPhotons.h:132
CbmKresConversionPhotons::DalitzAndConversion_Pt_two_Outside
TH1D * DalitzAndConversion_Pt_two_Outside
Definition: CbmKresConversionPhotons.h:501
CbmKresConversionPhotons::DP_LK_EMT_Pt_two_Target
TH1D * DP_LK_EMT_Pt_two_Target
Definition: CbmKresConversionPhotons.h:649
CbmKFVertex
Definition: CbmKFVertex.h:6
CbmKresConversionPhotons::fHistoList_dp_two_Outside
vector< TH1 * > fHistoList_dp_two_Outside
Definition: CbmKresConversionPhotons.h:478
CbmStsHit.h
Data class for a reconstructed hit in the STS.
CbmKresConversionPhotons::DP_OpeningAngleReco_zero_Target
TH1D * DP_OpeningAngleReco_zero_Target
Definition: CbmKresConversionPhotons.h:354
CbmKresConversionPhotons::DP_Pdg_two_Both
TH1D * DP_Pdg_two_Both
Definition: CbmKresConversionPhotons.h:583
CbmKresConversionPhotons::twoFromTarget_P_onetwo_Target
TH1D * twoFromTarget_P_onetwo_Target
Definition: CbmKresConversionPhotons.h:436
CbmKresConversionPhotons::twoFromTarget_PDG_two_Target
TH1D * twoFromTarget_PDG_two_Target
Definition: CbmKresConversionPhotons.h:392
CbmKresConversionPhotons::DP_EMT_Hits_minus_Target
std::vector< std::vector< TVector3 > > DP_EMT_Hits_minus_Target
Definition: CbmKresConversionPhotons.h:196
CbmStsTrack::GetNofStsHits
Int_t GetNofStsHits() const
Definition: CbmStsTrack.h:90
CbmKresConversionPhotons::DalitzAndConversion_Pt_onetwo_Target
TH1D * DalitzAndConversion_Pt_onetwo_Target
Definition: CbmKresConversionPhotons.h:433
CbmKresConversionPhotons::Gammas_stsIndex_zero_Outside
std::vector< std::vector< int > > Gammas_stsIndex_zero_Outside
Definition: CbmKresConversionPhotons.h:245
CbmKresConversionPhotons::GrandMother_PDG_Outside
TH1D * GrandMother_PDG_Outside
Definition: CbmKresConversionPhotons.h:286
CbmKresConversionPhotons::DP_LK_EMT_Pt_all_Outside
TH1D * DP_LK_EMT_Pt_all_Outside
Definition: CbmKresConversionPhotons.h:666