CbmRoot
Loading...
Searching...
No Matches
CbmAnaConversionPhotons.h
Go to the documentation of this file.
1/* Copyright (C) 2014-2016 Fakultaet fuer Mathematik und Naturwissenschaften, Bergische Universitaet Wuppertal, Wuppertal
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sascha Reinecke [committer], Florian Uhlig */
4
13#ifndef CBM_ANA_CONVERSION_PHOTONS
14#define CBM_ANA_CONVERSION_PHOTONS
15
16// included from ROOT
17#include <TClonesArray.h>
18#include <TH1.h>
19#include <TH2.h>
20#include <TH3.h>
21#include <TStopwatch.h>
22
23// included from CbmRoot
24#include "CbmKFVertex.h"
25#include "CbmMCTrack.h"
26#include "CbmVertex.h"
27
28#include <vector>
29
30#include "LmvmKinePar.h"
31
32/*
33class CbmAnaConversionKinematicParams
34{
35public:
36 Double_t fMomentumMag; // Absolute value of momentum
37 Double_t fPt; // Transverse momentum
38 Double_t fRapidity; // Rapidity
39 Double_t fMinv; // Invariant mass
40 Double_t fAngle; // Opening angle
41 TVector3 fMomentumPhoton;
42};
43*/
44
46
47public:
50
51 void Init();
52 void InitHistos();
53 void Finish();
54 void Exec();
55
56
57 void AnalysePhotons();
58 void FillMCTracklist(CbmMCTrack* mctrack);
61 void FillRecoTracklist_allElectrons(CbmMCTrack* mctrack, TVector3 refittedMom);
62 void CombineElectrons();
63 int CheckMC(CbmMCTrack* mctrack);
64
65 //CbmAnaConversionKinematicParams CalculateKinematicParams(const CbmMCTrack* mctrackP, const CbmMCTrack* mctrackM);
66 LmvmKinePar CalculateKinematicParams(const CbmMCTrack* mctrackP, const CbmMCTrack* mctrackM);
67 LmvmKinePar CalculateKinematicParamsReco(const TVector3 electron1, const TVector3 electron2);
68
69
73 void AnalyseGammas();
74
75
76private:
77 TClonesArray* fRichPoints;
78 TClonesArray* fRichRings;
79 TClonesArray* fRichRingMatches;
80 TClonesArray* fMcTracks;
81 TClonesArray* fStsTracks;
82 TClonesArray* fStsTrackMatches;
83 TClonesArray* fGlobalTracks;
86
87 std::vector<TH1*> fHistoList_photons; // list of all histograms related to rich rings
88 std::vector<TH1*> fHistoList_EFG;
89 std::vector<TH1*> fHistoList_EFG_angle;
90 std::vector<TH1*> fHistoList_EFG_invmass;
91 std::vector<TH1*> fHistoList_EFG_energy;
92
93
104
109
110 std::vector<CbmMCTrack*> fMCTracklist;
111 std::vector<CbmMCTrack*> fMCTracklist_allElectronsFromGamma;
112 std::vector<CbmMCTrack*> fRecoTracklist_allElectronsFromGamma;
114 std::vector<CbmMCTrack*> fRecoTracklist_allElectronsFromPi0;
116
117 std::vector<CbmMCTrack*> fMCTracklist_allGammas;
118 std::vector<CbmMCTrack*> fMCTracklist_allGammasFromPi0;
119
123
124 // distributions of opening angles from MC-true data
131
132 // opening angle vs energy from MC-true data
133 //TH2D * fhEFG_angleVSenergy_all;
134 //TH2D * fhEFG_angleVSenergy_combBack;
139
140 // opening angle vs pt from MC-true data
147
148 // distribution of invariant masses from MC-true data
155
156 // distribution of energies from MC-true data
163
164 // distribution of opening angle for energies below 1 GeV from MC-true data
171
172 // distribution of opening angle for energies above 1 GeV from MC-true data
179
180 // distribution of pair-wise momenta from MC-true data
187
188 // startvertex (= point of conversion) on z-axis versus opening angle from MC-true data
189 //TH2D * fhEFG_startvertexVSangle_all;
190 //TH2D * fhEFG_startvertexVSangle_combBack;
195
197
198 // distribution of opening angles from reconstructed momenta
205
206 // distribution of opening angles from reconstructed momenta, with application of opening angle cuts
210
211 // histogram for comparison of different opening angle cuts and their influence on signal and background amounts
213
214 // distribution of opening angles for photon-energies below 1GeV from reconstructed momenta
221
222 // distribution of invariant masses from reconstructed momenta
229
230 // distribution of invariant masses from reconstructed momenta with cut on opening angle
237
238 // opening angle vs pt from reconstructed data
245
246 // invariant mass vs pt from reconstructed data
253
254 // momentum resolution of photons from reconstructed data
257
258 // opening angles for e+e- pairs from pi0 dalitz decays (i.e. e+e- pairs directly stemming from pi0)
260
261 // histos for direct combination of two gammas
264
265
266 // timer
267 TStopwatch timer;
268 Double_t fTime;
269
272
273 ClassDef(CbmAnaConversionPhotons, 1)
274};
275
276#endif
int CheckMC(CbmMCTrack *mctrack)
std::vector< TH1 * > fHistoList_EFG_angle
void FillMCTracklist(CbmMCTrack *mctrack)
void FillMCTracklist_allGammas(CbmMCTrack *mctrack)
void FillRecoTracklist_allElectrons(CbmMCTrack *mctrack, TVector3 refittedMom)
std::vector< CbmMCTrack * > fRecoTracklist_allElectronsFromGamma
CbmAnaConversionPhotons(const CbmAnaConversionPhotons &)
std::vector< CbmMCTrack * > fMCTracklist_allGammasFromPi0
std::vector< CbmMCTrack * > fMCTracklist_allGammas
std::vector< TH1 * > fHistoList_EFG
void FillMCTracklist_allElectrons(CbmMCTrack *mctrack)
std::vector< CbmMCTrack * > fRecoTracklist_allElectronsFromPi0
CbmAnaConversionPhotons operator=(const CbmAnaConversionPhotons &)
std::vector< CbmMCTrack * > fMCTracklist
LmvmKinePar CalculateKinematicParams(const CbmMCTrack *mctrackP, const CbmMCTrack *mctrackM)
std::vector< CbmMCTrack * > fMCTracklist_allElectronsFromGamma
std::vector< TH1 * > fHistoList_photons
std::vector< TVector3 > fRecoTracklist_allElectronsFromPi0Mom
std::vector< TH1 * > fHistoList_EFG_energy
LmvmKinePar CalculateKinematicParamsReco(const TVector3 electron1, const TVector3 electron2)
std::vector< TH1 * > fHistoList_EFG_invmass
std::vector< TVector3 > fRecoTracklist_allElectronsFromGammaMom