CbmRoot
Loading...
Searching...
No Matches
CbmKFTrackQa.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2018 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Maksym Zyzak [committer] */
4
5//-----------------------------------------------------------
6//-----------------------------------------------------------
7
8#ifndef CbmKFTrackQa_HH
9#define CbmKFTrackQa_HH
10
11#include "FairTask.h"
12#include "TString.h"
13
14#include <map>
15#include <vector>
16
17class KFParticleTopoReconstructor;
18class KFTopoPerformance;
19class TClonesArray;
20class TFile;
21class TDirectory;
22class TH1F;
23class TH2F;
24class TProfile;
25class TObject;
26class CbmMCDataArray;
27class CbmMCEventList;
28
29class CbmKFTrackQa : public FairTask {
30 public:
31 // Constructors/Destructors ---------
32 CbmKFTrackQa(const char* name = "CbmKFTrackQa", Int_t iVerbose = 0, TString outFileName = "CbmKFTrackQa.root");
34
35 void SetStsTrackBranchName(const TString& name) { fStsTrackBranchName = name; }
36 void SetGlobalTrackBranchName(const TString& name) { fGlobalTrackBranchName = name; }
37 void SetTofBranchName(const TString& name) { fTofBranchName = name; }
38 void SetMCTrackBranchName(const TString& name) { fMCTracksBranchName = name; }
39 void SetTrackMatchBranchName(const TString& name) { fStsTrackMatchBranchName = name; }
40 void SetMuchTrackMatchBranchName(const TString& name) { fMuchTrackMatchBranchName = name; }
41 void SetTrdBranchName(const TString& name) { fTrdBranchName = name; }
42 void SetTrdHitBranchName(const TString& name) { fTrdHitBranchName = name; }
43 void SetRichBranchName(const TString& name) { fRichBranchName = name; }
44 void SetMuchTrackBranchName(const TString& name) { fMuchTrackBranchName = name; }
45 Int_t GetZtoNStation(Double_t getZ);
46
47 virtual InitStatus Init();
48 virtual void Exec(Option_t* opt);
49 virtual void Finish();
50
51 private:
54
55 void WriteHistosCurFile(TObject* obj);
56 int GetHistoIndex(int pdg);
57
58 //names of input branches
59
74
75 //input branches
76
78 TClonesArray* fStsTrackArray;
79 TClonesArray* fGlobalTrackArray;
80 TClonesArray* fRichRingArray;
81 TClonesArray* fTrdTrackArray;
82 TClonesArray* fTrdHitArray;
83 TClonesArray* fTofHitArray;
84 TClonesArray* fMuchTrackArray;
85 TClonesArray* fMCTrackArray;
86 TClonesArray* fStsTrackMatchArray;
87 TClonesArray* fRichRingMatchArray;
88 TClonesArray* fTrdTrackMatchArray;
89 TClonesArray* fTofHitMatchArray;
90 TClonesArray* fMuchTrackMatchArray;
91
92 CbmMCDataArray* fTofPoints; // CbmTofPoint array
93
94 //output file with histograms
95 TString fOutFileName;
96 TFile* fOutFile;
97 TDirectory* fHistoDir;
98
99 Int_t fNEvents;
100 std::map<int, int> fPDGtoIndexMap;
101
102 //histograms
103 //STS
104 static const int NStsHisto = 3;
105 TH1F* hStsHisto[8][NStsHisto]; //All tracks, electrons, muons, pion, kaon, protons, fragments, ghost
106 TH1F* hStsFitHisto[8][10];
107 //Much
108 static const int NMuchHisto = 5;
109 TH1F* hMuchHisto[3][NMuchHisto]; //Muons, Background, Ghost
110 //RICH
111 static const int NRichRingHisto2D = 3; // r, axis a, axis b
113 [10]
114 [NRichRingHisto2D]; //All tracks, electrons, muons, pions, kaons, protons, fragments, mismatch, ghost track, ghost ring
115 //Trd
116 static const int NTrdHisto = 2;
118 [14]
119 [NTrdHisto]; //All tracks, electrons, muons, pions, kaons, protons, fragments, mismatch, ghost track, ghost trd track, d, t, He3, He4
120 static const int NTrdHisto2D = 1;
122 //Tof
123 static const int NTofHisto2D = 2;
125 [14]
126 [NTofHisto2D]; //All tracks, electrons, muons, pions, kaons, protons, fragments, mismatch, ghost hit, ghost tof hit, d, t, He3, He4
127
128 static const int NTofProfiles = 3;
129 TProfile* hTofProfiles
130 [14]
131 [NTofProfiles]; //All tracks, electrons, muons, pions, kaons, protons, fragments, mismatch, ghost hit, ghost tof hit, d, t, He3, He4
132
134};
135
136#endif
virtual void Exec(Option_t *opt)
TString fTofHitMatchBranchName
TString fMuchTrackBranchName
static const int NTrdHisto
TH1F * hTrdHisto[14][NTrdHisto]
TClonesArray * fRichRingMatchArray
void SetStsTrackBranchName(const TString &name)
CbmKFTrackQa(const CbmKFTrackQa &)
virtual InitStatus Init()
TH1F * hStsFitHisto[8][10]
TString fStsTrackBranchName
TClonesArray * fTrdTrackArray
CbmMCEventList * fMcEventList
TClonesArray * fTofHitArray
TClonesArray * fTrdHitArray
void SetRichBranchName(const TString &name)
TString fTrdTrackMatchBranchName
static const int NTrdHisto2D
void SetTrackMatchBranchName(const TString &name)
TClonesArray * fMuchTrackArray
TH2F * hTrdHisto2D[14][NTrdHisto2D]
TString fTrdBranchName
TDirectory * fHistoDir
virtual void Finish()
void SetTofBranchName(const TString &name)
TClonesArray * fMCTrackArray
TClonesArray * fStsTrackMatchArray
void SetGlobalTrackBranchName(const TString &name)
TClonesArray * fGlobalTrackArray
TString fOutFileName
TString fTrdHitBranchName
static const int NTofHisto2D
static const int NTofProfiles
int GetHistoIndex(int pdg)
TH2F * hTofHisto2D[14][NTofHisto2D]
static const int NRichRingHisto2D
std::map< int, int > fPDGtoIndexMap
TH1F * hStsHisto[8][NStsHisto]
TH1F * hMuchHisto[3][NMuchHisto]
static const int NMuchHisto
TString fGlobalTrackBranchName
TClonesArray * fStsTrackArray
TString fMCTracksBranchName
TString fRichRingMatchBranchName
static const int NStsHisto
void SetMCTrackBranchName(const TString &name)
TClonesArray * fMuchTrackMatchArray
ClassDef(CbmKFTrackQa, 1)
TProfile * hTofProfiles[14][NTofProfiles]
TString fTofBranchName
TString fStsTrackMatchBranchName
CbmKFTrackQa(const char *name="CbmKFTrackQa", Int_t iVerbose=0, TString outFileName="CbmKFTrackQa.root")
void SetTrdBranchName(const TString &name)
Int_t GetZtoNStation(Double_t getZ)
TString fRichBranchName
TString fMcEventListBranchName
void SetTrdHitBranchName(const TString &name)
TH2F * hRichRingHisto2D[10][NRichRingHisto2D]
TClonesArray * fTofHitMatchArray
TFile * fOutFile
void WriteHistosCurFile(TObject *obj)
CbmMCDataArray * fTofPoints
void SetMuchTrackMatchBranchName(const TString &name)
const CbmKFTrackQa & operator=(const CbmKFTrackQa &)
void SetMuchTrackBranchName(const TString &name)
TString fMuchTrackMatchBranchName
TClonesArray * fTrdTrackMatchArray
TClonesArray * fRichRingArray
Access to a MC data branch for time-based analysis.
Container class for MC events with number, file and start time.