CbmRoot
Loading...
Searching...
No Matches
CbmAnaConversionKF.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_KF
14#define CBM_ANA_CONVERSION_KF
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 "CbmKFParticleFinder.h"
26#include "CbmMCTrack.h"
27#include "CbmVertex.h"
28#include "KFPartMatch.h"
29#include "KFParticle.h"
30#include "KFTopoPerformance.h"
31
32#include <vector>
33
35
36 public:
38 virtual ~CbmAnaConversionKF();
39
40 void Init();
41 void InitHistos();
42 void Finish();
43 void Exec();
44
45 //void KFParticle_Analysis();
46
47 void SetKF(CbmKFParticleFinder* kfparticle, CbmKFParticleFinderQa* kfparticleQA);
48 void SetSignalIds(std::vector<int>* signalids);
49 void SetGhostIds(std::vector<int>* ghostids);
50
51
52 void test();
53 Double_t Invmass_4particles(const CbmMCTrack* mctrack1, const CbmMCTrack* mctrack2, const CbmMCTrack* mctrack3,
54 const CbmMCTrack* mctrack4);
55
56 void test2();
57 void CombineElectrons();
58 void CombinePhotons();
59 void Reconstruct();
60 void ReconstructGammas();
61 Double_t Invmass_4particlesRECO(KFParticle part1, KFParticle part2, KFParticle part3, KFParticle part4);
62 Double_t Invmass_2gamma(KFParticle part1, KFParticle part2);
63 Double_t Invmass_2electrons(KFParticle part1, KFParticle part2);
64
65 Double_t OpeningAngleBetweenPhotons(KFParticle part1, KFParticle part2);
66
67
68 private:
69 TClonesArray* fKFMcParticles;
70 TClonesArray* fMcTracks;
71 TClonesArray* fStsTracks;
72 TClonesArray* fStsTrackMatches;
73
76
77 const KFParticleTopoReconstructor* fKFtopo;
78 KFTopoPerformance* fKFtopoPerf;
79 std::vector<int> trackindexarray;
86
87 // for data gained from the KFParticle package
88 Int_t fNofGeneratedPi0_allEvents; // number of generated pi0 summed up over ALL EVENTS
89 Int_t fNofPi0_kfparticle_allEvents; // number of all reconstructed pi0 summed up over ALL EVENTS
94
95
96 std::vector<int> fSignalIds;
97 std::vector<int> fGhostIds;
98
99
100 std::vector<TH1*> fHistoList_kfparticle; // list of all histograms containing results from KFParticle package
101
102
103 std::vector<KFParticle> particlevector;
104 std::vector<KFPartMatch> particleMatch;
105 std::vector<int> electronIDs;
106 std::vector<int> gammaIDs;
108
111
114
118
119
120 std::vector<std::vector<int>> fKF_photon_pairs;
122
123
124 // timer
125 TStopwatch timer;
126 Double_t fTime;
127
130
131 ClassDef(CbmAnaConversionKF, 1)
132};
133
134#endif
TClonesArray * fStsTracks
std::vector< KFParticle > particlevector
Double_t Invmass_2gamma(KFParticle part1, KFParticle part2)
TClonesArray * fStsTrackMatches
const KFParticleTopoReconstructor * fKFtopo
TClonesArray * fKFMcParticles
Double_t Invmass_4particlesRECO(KFParticle part1, KFParticle part2, KFParticle part3, KFParticle part4)
void SetSignalIds(std::vector< int > *signalids)
std::vector< int > fSignalIds
std::vector< std::vector< int > > fKF_photon_pairs
CbmKFParticleFinder * fKFparticle
void SetKF(CbmKFParticleFinder *kfparticle, CbmKFParticleFinderQa *kfparticleQA)
std::vector< TH1 * > fHistoList_kfparticle
Double_t Invmass_2electrons(KFParticle part1, KFParticle part2)
CbmAnaConversionKF(const CbmAnaConversionKF &)
std::vector< int > fGhostIds
CbmKFParticleFinderQa * fKFparticleFinderQA
TClonesArray * fMcTracks
std::vector< KFPartMatch > particleMatch
KFTopoPerformance * fKFtopoPerf
std::vector< int > electronIDs
CbmAnaConversionKF operator=(const CbmAnaConversionKF &)
Double_t Invmass_4particles(const CbmMCTrack *mctrack1, const CbmMCTrack *mctrack2, const CbmMCTrack *mctrack3, const CbmMCTrack *mctrack4)
void SetGhostIds(std::vector< int > *ghostids)
std::vector< int > trackindexarray
std::vector< int > gammaIDs
Double_t OpeningAngleBetweenPhotons(KFParticle part1, KFParticle part2)