File indexing completed on 2025-01-18 09:57:45
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #pragma once
0012
0013 #include <GaudiAlg/GaudiHistoAlg.h>
0014 #include <GaudiPython/Vector.h>
0015
0016 struct GaudiHistoTool;
0017
0018 namespace GaudiPython {
0019
0020
0021
0022
0023
0024
0025 class GAUDI_API HistoDecorator {
0026 public:
0027
0028 typedef std::vector<GaudiAlg::ID> IDs;
0029 typedef std::vector<AIDA::IHistogram1D*> Histos1D;
0030 typedef std::vector<AIDA::IHistogram2D*> Histos2D;
0031 typedef std::vector<AIDA::IHistogram3D*> Histos3D;
0032 typedef std::vector<AIDA::IProfile1D*> Profiles1D;
0033 typedef std::vector<AIDA::IProfile2D*> Profiles2D;
0034
0035 public:
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& title,
0047 const double low, const double high, const unsigned long bins = 100 );
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const GaudiAlg::HistoID& ID,
0060 const std::string& title, const double low, const double high,
0061 const unsigned long bins = 100 );
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
0074 const std::string& title, const double low, const double high,
0075 const unsigned long bins = 100 );
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& ID,
0088 const std::string& title, const double low, const double high,
0089 const unsigned long bins = 100 );
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
0101 const std::string& title, const double low, const double high,
0102 const unsigned long bins = 100 );
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
0115 const GaudiAlg::HistoID& ID, const std::string& title, const double low,
0116 const double high, const unsigned long bins = 100 );
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data, const long ID,
0129 const std::string& title, const double low, const double high,
0130 const unsigned long bins = 100 );
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142 static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
0143 const std::string& ID, const std::string& title, const double low,
0144 const double high, const unsigned long bins = 100 );
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159 static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0160 const std::string& title, const double lowX, const double highX,
0161 const double lowY, const double highY, const unsigned long binsX = 50,
0162 const unsigned long binsY = 50, const double weight = 1.0 );
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178 static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0179 const GaudiAlg::HistoID& ID, const std::string& title, const double lowX,
0180 const double highX, const double lowY, const double highY,
0181 const unsigned long binsX = 50, const unsigned long binsY = 50,
0182 const double weight = 1.0 );
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198 static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0199 const long ID, const std::string& title, const double lowX, const double highX,
0200 const double lowY, const double highY, const unsigned long binsX = 50,
0201 const unsigned long binsY = 50, const double weight = 1.0 );
0202
0203
0204
0205
0206
0207
0208
0209
0210
0211
0212
0213
0214
0215
0216
0217 static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0218 const std::string& ID, const std::string& title, const double lowX,
0219 const double highX, const double lowY, const double highY,
0220 const unsigned long binsX = 50, const unsigned long binsY = 50,
0221 const double weight = 1.0 );
0222
0223
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240 static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0241 const double valueZ, const std::string& title, const double lowX,
0242 const double highX, const double lowY, const double highY, const double lowZ,
0243 const double highZ, const unsigned long binsX = 10,
0244 const unsigned long binsY = 10, const unsigned long binsZ = 10,
0245 const double weight = 1.0 );
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265 static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0266 const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
0267 const double lowX, const double highX, const double lowY, const double highY,
0268 const double lowZ, const double highZ, const unsigned long binsX = 10,
0269 const unsigned long binsY = 10, const unsigned long binsZ = 10,
0270 const double weight = 1.0 );
0271
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285
0286
0287
0288
0289
0290 static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0291 const double valueZ, const long ID, const std::string& title, const double lowX,
0292 const double highX, const double lowY, const double highY, const double lowZ,
0293 const double highZ, const unsigned long binsX = 10,
0294 const unsigned long binsY = 10, const unsigned long binsZ = 10,
0295 const double weight = 1.0 );
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315 static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0316 const double valueZ, const std::string& ID, const std::string& title,
0317 const double lowX, const double highX, const double lowY, const double highY,
0318 const double lowZ, const double highZ, const unsigned long binsX = 10,
0319 const unsigned long binsY = 10, const unsigned long binsZ = 10,
0320 const double weight = 1.0 );
0321
0322
0323
0324 static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0325 const std::string& title, const double lowX, const double highX,
0326 const unsigned long binsX = 100, const std::string& opt = "",
0327 const double lowY = -std::numeric_limits<double>::max(),
0328 const double highY = std::numeric_limits<double>::max(),
0329 const double weight = 1.0 );
0330
0331
0332
0333 static AIDA::IProfile1D*
0334 profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const GaudiAlg::HistoID& ID,
0335 const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
0336 const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
0337 const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
0338
0339
0340
0341 static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0342 const long ID, const std::string& title, const double lowX, const double highX,
0343 const unsigned long binsX = 100, const std::string& opt = "",
0344 const double lowY = -std::numeric_limits<double>::max(),
0345 const double highY = std::numeric_limits<double>::max(),
0346 const double weight = 1.0 );
0347
0348
0349
0350 static AIDA::IProfile1D*
0351 profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const std::string& ID,
0352 const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
0353 const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
0354 const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
0355
0356
0357
0358 static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0359 const double valueZ, const std::string& title, const double lowX,
0360 const double highX, const double lowY, const double highY,
0361 const unsigned long binsX = 50, const unsigned long binsY = 50,
0362 const double weight = 1.0 );
0363
0364
0365
0366 static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0367 const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
0368 const double lowX, const double highX, const double lowY, const double highY,
0369 const unsigned long binsX = 50, const unsigned long binsY = 50,
0370 const double weight = 1.0 );
0371
0372
0373
0374 static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0375 const double valueZ, const long ID, const std::string& title, const double lowX,
0376 const double highX, const double lowY, const double highY,
0377 const unsigned long binsX = 50, const unsigned long binsY = 50,
0378 const double weight = 1.0 );
0379
0380
0381
0382 static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
0383 const double valueZ, const std::string& ID, const std::string& title,
0384 const double lowX, const double highX, const double lowY, const double highY,
0385 const unsigned long binsX = 50, const unsigned long binsY = 50,
0386 const double weight = 1.0 );
0387
0388 public:
0389
0390 static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos1D& histos );
0391 static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos1D& histos );
0392 static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos1D& histos );
0393 static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos1D& histos );
0394
0395 static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos2D& histos );
0396 static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos2D& histos );
0397 static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos2D& histos );
0398 static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos2D& histos );
0399
0400 static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos3D& histos );
0401 static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos3D& histos );
0402 static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos3D& histos );
0403 static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos3D& histos );
0404
0405 static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles1D& histos );
0406 static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles1D& histos );
0407 static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles1D& histos );
0408 static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles1D& histos );
0409
0410 static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles2D& histos );
0411 static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles2D& histos );
0412 static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles2D& histos );
0413 static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles2D& histos );
0414
0415 };
0416
0417 }