CbmRoot
Loading...
Searching...
No Matches
CbmTrdUtils.h
Go to the documentation of this file.
1/* Copyright (C) 2013-2020 Institut fuer Kernphysik, Westfaelische Wilhelms-Universitaet Muenster, Muenster
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Cyrano Bergmann [committer], Florian Uhlig */
4
5#ifndef CBMTRDUTILS_H
6#define CBMTRDUTILS_H 1
7
8#include <RtypesCore.h> // for Int_t, Double_t, Bool_t
9#include <TString.h> // for TString
10
11#include <map> // for map
12#include <vector> // for vector
13
16class TH1;
17class TH2;
18class TH3;
19class TLegend;
20class TPolyLine;
21class TProfile;
22
24public:
26 virtual ~CbmTrdUtils();
27 void InitColorVector(Bool_t logScale, Double_t min, Double_t max);
28 Int_t GetColorCode(Double_t value);
29 void Statusbar(Int_t i, Int_t n);
30 Int_t GetModuleType(Int_t moduleAddress, CbmTrdParModDigi* fModuleInfo, CbmTrdParSetDigi* fDigiPar);
31 void NiceLegend(TLegend* l);
32 void NiceTProfile(TProfile* h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle);
33 void NiceTH3(TH3* h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle, TString zTitle);
34 void NiceTH2(TH2* h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle, TString zTitle);
35 void NiceTH1(TH1* h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle);
36 void CreateLayerView(std::map<Int_t /*moduleAddress*/, TH1*>& Map, CbmTrdParModDigi* fModuleInfo,
37 CbmTrdParSetDigi* fDigiPar, const TString folder, const TString pics, const TString zAxisTitle,
38 const Double_t fmax, const Double_t fmin, const Bool_t logScale);
39 TPolyLine* CreateTriangularPad(Int_t column, Int_t row, Double_t value, Double_t min_range, Double_t max_range,
40 Bool_t logScale);
41 TPolyLine* CreateRectangularPad(Int_t column, Int_t row, Double_t value, Double_t min_range, Double_t max_range,
42 Bool_t logScale);
43 static TString GetGeantName(Int_t GeantId)
44 {
45 if (GeantId == 1) return (TString) "#gamma";
46 else if (GeantId == 2)
47 return (TString) "e^{+}";
48 else if (GeantId == 3)
49 return (TString) "e^{-}";
50 else if (GeantId == 4)
51 return (TString) "#nu_{(e;#mu;#tau)}";
52 else if (GeantId == 5)
53 return (TString) "#mu^{+}";
54 else if (GeantId == 6)
55 return (TString) "#mu^{-}";
56 else if (GeantId == 7)
57 return (TString) "#pi^{0}";
58 else if (GeantId == 8)
59 return (TString) "#pi^{+}";
60 else if (GeantId == 9)
61 return (TString) "#pi^{-}";
62 else if (GeantId == 10)
63 return (TString) "K^{0}_{L}";
64 else if (GeantId == 11)
65 return (TString) "K^{+}";
66 else if (GeantId == 12)
67 return (TString) "K^{-}";
68 else if (GeantId == 13)
69 return (TString) "n";
70 else if (GeantId == 14)
71 return (TString) "p";
72 else if (GeantId == 15)
73 return (TString) "#bar{p}";
74 else if (GeantId == 16)
75 return (TString) "K^{0}_{S}";
76 else if (GeantId == 17)
77 return (TString) "#eta";
78 else if (GeantId == 18)
79 return (TString) "#Lambda";
80 else if (GeantId == 19)
81 return (TString) "#Sigma^{+}";
82 else if (GeantId == 20)
83 return (TString) "#Sigma^{0}";
84 else if (GeantId == 21)
85 return (TString) "#Sigma^{-}";
86 else if (GeantId == 22)
87 return (TString) "#Xi^{0}";
88 else if (GeantId == 23)
89 return (TString) "#Xi^{-}";
90 else if (GeantId == 24)
91 return (TString) "#Omega^{-}";
92 else if (GeantId == 25)
93 return (TString) "#bar{n}";
94 else if (GeantId == 26)
95 return (TString) "#bar{#Lambda}";
96 else if (GeantId == 27)
97 return (TString) "#bar{#Sigma}^{-}";
98 else if (GeantId == 28)
99 return (TString) "#bar{#Sigma}^{0}";
100 else if (GeantId == 29)
101 return (TString) "#bar{#Sigma}^{+}";
102 else if (GeantId == 30)
103 return (TString) "#bar{#Xi}^{0}";
104 else if (GeantId == 31)
105 return (TString) "#bar{#Xi}^{+}";
106 else if (GeantId == 32)
107 return (TString) "#bar{#Omega}^{+}";
108 else if (GeantId == 33)
109 return (TString) "#tau^{+}";
110 else if (GeantId == 34)
111 return (TString) "#tau^{-}";
112 else if (GeantId == 35)
113 return (TString) "D^{+}";
114 else if (GeantId == 36)
115 return (TString) "D^{-}";
116 else if (GeantId == 37)
117 return (TString) "D^{0}";
118 else if (GeantId == 38)
119 return (TString) "#bar{D}^{+}";
120 else if (GeantId == 39)
121 return (TString) "D_{S}^{+}";
122 else if (GeantId == 40)
123 return (TString) "#bar{D_{S}}^{-}";
124 else if (GeantId == 41)
125 return (TString) "#Lambda_{C}^{+}";
126 else if (GeantId == 42)
127 return (TString) "W^{+}";
128 else if (GeantId == 43)
129 return (TString) "W^{-}";
130 else if (GeantId == 44)
131 return (TString) "Z^{0}";
132 else if (GeantId == 45)
133 return (TString) "d";
134 else if (GeantId == 46)
135 return (TString) "t";
136 else if (GeantId == 47)
137 return (TString) "He";
138 else if (GeantId == 48)
139 return (TString) "#gamma_{RICH}";
140 else if (GeantId == 49)
141 return (TString) "Primary";
142 else
143 return (TString) "not known";
144 };
145 static Int_t PdgToGeant(Int_t PdgCode);
146
147private:
148 std::vector<Int_t> fColors;
149 std::vector<Double_t> fZLevel;
150};
151#endif
Data class with information on a STS local track.
Definition of chamber gain conversion for one TRD module.
void NiceTH2(TH2 *h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle, TString zTitle)
void CreateLayerView(std::map< Int_t, TH1 * > &Map, CbmTrdParModDigi *fModuleInfo, CbmTrdParSetDigi *fDigiPar, const TString folder, const TString pics, const TString zAxisTitle, const Double_t fmax, const Double_t fmin, const Bool_t logScale)
Int_t GetColorCode(Double_t value)
static Int_t PdgToGeant(Int_t PdgCode)
void NiceTH3(TH3 *h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle, TString zTitle)
void NiceLegend(TLegend *l)
virtual ~CbmTrdUtils()
std::vector< Double_t > fZLevel
void NiceTProfile(TProfile *h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle)
TPolyLine * CreateTriangularPad(Int_t column, Int_t row, Double_t value, Double_t min_range, Double_t max_range, Bool_t logScale)
void NiceTH1(TH1 *h, Int_t color, Int_t mStyle, Int_t mSize, TString xTitle, TString yTitle)
TPolyLine * CreateRectangularPad(Int_t column, Int_t row, Double_t value, Double_t min_range, Double_t max_range, Bool_t logScale)
Int_t GetModuleType(Int_t moduleAddress, CbmTrdParModDigi *fModuleInfo, CbmTrdParSetDigi *fDigiPar)
std::vector< Int_t > fColors
static TString GetGeantName(Int_t GeantId)
Definition CbmTrdUtils.h:43
void InitColorVector(Bool_t logScale, Double_t min, Double_t max)
void Statusbar(Int_t i, Int_t n)