14#ifndef TILEPATERMONTOOL_H
15#define TILEPATERMONTOOL_H
35class TGraphAsymmErrors;
55 const IInterface* parent);
66 TH1D*
book1D(
const std::string& nam,
const std::string& tit,
73 TH2D*
book2D(
const std::string& nam,
const std::string& tit,
80 TH1D*
book1D(
const std::string & dir,
const std::string & nam,
const std::string & tit,
83 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
85 TH1F*
book1F(
const std::string & dir,
const std::string & nam,
const std::string & tit,
88 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
90 TH1I*
book1I(
const std::string & dir,
const std::string & nam,
const std::string & tit,
93 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
95 TH1S*
book1S(
const std::string & dir,
const std::string & nam,
const std::string & tit,
98 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
100 TH1S*
book1Sx(
const std::string & dir,
const std::string & nam,
const std::string & tit,
101 int nx,
const Double_t *xlgbins,
103 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
105 TH1C*
book1C(
const std::string & dir,
const std::string & nam,
const std::string & tit,
108 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
110 TH2D*
book2D(
const std::string & dir,
const std::string & nam,
const std::string & tit,
114 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
116 TH2F*
book2F(
const std::string & dir,
const std::string & nam,
const std::string & tit,
120 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
122 TH2F*
book2F(
const std::string & dir,
const std::string & nam,
const std::string & tit,
124 int ny,
const double* ybins,
126 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
128 TH2I*
book2I(
const std::string & dir,
const std::string & nam,
const std::string & tit,
132 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
136 TH2S*
book2S(
const std::string & dir,
const std::string & nam,
const std::string & tit,
140 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
142 TH2C*
book2C(
const std::string & dir,
const std::string & nam,
const std::string & tit,
146 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
149 TProfile*
bookProfile(
const std::string & dir,
const std::string & nam,
const std::string & tit,
152 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
154 TProfile*
bookProfile(
const std::string & dir,
const std::string & nam,
const std::string & tit,
158 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
160 TProfile*
bookProfile(
const std::string & dir,
const std::string & nam,
const std::string & tit,
161 int nx,
const float* xbins,
163 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
164 TProfile2D*
bookProfile2D(
const std::string & dir,
const std::string & nam,
const std::string & tit,
167 double zmin,
double zmax,
169 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"");
173 TGraph*
bookGraph (
const std::string& dir,
const std::string& nam,
const std::string& tit,
int N,
float* X,
float* Y);
175 TGraphErrors*
bookGraphErrors (
const std::string& dir,
const std::string& nam,
const std::string& tit,
176 int N,
float* X,
float* Y,
float* X_errors,
float* Y_errors);
178 TGraphAsymmErrors*
bookGraphAsymmErrors (
const std::string& dir,
const std::string& nam,
const std::string& tit,
179 int N,
float* X,
float* Y,
float* X_errors1,
180 float* X_errors2,
float* Y_errors1,
float* Y_errors2);
187 template <
typename T>
188 void regHist(
const std::string& subDir, T* hist,
190 const std::string &trigChain =
"",
const std::string & mergeAlgo =
"" );
192 template <
typename T>
193 void regGraph(
const std::string& subDir, T* graph,
195 const std::string & trigChain =
"",
const std::string & mergeAlgo =
"" );
210 std::string
m_EBcellName[48] = {
"E3",
"E4",
"D4",
"D4",
"C10",
"C10",
"A12",
"A12",
"B11",
"B11",
"A13",
"A13"
211 ,
"E1",
"E2",
"B12",
"B12",
"D5",
"D5",
"E3*",
"E4*",
"A14",
"A14",
"B13",
"B13"
212 ,
"",
"",
"",
"",
"",
"",
"B14",
"A15",
"A15",
"",
"",
"B14"
213 ,
"B15",
"D6",
"D6",
"B15",
"A16",
"A16",
"",
"",
"",
"",
"",
"" };
215 std::string
m_LBcellName[48] = {
"D0",
"A1",
"B1",
"B1",
"A1",
"A2",
"B2",
"B2",
"A2",
"A3",
"A3",
"B3"
216 ,
"B3",
"D1",
"D1",
"A4",
"B4",
"B4",
"A4",
"A5",
"A5",
"B5",
"B5",
"A6"
217 ,
"D2",
"D2",
"A6",
"B6",
"B6",
"A7",
"",
"",
"A7",
"B7",
"B7",
"A8"
218 ,
"A9",
"A9",
"A8",
"B8",
"B8",
"D3",
"B9",
"",
"D3",
"A10",
"A10",
"B9" };
221 inline std::string
getCellName(
unsigned int ros,
unsigned int channel) {
240 int m_chMapLB[48] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
241 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
242 , 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0
243 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 };
245 int m_chMapEB[48] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
246 , 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0
247 , 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0
248 , 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 };
250 int m_chMapEBsp[48] = { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0
251 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
252 , 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0
253 , 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 };
261 if (((ros == 3) && (drawer == 14)) || ((ros == 4) && (drawer == 17))) {
The Athena Transient Store API.
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)