| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

HistogramSvc.h
Go to the documentation of this file.
1 // ============================================================================
2 #ifndef GAUDISVC_HISTOGRAMSVC_H
3 #define GAUDISVC_HISTOGRAMSVC_H 1
4 // ============================================================================
5 // Include Files
6 // ============================================================================
7 // GaudiKernel
8 // ============================================================================
9 #include "GaudiKernel/System.h"
10 #include "GaudiKernel/DataSvc.h"
11 #include "GaudiKernel/IHistogramSvc.h"
12 #include "GaudiKernel/GaudiException.h"
13 #include "GaudiKernel/IRegistry.h"
14 #include "GaudiKernel/HistoProperty.h"
15 // ============================================================================
16 // AIDA
17 // ============================================================================
19 #include "AIDA_visibility_hack.h"
20 #include "AIDA/IHistogramFactory.h"
21 #include "AIDA/IAnnotation.h"
22 // ============================================================================
23 // local (+PI)
24 // ============================================================================
25 #include "Axis.h"
26 #include "GaudiPI.h"
27 #include "TH1.h"
28 #include "TH2.h"
29 #include "TH3.h"
30 // ============================================================================
31 namespace AIDA {
32 class ICloud1D;
33 class ICloud2D;
34 class ICloud3D;
35 }
36 // ============================================================================
37 // Forward declarations
38 #define DBINS(x) int n##x, double low##x, double up##x
39 #define BINS(x) n##x, low##x, up##x
40 #define NOT_IMPLEMENTED { not_implemented(); return 0; }
41 // ============================================================================
47 class HistogramSvc : virtual public extends<DataSvc,
48 IHistogramSvc>,
49 virtual public AIDA::IHistogramFactory
50 {
51
52 private:
53 typedef const std::pair<std::string,std::string>& STRPAIR;
54 void not_implemented() const {
55 error() << "Sorry, not yet implemented..." << endmsg;
56 }
57 protected:
58 typedef const std::string& CSTR;
59 typedef std::vector<double> Edges;
60 typedef std::vector<std::string> DBaseEntries;
61 typedef AIDA::IHistogram1D H1D;
62 typedef AIDA::IHistogram2D H2D;
63 typedef AIDA::IHistogram3D H3D;
64 typedef AIDA::IProfile1D P1D;
65 typedef AIDA::IProfile2D P2D;
66 typedef AIDA::IBaseHistogram Base;
67 struct Helper {
68 HistogramSvc* m_svc;
69 Helper(HistogramSvc* p) : m_svc(p) {}
70 template <class A1, class A3> StatusCode retrieve(A1 a1, A3*& a3) {
71 DataObject* pObject = nullptr;
72 StatusCode sc = m_svc->DataSvc::retrieveObject(a1,pObject);
73 a3 = dynamic_cast<A3*>(pObject);
74 return sc;
75 }
76 template <class A1, class A2, class A3> StatusCode retrieve(A1 a1, A2 a2, A3*& a3) {
77 DataObject* pObject = nullptr;
78 StatusCode sc = m_svc->DataSvc::retrieveObject(a1,a2,pObject);
79 a3 = dynamic_cast<A3*>(pObject);
80 return sc;
81 }
82 template <class A1, class A3> StatusCode find(A1 a1, A3*& a3) {
83 DataObject* pObject = nullptr;
84 StatusCode sc = m_svc->DataSvc::findObject(a1,pObject);
85 a3 = dynamic_cast<A3*>(pObject);
86 return sc;
87 }
88 template <class A1, class A2, class A3> StatusCode find(A1 a1, A2 a2, A3*& a3) {
89 DataObject* pObject = nullptr;
90 StatusCode sc = m_svc->DataSvc::findObject(a1,a2,pObject);
91 a3 = dynamic_cast<A3*>(pObject);
92 return sc;
93 }
94 template <class R, class S, class T1, class T2>
95 static R* act(R* res,const S& b, void (T1::*pmf)(const T2*,Double_t), Double_t scale) {
96 T1 *h1 = Gaudi::getRepresentation<R,T1>(*res);
97 T1 *h2 = Gaudi::getRepresentation<R,T1>(b);
98 if ( h1 && h2 ) {
99 (h1->*pmf)(h2,scale);
100 return res;
101 }
102 return nullptr;
103 }
104 template <class R, class S, class T1, class T2>
105 static R* act(R* res,const S& b, Bool_t (T1::*pmf)(const T2*,Double_t), Double_t scale) {
106 T1 *h1 = Gaudi::getRepresentation<R,T1>(*res);
107 T1 *h2 = Gaudi::getRepresentation<R,T1>(b);
108 if ( h1 && h2 ) {
109 (h1->*pmf)(h2,scale);
110 return res;
111 }
112 return nullptr;
113 }
114 template <class R, class S, class T1, class T2>
115 static R* act(R* res,const S& b, void (T1::*pmf)(const T2*)) {
116 T1 *h1 = Gaudi::getRepresentation<R,T1>(*res);
117 T1 *h2 = Gaudi::getRepresentation<R,T1>(b);
118 if ( h1 && h2 ) {
119 (h1->*pmf)(h2);
120 return res;
121 }
122 return nullptr;
123 }
124 template <class R, class S, class T1, class T2>
125 static R* act(R* res,const S& b, Bool_t (T1::*pmf)(const T2*)) {
126 T1 *h1 = Gaudi::getRepresentation<R,T1>(*res);
127 T1 *h2 = Gaudi::getRepresentation<R,T1>(b);
128 if ( h1 && h2 ) {
129 (h1->*pmf)(h2);
130 return res;
131 }
132 return nullptr;
133 }
134 };
135
136
138 DBaseEntries m_input;
139
140 public:
145 HistogramSvc(const std::string& name, ISvcLocator* svc );
146
148 ~HistogramSvc() override;
149
155 std::pair<std::string,std::string> i_splitPath(CSTR full);
156
160 StatusCode connectInput(CSTR ident);
161
162 template <class T> inline
163 T* i_book(DataObject* pPar,CSTR rel,CSTR title,const std::pair<DataObject*,T*>& o) {
164 if (o.first && registerObject(pPar, rel, (Base*)o.second).isSuccess())
165 return o.second;
166 delete o.first;
167 throw GaudiException("Cannot book "+System::typeinfoName(typeid(T))+" "+title,
168 "HistogramSvc",StatusCode::FAILURE);
169 }
170 template <class T> static DataObject* __cast(T* p) {
171 DataObject* q = dynamic_cast<DataObject*>(p);
172 if ( !q && p ) {
173 throw std::runtime_error("HistogramSvc: Unexpected object type.");
174 }
175 return q;
176 }
178 H2D* i_project(CSTR nameAndTitle,const H3D& h, CSTR dir);
179
180 public:
182 StatusCode initialize () override;
184 StatusCode reinitialize () override;
186 StatusCode finalize () override;
187
189 AIDA::IHistogramFactory* histogramFactory() override { return this; }
190
191 // ==========================================================================
192 // Book 1D histogram with fix binning
193 // ==========================================================================
211 H1D* book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
212 { return book(createPath(par), rel, title, BINS(x)); }
213 H1D* book(CSTR par, int hID, CSTR title, DBINS(x)) override
214 { return book(par, std::to_string(hID), title, BINS(x)); }
215 H1D* book(DataObject* pPar, int hID, CSTR title, DBINS(x)) override
216 { return book(pPar, std::to_string(hID), title, BINS(x)); }
217 H1D* book(DataObject* pPar, CSTR rel, CSTR title, DBINS(x)) override;
218 virtual H1D* book(STRPAIR loc,CSTR title, DBINS(x))
219 { return book(loc.first, loc.second, title, BINS(x)); }
220 H1D* book(CSTR full, CSTR title, DBINS(x)) override
221 { return book(i_splitPath(full), title, BINS(x)); }
222 // ==========================================================================
223 // Book 1D Profile histogram with fix binning
224 // ==========================================================================
242 P1D* bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x),CSTR opt) override
243 { return bookProf(createPath(par), rel, title, BINS(x),opt); }
244 P1D* bookProf(CSTR par, int hID, CSTR title, DBINS(x),CSTR opt ) override
245 { return bookProf(par, std::to_string(hID), title, BINS(x),opt); }
246 P1D* bookProf(DataObject* pPar, int hID, CSTR title, DBINS(x),CSTR opt ) override
247 { return bookProf(pPar, std::to_string(hID), title, BINS(x),opt); }
248 virtual P1D* bookProf(STRPAIR loc,CSTR title, DBINS(x),CSTR opt)
249 { return bookProf(loc.first, loc.second, title, BINS(x),opt); }
250 P1D* bookProf(CSTR full, CSTR title, DBINS(x),CSTR opt) override
251 { return bookProf(i_splitPath(full), title, BINS(x),opt); }
252 P1D* bookProf(DataObject* pPar, CSTR rel, CSTR title, DBINS(x),CSTR opt) override
253 { return i_book(pPar,rel,title,Gaudi::createProf1D(title, BINS(x),0,0,opt)); }
254
255 P1D* bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), double upper, double lower,CSTR opt) override
256 { return bookProf(createPath(par), rel, title, BINS(x), upper, lower , opt); }
257 P1D* bookProf(CSTR par, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
258 { return bookProf(par, std::to_string(hID), title, BINS(x), upper, lower, opt ); }
259 P1D* bookProf(DataObject* pPar, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
260 { return bookProf(pPar, std::to_string(hID), title, BINS(x), upper, lower, opt); }
261 virtual P1D* bookProf(STRPAIR loc,CSTR title, DBINS(x), double upper, double lower, CSTR opt)
262 { return bookProf(loc.first, loc.second, title, BINS(x), upper, lower,opt); }
263 P1D* bookProf(CSTR full, CSTR title, DBINS(x), double upper, double lower, CSTR opt ) override
264 { return bookProf(i_splitPath(full), title, BINS(x), upper, lower , opt ); }
265 P1D* bookProf(DataObject* pPar, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
266 { return i_book(pPar,rel,title,Gaudi::createProf1D(title, BINS(x), upper, lower, opt)); }
267 // ==========================================================================
268 // Book 1D histogram with variable binning
269 // ==========================================================================
284 H1D* book(CSTR par, int hID, CSTR title, Edges e) override
285 { return book(par, std::to_string(hID), title, e); }
286 H1D* book(DataObject* pPar, int hID, CSTR title, Edges e) override
287 { return book(pPar, std::to_string(hID), title, e); }
288 H1D* book(CSTR par, CSTR rel, CSTR title, Edges e ) override
289 { return book(createPath(par), rel, title, e); }
290 virtual H1D* book(STRPAIR loc,CSTR title, Edges e )
291 { return book(loc.first, loc.second, title, e); }
292 H1D* book(CSTR full, CSTR title, Edges e ) override
293 { return book(i_splitPath(full), title, e); }
294 H1D* book(DataObject* pPar, CSTR rel, CSTR title, Edges e ) override
295 { return i_book(pPar, rel, title, Gaudi::createH1D(title, e)); }
296
297 // ==========================================================================
298 // Book 1D profile histogram with variable binning
299 // ==========================================================================
314 P1D* bookProf(CSTR full, CSTR title, Edges e ) override
315 { return bookProf(i_splitPath(full), title, e); }
316 P1D* bookProf(CSTR par, CSTR rel, CSTR title, Edges e ) override
317 { return bookProf(createPath(par), rel, title, e); }
318 P1D* bookProf(CSTR par, int hID, CSTR title, Edges e ) override
319 { return bookProf(par, std::to_string(hID), title, e); }
320 P1D* bookProf(DataObject* pPar, int hID, CSTR title, Edges e ) override
321 { return bookProf(pPar, std::to_string(hID), title, e); }
322 virtual P1D* bookProf(STRPAIR loc,CSTR title, Edges e)
323 { return bookProf(loc.first, loc.second, title, e); }
324 P1D* bookProf(DataObject* pPar, CSTR rel, CSTR title, Edges e ) override
325 { return i_book(pPar,rel,title,Gaudi::createProf1D(title, e, 0, 0)); }
326
327 virtual P1D* bookProf(CSTR full, CSTR title, Edges e, double upper, double lower)
328 { return bookProf(i_splitPath(full), title, e, upper, lower); }
329 virtual P1D* bookProf(CSTR par, CSTR rel, CSTR title, Edges e, double upper, double lower)
330 { return bookProf(createPath(par), rel, title, e, upper, lower); }
331 virtual P1D* bookProf(CSTR par, int hID, CSTR title, Edges e, double upper, double lower)
332 { return bookProf(par, std::to_string(hID), title, e, upper, lower); }
333 virtual P1D* bookProf(DataObject* pPar, int hID, CSTR title, Edges e, double upper, double lower)
334 { return bookProf(pPar, std::to_string(hID), title, e, upper, lower); }
335 virtual P1D* bookProf(STRPAIR loc,CSTR title, Edges e, double upper, double lower)
336 { return bookProf(loc.first, loc.second, title, e, upper, lower); }
337 virtual P1D* bookProf(DataObject* pPar, CSTR rel, CSTR title, Edges e, double upper, double lower)
338 { return i_book(pPar,rel,title,Gaudi::createProf1D(title, e, upper, lower));}
339 // ==========================================================================
340 // Book 2D histogram with fixed binning
341 // ==========================================================================
359 H2D* book(CSTR full, CSTR title, DBINS(x), DBINS(y)) override
360 { return book(i_splitPath(full), title, BINS(x),BINS(y)); }
361 H2D* book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
362 { return book(createPath(par), rel, title, BINS(x),BINS(y)); }
363 H2D* book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
364 { return book(par,std::to_string(hID), title, BINS(x),BINS(y)); }
365 virtual H2D* book(STRPAIR loc,CSTR title, DBINS(x), DBINS(y))
366 { return book(loc.first, loc.second, title, BINS(x), BINS(y)); }
367 H2D* book(DataObject* pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
368 { return book(pPar,std::to_string(hID), title, BINS(x),BINS(y)); }
369 H2D* book(DataObject* pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
370 { return i_book(pPar,rel,title,Gaudi::createH2D(title, BINS(x),BINS(y)));}
371 // ==========================================================================
372 // Book 2D profile histogram with fixed binning
373 // ==========================================================================
391 virtual P2D* bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
392 { return bookProf(i_splitPath(full), title, BINS(x),BINS(y), upper, lower); }
393 virtual P2D* bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
394 { return bookProf(createPath(par), rel, title, BINS(x),BINS(y), upper, lower); }
395 virtual P2D* bookProf(STRPAIR loc,CSTR title, DBINS(x), DBINS(y), double upper, double lower)
396 { return bookProf(loc.first, loc.second, title, BINS(x), BINS(y), upper, lower); }
397 virtual P2D* bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
398 { return bookProf(par, std::to_string(hID), title, BINS(x),BINS(y), upper, lower); }
399 virtual P2D* bookProf(DataObject* pPar, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
400 { return bookProf(pPar,std::to_string(hID), title, BINS(x),BINS(y), upper, lower); }
401 virtual P2D* bookProf(DataObject* pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
402 { return i_book(pPar,rel,title,Gaudi::createProf2D(title, BINS(x),BINS(y), upper, lower)); }
403
404 P2D* bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y)) override
405 { return bookProf(i_splitPath(full), title, BINS(x),BINS(y)); }
406 P2D* bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
407 { return bookProf(createPath(par), rel, title, BINS(x),BINS(y)); }
408 virtual P2D* bookProf(STRPAIR loc,CSTR title, DBINS(x), DBINS(y))
409 { return bookProf(loc.first, loc.second, title, BINS(x), BINS(y)); }
410 P2D* bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
411 { return bookProf(par, std::to_string(hID), title, BINS(x),BINS(y)); }
412 P2D* bookProf(DataObject* pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
413 { return bookProf(pPar,std::to_string(hID), title, BINS(x),BINS(y)); }
414 P2D* bookProf(DataObject* pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
415 { return i_book(pPar,rel,title,Gaudi::createProf2D(title, BINS(x),BINS(y),0,0));}
416 // ==========================================================================
417 // Book 2D histogram with variable binning
418 // ==========================================================================
433 H2D* book(CSTR full, CSTR title, Edges x, Edges y ) override
434 { return book(i_splitPath(full), title, x, y); }
435 H2D* book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y ) override
436 { return book(createPath(par), rel, title, x, y); }
437 H2D* book(CSTR par, int hID, CSTR title, Edges x, Edges y ) override
438 { return book(par, std::to_string(hID), title, x, y); }
439 virtual H2D* book(STRPAIR loc,CSTR title, Edges x, Edges y )
440 { return book(loc.first, loc.second, title, x, y); }
441 H2D* book(DataObject* pPar, int hID, CSTR title, Edges x, Edges y ) override
442 { return book(pPar, std::to_string(hID), title, x, y); }
443 H2D* book(DataObject* pPar, CSTR rel, CSTR title, Edges x, Edges y ) override
444 { return i_book(pPar, rel, title, Gaudi::createH2D(title, x,y)); }
445 // ==========================================================================
446 // Book 2D profile histogram with variable binning
447 // ==========================================================================
462 P2D* bookProf(CSTR full, CSTR title, Edges x, Edges y ) override
463 { return bookProf(i_splitPath(full), title, x, y); }
464 P2D* bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y ) override
465 { return bookProf(createPath(par), rel, title, x, y); }
466 P2D* bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y ) override
467 { return bookProf(par, std::to_string(hID), title, x, y); }
468 P2D* bookProf(DataObject* pPar, int hID, CSTR title, Edges x, Edges y ) override
469 { return bookProf(pPar, std::to_string(hID), title, x, y); }
470 virtual P2D* bookProf(STRPAIR loc,CSTR title, Edges x, Edges y )
471 { return bookProf(loc.first, loc.second, title, x, y); }
472 P2D* bookProf(DataObject* pPar, CSTR rel, CSTR title, Edges x, Edges y ) override
473 { return i_book(pPar, rel, title, Gaudi::createProf2D(title,x,y,0,0)); }
474
475 virtual P2D* bookProf(CSTR full, CSTR title, Edges x, Edges y, double upper, double lower )
476 { return bookProf(i_splitPath(full), title, x, y, upper, lower); }
477 virtual P2D* bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower )
478 { return bookProf(createPath(par), rel, title, x, y, upper, lower); }
479 virtual P2D* bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y, double upper, double lower )
480 { return bookProf(par, std::to_string(hID), title, x, y, upper, lower); }
481 virtual P2D* bookProf(DataObject* pPar, int hID, CSTR title, Edges x, Edges y, double upper, double lower )
482 { return bookProf(pPar, std::to_string(hID), title, x, y, upper, lower); }
483 virtual P2D* bookProf(STRPAIR loc,CSTR title, Edges x, Edges y, double upper, double lower )
484 { return bookProf(loc.first, loc.second, title, x, y, upper, lower); }
485 virtual P2D* bookProf(DataObject* pPar, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower )
486 { return i_book(pPar, rel, title, Gaudi::createProf2D(title,x,y, upper, lower)); }
487 // ==========================================================================
488 // Book 3D histogram with fixed binning
489 // ==========================================================================
507 H3D* book(CSTR full, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
508 { return book(i_splitPath(full),title,BINS(x),BINS(y),BINS(z)); }
509 H3D* book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
510 { return book(createPath(par),rel,title,BINS(x),BINS(y),BINS(z)); }
511 H3D* book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
512 { return book(par,std::to_string(hID),title,BINS(x),BINS(y),BINS(z)); }
513 H3D* book(DataObject* pPar, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
514 { return book(pPar,std::to_string(hID), title, BINS(x),BINS(y),BINS(z)); }
515 virtual H3D* book(STRPAIR loc,CSTR title, DBINS(x), DBINS(y), DBINS(z))
516 { return book(loc.first, loc.second, title, BINS(x),BINS(y),BINS(z)); }
517 H3D* book(DataObject* pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
518 { return i_book(pPar, rel, title, Gaudi::createH3D(title,BINS(x),BINS(y),BINS(z)));}
519 // ==========================================================================
520 // Book 3D histogram with variable binning
521 // ==========================================================================
538 H3D* book(CSTR full, CSTR title, Edges x, Edges y, Edges z) override
539 { return book(i_splitPath(full), title, x, y, z); }
540 H3D* book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
541 { return book(createPath(par), rel, title, x, y, z); }
542 H3D* book(CSTR par, int hID, CSTR title, Edges x, Edges y, Edges z) override
543 { return book(par,std::to_string(hID), title, x, y, z); }
544 H3D* book(DataObject* pPar, int hID, CSTR title, Edges x, Edges y, Edges z) override
545 { return book(pPar,std::to_string(hID), title, x, y, z); }
546 virtual H3D* book(STRPAIR loc,CSTR title, Edges x, Edges y, Edges z)
547 { return book(loc.first, loc.second, title, x,y,z); }
548 H3D* book(DataObject* pPar, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
549 { return i_book(pPar, rel, title, Gaudi::createH3D(title,x,y,z)); }
550
551 // ==========================================================================
552 // Register histogram with the data store
553 // ==========================================================================
554 //------------------------------------------------------------------------------
555 // Register object with the data store
556 //------------------------------------------------------------------------------
557 StatusCode registerObject(CSTR parent, CSTR rel, Base* obj ) override
558 { return registerObject(createPath(parent), rel, obj); }
559 StatusCode registerObject(CSTR parent, int item, Base* obj ) override
560 { return registerObject(parent, std::to_string(item), obj); }
561 StatusCode registerObject(Base* pPar, CSTR rel, Base* obj ) override
562 { return registerObject(__cast(pPar), rel, obj); }
563 StatusCode registerObject(DataObject* pPar, int item, Base* obj ) override
564 { return registerObject(pPar, std::to_string(item), obj); }
565 StatusCode registerObject(Base* pPar, int item, Base* obj ) override
566 { return registerObject(__cast(pPar), item, obj); }
567 StatusCode registerObject(CSTR full, Base* obj ) override;
568 StatusCode registerObject(DataObject* pPar, CSTR rel, Base* obj ) override;
569 // ==========================================================================
570 // Unregister histogram from the data store
571 // ==========================================================================
572 StatusCode unregisterObject(Base* obj ) override
573 { return DataSvc::unregisterObject(__cast(obj)); }
574 StatusCode unregisterObject(Base* obj, CSTR objectPath) override
575 { return DataSvc::unregisterObject(__cast(obj),objectPath); }
576 StatusCode unregisterObject(Base* obj, int item ) override
577 { return DataSvc::unregisterObject(__cast(obj),item); }
578 // ==========================================================================
579 // Retrieve histogram from data store
580 // ==========================================================================
581 StatusCode retrieveObject(IRegistry* pReg, CSTR path, H1D*& obj) override
582 { return Helper(this).retrieve(pReg,path,obj); }
583 StatusCode retrieveObject(IRegistry* pReg, CSTR path, P1D*& obj) override
584 { return Helper(this).retrieve(pReg,path,obj); }
585 StatusCode retrieveObject(IRegistry* pReg, CSTR path, H2D*& obj) override
586 { return Helper(this).retrieve(pReg,path,obj); }
587 StatusCode retrieveObject(IRegistry* pReg, CSTR path, P2D*& obj) override
588 { return Helper(this).retrieve(pReg,path,obj); }
589 StatusCode retrieveObject(IRegistry* pReg, CSTR path, H3D*& obj) override
590 { return Helper(this).retrieve(pReg,path,obj); }
591 //------------------------------------------------------------------------------
592 StatusCode retrieveObject(CSTR full,P1D*& obj) override
593 { return Helper(this).retrieve(full,obj); }
594 StatusCode retrieveObject(CSTR full,P2D*& obj) override
595 { return Helper(this).retrieve(full,obj); }
596 StatusCode retrieveObject(CSTR full,H1D*& obj) override
597 { return Helper(this).retrieve(full,obj); }
598 StatusCode retrieveObject(CSTR full,H2D*& obj) override
599 { return Helper(this).retrieve(full,obj); }
600 StatusCode retrieveObject(CSTR full,H3D*& obj) override
601 { return Helper(this).retrieve(full,obj); }
602 //------------------------------------------------------------------------------
603 StatusCode retrieveObject(CSTR parent,CSTR rel,P1D*& obj) override
604 { return Helper(this).retrieve(parent,rel,obj); }
605 StatusCode retrieveObject(CSTR parent,CSTR rel,P2D*& obj) override
606 { return Helper(this).retrieve(parent,rel,obj); }
607 StatusCode retrieveObject(CSTR parent,CSTR rel,H1D*& obj) override
608 { return Helper(this).retrieve(parent,rel,obj); }
609 StatusCode retrieveObject(CSTR parent,CSTR rel,H2D*& obj) override
610 { return Helper(this).retrieve(parent,rel,obj); }
611 StatusCode retrieveObject(CSTR parent,CSTR rel,H3D*& obj) override
612 { return Helper(this).retrieve(parent,rel,obj); }
613 //------------------------------------------------------------------------------
614 StatusCode retrieveObject(CSTR parent,int item,P1D*& obj) override
615 { return Helper(this).retrieve(parent,item,obj); }
616 StatusCode retrieveObject(CSTR parent,int item,P2D*& obj) override
617 { return Helper(this).retrieve(parent,item,obj); }
618 StatusCode retrieveObject(CSTR parent,int item,H1D*& obj) override
619 { return Helper(this).retrieve(parent,item,obj); }
620 StatusCode retrieveObject(CSTR parent,int item,H2D*& obj) override
621 { return Helper(this).retrieve(parent,item,obj); }
622 StatusCode retrieveObject(CSTR parent,int item,H3D*& obj) override
623 { return Helper(this).retrieve(parent,item,obj); }
624 //------------------------------------------------------------------------------
625 StatusCode retrieveObject(DataObject* par,CSTR item,P1D*& obj) override
626 { return Helper(this).retrieve(par,item,obj); }
627 StatusCode retrieveObject(DataObject* par,CSTR item,P2D*& obj) override
628 { return Helper(this).retrieve(par,item,obj); }
629 StatusCode retrieveObject(DataObject* par,CSTR item,H1D*& obj) override
630 { return Helper(this).retrieve(par,item,obj); }
631 StatusCode retrieveObject(DataObject* par,CSTR item,H2D*& obj) override
632 { return Helper(this).retrieve(par,item,obj); }
633 StatusCode retrieveObject(DataObject* par,CSTR item,H3D*& obj) override
634 { return Helper(this).retrieve(par,item,obj); }
635 //------------------------------------------------------------------------------
636 StatusCode retrieveObject(DataObject* par,int item,P1D*& obj) override
637 { return Helper(this).retrieve(par,item,obj); }
638 StatusCode retrieveObject(DataObject* par,int item,P2D*& obj) override
639 { return Helper(this).retrieve(par,item,obj); }
640 StatusCode retrieveObject(DataObject* par,int item,H1D*& obj) override
641 { return Helper(this).retrieve(par,item,obj); }
642 StatusCode retrieveObject(DataObject* par,int item,H2D*& obj) override
643 { return Helper(this).retrieve(par,item,obj); }
644 StatusCode retrieveObject(DataObject* par,int item,H3D*& obj) override
645 { return Helper(this).retrieve(par,item,obj); }
646 //------------------------------------------------------------------------------
647 StatusCode retrieveObject(Base* par,int item,P1D*& obj) override
648 { return Helper(this).retrieve(__cast(par),item,obj); }
649 StatusCode retrieveObject(Base* par,int item,P2D*& obj) override
650 { return Helper(this).retrieve(__cast(par),item,obj); }
651 StatusCode retrieveObject(Base* par,int item,H1D*& obj) override
652 { return Helper(this).retrieve(__cast(par),item,obj); }
653 StatusCode retrieveObject(Base* par,int item,H2D*& obj) override
654 { return Helper(this).retrieve(__cast(par),item,obj); }
655 StatusCode retrieveObject(Base* par,int item,H3D*& obj) override
656 { return Helper(this).retrieve(__cast(par),item,obj); }
657 //------------------------------------------------------------------------------
658 StatusCode retrieveObject(Base* par,CSTR item,P1D*& obj) override
659 { return Helper(this).retrieve(__cast(par),item,obj); }
660 StatusCode retrieveObject(Base* par,CSTR item,P2D*& obj) override
661 { return Helper(this).retrieve(__cast(par),item,obj); }
662 StatusCode retrieveObject(Base* par,CSTR item,H1D*& obj) override
663 { return Helper(this).retrieve(__cast(par),item,obj); }
664 StatusCode retrieveObject(Base* par,CSTR item,H2D*& obj) override
665 { return Helper(this).retrieve(__cast(par),item,obj); }
666 StatusCode retrieveObject(Base* par,CSTR item,H3D*& obj) override
667 { return Helper(this).retrieve(__cast(par),item,obj); }
668
669 // ==========================================================================
670 // Find histogram identified by its full path in the data store
671 // ==========================================================================
672
673 //------------------------------------------------------------------------------
674 // Find object identified by its full path in the data store
675 //------------------------------------------------------------------------------
676 StatusCode findObject(IRegistry* pReg,CSTR path,P1D*& obj) override
677 { return Helper(this).find(pReg,path,obj); }
678 StatusCode findObject(IRegistry* pReg,CSTR path,P2D*& obj) override
679 { return Helper(this).find(pReg,path,obj); }
680 StatusCode findObject(IRegistry* pReg,CSTR path,H1D*& obj) override
681 { return Helper(this).find(pReg,path,obj); }
682 StatusCode findObject(IRegistry* pReg,CSTR path,H2D*& obj) override
683 { return Helper(this).find(pReg,path,obj); }
684 StatusCode findObject(IRegistry* pReg,CSTR path,H3D*& obj) override
685 { return Helper(this).find(pReg,path,obj); }
686 //------------------------------------------------------------------------------
687 StatusCode findObject(CSTR full,P1D*& obj) override
688 { return Helper(this).find(full,obj); }
689 StatusCode findObject(CSTR full,P2D*& obj) override
690 { return Helper(this).find(full,obj); }
691 StatusCode findObject(CSTR full,H1D*& obj) override
692 { return Helper(this).find(full,obj); }
693 StatusCode findObject(CSTR full,H2D*& obj) override
694 { return Helper(this).find(full,obj); }
695 StatusCode findObject(CSTR full,H3D*& obj) override
696 { return Helper(this).find(full,obj); }
697 //------------------------------------------------------------------------------
698 StatusCode findObject(CSTR par,CSTR rel,P1D*& obj) override
699 { return Helper(this).find(par,rel,obj); }
700 StatusCode findObject(CSTR par,CSTR rel,P2D*& obj) override
701 { return Helper(this).find(par,rel,obj); }
702 StatusCode findObject(CSTR par,CSTR rel,H1D*& obj) override
703 { return Helper(this).find(par,rel,obj); }
704 StatusCode findObject(CSTR par,CSTR rel,H2D*& obj) override
705 { return Helper(this).find(par,rel,obj); }
706 StatusCode findObject(CSTR par,CSTR rel,H3D*& obj) override
707 { return Helper(this).find(par,rel,obj); }
708 //------------------------------------------------------------------------------
709 StatusCode findObject(CSTR par,int item,P1D*& obj) override
710 { return Helper(this).find(par,item,obj); }
711 StatusCode findObject(CSTR par,int item,P2D*& obj) override
712 { return Helper(this).find(par,item,obj); }
713 StatusCode findObject(CSTR par,int item,H1D*& obj) override
714 { return Helper(this).find(par,item,obj); }
715 StatusCode findObject(CSTR par,int item,H2D*& obj) override
716 { return Helper(this).find(par,item,obj); }
717 StatusCode findObject(CSTR par,int item,H3D*& obj) override
718 { return Helper(this).find(par,item,obj); }
719 //------------------------------------------------------------------------------
720 StatusCode findObject(DataObject* par,int item,P1D*& obj) override
721 { return Helper(this).find(par,item,obj); }
722 StatusCode findObject(DataObject* par,int item,P2D*& obj) override
723 { return Helper(this).find(par,item,obj); }
724 StatusCode findObject(DataObject* par,int item,H1D*& obj) override
725 { return Helper(this).find(par,item,obj); }
726 StatusCode findObject(DataObject* par,int item,H2D*& obj) override
727 { return Helper(this).find(par,item,obj); }
728 StatusCode findObject(DataObject* par,int item,H3D*& obj) override
729 { return Helper(this).find(par,item,obj); }
730 //------------------------------------------------------------------------------
731 StatusCode findObject(DataObject* par,CSTR item,P1D*& obj) override
732 { return Helper(this).find(par,item,obj); }
733 StatusCode findObject(DataObject* par,CSTR item,P2D*& obj) override
734 { return Helper(this).find(par,item,obj); }
735 StatusCode findObject(DataObject* par,CSTR item,H1D*& obj) override
736 { return Helper(this).find(par,item,obj); }
737 StatusCode findObject(DataObject* par,CSTR item,H2D*& obj) override
738 { return Helper(this).find(par,item,obj); }
739 StatusCode findObject(DataObject* par,CSTR item,H3D*& obj) override
740 { return Helper(this).find(par,item,obj); }
741 //------------------------------------------------------------------------------
742 StatusCode findObject(Base* par,int item,P1D*& obj) override
743 { return Helper(this).find(__cast(par),item,obj); }
744 StatusCode findObject(Base* par,int item,P2D*& obj) override
745 { return Helper(this).find(__cast(par),item,obj); }
746 StatusCode findObject(Base* par,int item,H1D*& obj) override
747 { return Helper(this).find(__cast(par),item,obj); }
748 StatusCode findObject(Base* par,int item,H2D*& obj) override
749 { return Helper(this).find(__cast(par),item,obj); }
750 StatusCode findObject(Base* par,int item,H3D*& obj) override
751 { return Helper(this).find(__cast(par),item,obj); }
752 //------------------------------------------------------------------------------
753 StatusCode findObject(Base* par,CSTR item,P1D*& obj) override
754 { return Helper(this).find(__cast(par),item,obj); }
755 StatusCode findObject(Base* par,CSTR item,P2D*& obj) override
756 { return Helper(this).find(__cast(par),item,obj); }
757 StatusCode findObject(Base* par,CSTR item,H1D*& obj) override
758 { return Helper(this).find(__cast(par),item,obj); }
759 StatusCode findObject(Base* par,CSTR item,H2D*& obj) override
760 { return Helper(this).find(__cast(par),item,obj); }
761 StatusCode findObject(Base* par,CSTR item,H3D*& obj) override
762 { return Helper(this).find(__cast(par),item,obj); }
763
764 // ==========================================================================
765 // Projections and slices.
766 // ==========================================================================
767 H1D* projectionX(CSTR name,const H2D& h) override
768 { return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN); }
769 H1D* projectionY(CSTR name,const H2D& h) override
770 { return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN); }
771 H1D* sliceX(CSTR name,const H2D& h,int indexY) override
772 { return sliceX( name, h, indexY, indexY ); }
773 H1D* sliceY(CSTR name,const H2D& h,int indexX) override
774 { return sliceY( name, h, indexX, indexX ); }
775 H1D* sliceX(CSTR name,const H2D& h,int indexY1,int indexY2) override;
776 H1D* sliceY(CSTR name,const H2D& h,int indexX1,int indexX2) override;
777 //------------------------------------------------------------------------------
778 bool destroy( IBaseHistogram* hist) override;
779
780 H1D* add(CSTR nameAndTitle, const H1D& a, const H1D& b) override
781 { return Helper::act(createCopy(nameAndTitle,a),b,&TH1::Add, 1.); }
782 H1D* subtract(CSTR nameAndTitle, const H1D& a, const H1D& b) override
783 { return Helper::act(createCopy(nameAndTitle,a),b,&TH1::Add,-1.); }
784 H1D* multiply(CSTR nameAndTitle, const H1D& a, const H1D& b) override
785 { return Helper::act(createCopy(nameAndTitle,a),b,&TH1::Multiply); }
786 H1D* divide(CSTR nameAndTitle, const H1D& a, const H1D& b) override
787 { return Helper::act(createCopy(nameAndTitle,a),b,&TH1::Divide); }
788
789 H2D* add(CSTR nameAndTitle, const H2D& a, const H2D& b) override
790 { return Helper::act(createCopy(nameAndTitle,a),b,&TH2D::Add, 1.); }
791 H2D* subtract(CSTR nameAndTitle, const H2D& a, const H2D& b) override
792 { return Helper::act(createCopy(nameAndTitle,a),b,&TH2D::Add,-1.); }
793 H2D* multiply(CSTR nameAndTitle, const H2D& a, const H2D& b) override
794 { return Helper::act(createCopy(nameAndTitle,a),b,&TH2D::Multiply); }
795 H2D* divide(CSTR nameAndTitle, const H2D& a, const H2D& b) override
796 { return Helper::act(createCopy(nameAndTitle,a),b,&TH2D::Divide); }
797
798 H3D* add(CSTR nameAndTitle, const H3D& a, const H3D& b) override
799 { return Helper::act(createCopy(nameAndTitle,a),b,&TH3D::Add, 1.); }
800 H3D* subtract(CSTR nameAndTitle, const H3D& a, const H3D& b) override
801 { return Helper::act(createCopy(nameAndTitle,a),b,&TH3D::Add,-1.); }
802 H3D* multiply(CSTR nameAndTitle, const H3D& a, const H3D& b) override
803 { return Helper::act(createCopy(nameAndTitle,a),b,&TH3D::Multiply); }
804 H3D* divide(CSTR nameAndTitle, const H3D& a, const H3D& b) override
805 { return Helper::act(createCopy(nameAndTitle,a),b,&TH3D::Divide); }
806
807 H2D* projectionXY(CSTR nameAndTitle,const H3D& h) override
808 { return i_project(nameAndTitle,h,"xy"); }
809 H2D* projectionXZ(CSTR nameAndTitle,const H3D& h) override
810 { return i_project(nameAndTitle,h,"xz"); }
811 H2D* projectionYZ(CSTR nameAndTitle,const H3D& h) override
812 { return i_project(nameAndTitle,h,"yz"); }
813 H2D* sliceXY(CSTR /* nameAndTitle */,const H3D& /* h */,int /* low */,int /* high */ ) override NOT_IMPLEMENTED
814 H2D* sliceXZ(CSTR /* nameAndTitle */,const H3D& /* h */,int /* low */,int /* high */ ) override NOT_IMPLEMENTED
815 H2D* sliceYZ(CSTR /* nameAndTitle */,const H3D& /* h */,int /* low */,int /* high */ ) override NOT_IMPLEMENTED
816
817 //------------------------------------------------------------------------------
818 H1D* createHistogram1D(CSTR name,CSTR tit,DBINS(x))
819 { return book( name, tit, BINS(x)); }
820 H1D* createHistogram1D(CSTR name,CSTR tit,DBINS(x),CSTR /*opt*/) override
821 { return book( name, tit, BINS(x)); }
822 H1D* createHistogram1D(CSTR name,CSTR title,const Edges& x,CSTR /*opt*/) override
823 { return book(name, title, x); }
824 H1D* createHistogram1D(CSTR nameAndTitle, DBINS(x)) override
825 { return book(nameAndTitle, nameAndTitle, BINS(x)); }
826 H1D* createCopy(CSTR full, const H1D& h) override
827 { return createCopy(i_splitPath(full), h); }
828 H1D* createCopy(CSTR par, CSTR rel, const H1D& h)
829 { return createCopy(createPath(par), rel, h); }
830 H1D* createCopy(STRPAIR loc, const H1D& h)
831 { return createCopy(loc.first, loc.second, h); }
832 H1D* createCopy(DataObject* pPar, CSTR rel, const H1D& h)
833 { return i_book(pPar, rel, h.title(), Gaudi::createH1D(h)); }
834 //------------------------------------------------------------------------------
835 H2D* createHistogram2D(CSTR name,CSTR tit,DBINS(x),DBINS(y))
836 { return book( name, tit, BINS(x), BINS(y)); }
837 H2D* createHistogram2D(CSTR name,CSTR tit,DBINS(x),DBINS(y),CSTR /*opt*/) override
838 { return book( name, tit, BINS(x), BINS(y)); }
839 H2D* createHistogram2D(CSTR name,CSTR title,const Edges& x,const Edges& y, CSTR /*opt*/) override
840 { return book(name, title, x, y); }
841 H2D* createHistogram2D(CSTR nameAndTitle, DBINS(x), DBINS(y)) override
842 { return book(nameAndTitle, nameAndTitle, BINS(x), BINS(y)); }
843 H2D* createCopy(CSTR full, const H2D& h) override
844 { return createCopy(i_splitPath(full), h); }
845 H2D* createCopy(CSTR par, CSTR rel, const H2D& h)
846 { return createCopy(createPath(par), rel, h); }
847 H2D* createCopy(STRPAIR loc, const H2D& h)
848 { return createCopy(loc.first, loc.second, h); }
849 H2D* createCopy(DataObject* pPar, CSTR rel, const H2D& h)
850 { return i_book(pPar, rel, h.title(), Gaudi::createH2D(h)); }
851 //------------------------------------------------------------------------------
852 H3D* createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z))
853 { return book( name, tit, BINS(x), BINS(y), BINS(z)); }
854 H3D* createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z), CSTR /*opt*/) override
855 { return book( name, tit, BINS(x), BINS(y), BINS(z)); }
856 H3D* createHistogram3D(CSTR name, CSTR title,const Edges& x,const Edges& y,const Edges& z,CSTR /*opt*/) override
857 { return book(name, title, x, y, z); }
858 H3D* createHistogram3D(CSTR nameAndTitle, DBINS(x), DBINS(y), DBINS(z)) override
859 { return book(nameAndTitle, nameAndTitle, BINS(x), BINS(y), BINS(z)); }
860 H3D* createCopy(CSTR full, const H3D& h) override
861 { return createCopy(i_splitPath(full), h); }
862 H3D* createCopy(CSTR par, CSTR rel, const H3D& h)
863 { return createCopy(createPath(par), rel, h); }
864 H3D* createCopy(STRPAIR loc, const H3D& h)
865 { return createCopy(loc.first, loc.second, h); }
866 H3D* createCopy(DataObject* pPar, CSTR rel, const H3D& h)
867 { return i_book(pPar, rel, h.title(), Gaudi::createH3D(h)); }
868 //------------------------------------------------------------------------------
869
870
871 P1D* createProfile1D(CSTR name,CSTR tit,DBINS(x),CSTR opt ) override
872 { return bookProf( name, tit, BINS(x) , opt ); }
873 P1D* createProfile1D(CSTR name,CSTR tit,DBINS(x),double upper, double lower , CSTR opt ) override
874 { return bookProf( name, tit, BINS(x), upper, lower , opt ); }
875 P1D* createProfile1D(CSTR name,CSTR title,const Edges& x,CSTR /* opt */ ) override
876 { return bookProf(name, title, x ); }
877 P1D* createProfile1D(CSTR name,CSTR title,const Edges& x,double upper, double lower, CSTR /* opt */ ) override
878 { return bookProf(name, title, x, upper, lower ); }
879
880 P1D* createProfile1D(CSTR nametit,DBINS(x)) override
881 { return bookProf( nametit, nametit, BINS(x) , "s"); }
882 P1D* createProfile1D(CSTR nametit,DBINS(x),double upper, double lower ) override
883 { return bookProf( nametit, nametit, BINS(x), upper, lower , "s"); }
884
885
886 P1D* createCopy(CSTR full, const P1D& h) override
887 { return createCopy(i_splitPath(full), h); }
888 P1D* createCopy(CSTR par, CSTR rel, const P1D& h)
889 { return createCopy(createPath(par), rel, h); }
890 P1D* createCopy(STRPAIR loc, const P1D& h)
891 { return createCopy(loc.first, loc.second, h); }
892 P1D* createCopy(DataObject* pPar, CSTR rel, const P1D& h)
893 { return i_book(pPar, rel, h.title(), Gaudi::createProf1D(h)); }
894 //------------------------------------------------------------------------------
895 P2D* createProfile2D(CSTR name,CSTR tit,DBINS(x),DBINS(y))
896 { return bookProf( name, tit, BINS(x), BINS(y)); }
897 P2D* createProfile2D(CSTR name,CSTR tit,DBINS(x),DBINS(y),CSTR /*opt*/) override
898 { return bookProf( name, tit, BINS(x), BINS(y)); }
899 P2D* createProfile2D(CSTR name,CSTR title,const Edges& x,const Edges& y, CSTR /*opt*/) override
900 { return bookProf(name, title, x, y); }
901 P2D* createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y)) override
902 { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y)); }
903
904 P2D* createProfile2D(CSTR name,CSTR tit,DBINS(x),DBINS(y),double upper, double lower)
905 { return bookProf( name, tit, BINS(x), BINS(y), upper, lower); }
906 P2D* createProfile2D(CSTR name,CSTR tit,DBINS(x),DBINS(y),double upper, double lower,CSTR /*opt*/) override
907 { return bookProf( name, tit, BINS(x), BINS(y), upper, lower); }
908 P2D* createProfile2D(CSTR name,CSTR title,const Edges& x,const Edges& y,double upper, double lower, CSTR /*opt*/) override
909 { return bookProf(name, title, x, y, upper, lower); }
910 P2D* createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y),double upper, double lower) override
911 { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y), upper, lower);}
912
913 P2D* createCopy(CSTR full, const P2D& h) override
914 { return createCopy(i_splitPath(full), h); }
915 P2D* createCopy(CSTR par, CSTR rel, const P2D& h)
916 { return createCopy(createPath(par), rel, h); }
917 P2D* createCopy(STRPAIR loc, const P2D& h)
918 { return createCopy(loc.first, loc.second, h); }
919 P2D* createCopy(DataObject* pPar, CSTR rel, const P2D& h)
920 { return i_book(pPar, rel, h.title(), Gaudi::createProf2D(h)); }
921 //------------------------------------------------------------------------------
922 AIDA::ICloud1D* createCloud1D(CSTR, CSTR, int, CSTR) override NOT_IMPLEMENTED
923 AIDA::ICloud1D* createCloud1D(CSTR) override NOT_IMPLEMENTED
924 AIDA::ICloud1D* createCopy(CSTR, const AIDA::ICloud1D&) override NOT_IMPLEMENTED
925 AIDA::ICloud2D* createCloud2D(CSTR, CSTR, int, CSTR) override NOT_IMPLEMENTED
926 AIDA::ICloud2D* createCloud2D(CSTR) override NOT_IMPLEMENTED
927 AIDA::ICloud2D* createCopy(CSTR, const AIDA::ICloud2D&) override NOT_IMPLEMENTED
928 AIDA::ICloud3D* createCloud3D(CSTR, CSTR, int, CSTR) override NOT_IMPLEMENTED
929 AIDA::ICloud3D* createCloud3D(CSTR) override NOT_IMPLEMENTED
930 AIDA::ICloud3D* createCopy(CSTR, const AIDA::ICloud3D&) override NOT_IMPLEMENTED
931
933 using IDataProviderSvc::registerObject;
934 using IDataProviderSvc::unregisterObject;
935 using IDataProviderSvc::retrieveObject;
936 using IDataProviderSvc::findObject;
937
939 std::ostream& print(Base* h, std::ostream& s = std::cout) const override;
940
942 std::ostream& write(Base* h, std::ostream& s = std::cout) const override;
943
945 int write(Base* h, const char* file_name ) const override;
946
948 DataObject* createPath(CSTR newPath ) override;
949
954 DataObject* createDirectory(CSTR parentDir, CSTR subDir ) override;
955
956 public:
957 // ==========================================================================
959 void update1Ddefs ( Property& ) ;
960 // ==========================================================================
961 typedef std::map<std::string,Gaudi::Histo1DDef> Histo1DMap ;
962 // ==========================================================================
963 private:
964 // ==========================================================================
965 // container with the definition of "the special" histograms
966 Histo1DMap m_defs1D ;
967 // ==========================================================================
968 // modified histograms:
969 std::set<std::string> m_mods1D ;
970 // ==========================================================================
971 };
972 // ===========================================================================
973 // The END
974 // ===========================================================================
975 #endif // GAUDISVC_HISTOGRAMSVC_H
976 // ===========================================================================
DataSvc::unregisterObject
StatusCode unregisterObject(const std::string &fullPath) override
Unregister object from the data store.
Definition: DataSvc.cpp:471
HistogramSvc::findObject
StatusCode findObject(DataObject *par, int item, H1D *&obj) override
Definition: HistogramSvc.h:724
HistogramSvc::book
H2D * book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:435
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:901
HistogramSvc::bookProf
virtual P2D * bookProf(STRPAIR loc, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:483
HistogramSvc::createCopy
H1D * createCopy(CSTR par, CSTR rel, const H1D &h)
Definition: HistogramSvc.h:828
HistogramSvc::book
H1D * book(DataObject *pPar, int hID, CSTR title, Edges e) override
Definition: HistogramSvc.h:286
HistogramSvc::bookProf
P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:414
HistogramSvc::book
H3D * book(DataObject *pPar, int hID, CSTR title, Edges x, Edges y, Edges z) override
Definition: HistogramSvc.h:544
HistogramSvc::bookProf
P1D * bookProf(CSTR full, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:263
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, CSTR path, H1D *&obj) override
Definition: HistogramSvc.h:581
System.h
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, CSTR path, H2D *&obj) override
Definition: HistogramSvc.h:585
HistogramSvc::findObject
StatusCode findObject(CSTR par, int item, H2D *&obj) override
Definition: HistogramSvc.h:715
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:479
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, CSTR path, H2D *&obj) override
Definition: HistogramSvc.h:682
HistogramSvc::findObject
StatusCode findObject(CSTR par, CSTR rel, H2D *&obj) override
Definition: HistogramSvc.h:704
HistogramSvc::book
virtual H1D * book(STRPAIR loc, CSTR title, Edges e)
Definition: HistogramSvc.h:290
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, int item, H1D *&obj) override
Definition: HistogramSvc.h:651
HistogramSvc::bookProf
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:255
HistogramSvc::createCopy
P1D * createCopy(CSTR full, const P1D &h) override
Definition: HistogramSvc.h:886
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, int item, P2D *&obj) override
Definition: HistogramSvc.h:649
HistogramSvc::createCopy
H2D * createCopy(DataObject *pPar, CSTR rel, const H2D &h)
Definition: HistogramSvc.h:849
HistogramSvc::bookProf
P2D * bookProf(DataObject *pPar, int hID, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:468
HistogramSvc::createCopy
H1D * createCopy(DataObject *pPar, CSTR rel, const H1D &h)
Definition: HistogramSvc.h:832
HistogramSvc::bookProf
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:399
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, int item, P2D *&obj) override
Definition: HistogramSvc.h:616
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:23
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
HistogramSvc::CSTR
const std::string & CSTR
Definition: HistogramSvc.h:58
HistogramSvc::m_mods1D
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:969
HistogramSvc::book
H2D * book(CSTR full, CSTR title, Edges x, Edges y) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:433
HistogramSvc::write
std::ostream & write(Base *h, std::ostream &s=std::cout) const override
Write (ASCII) the 1D histogram table into the output stream.
HistogramSvc::book
H3D * book(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
Definition: HistogramSvc.h:513
HistogramSvc::bookProf
virtual P1D * bookProf(STRPAIR loc, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:335
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, int item, P1D *&obj) override
Definition: HistogramSvc.h:636
HistogramSvc::book
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
HistogramSvc::projectionX
H1D * projectionX(CSTR name, const H2D &h) override
Definition: HistogramSvc.h:767
AtomicAlgSequencerTest.a1
tuple a1
Definition: AtomicAlgSequencerTest.py:54
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, CSTR rel, P2D *&obj) override
Definition: HistogramSvc.h:605
HistogramSvc::book
H3D * book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
Definition: HistogramSvc.h:511
HistogramSvc::book
virtual H2D * book(STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
Definition: HistogramSvc.h:365
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:904
HistogramSvc::findObject
StatusCode findObject(CSTR par, int item, P2D *&obj) override
Definition: HistogramSvc.h:711
HistogramSvc::multiply
H3D * multiply(CSTR nameAndTitle, const H3D &a, const H3D &b) override
Definition: HistogramSvc.h:802
HistogramSvc::add
H3D * add(CSTR nameAndTitle, const H3D &a, const H3D &b) override
Definition: HistogramSvc.h:798
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, CSTR item, P2D *&obj) override
Definition: HistogramSvc.h:627
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:393
System::typeinfoName
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:297
HistogramSvc::unregisterObject
StatusCode unregisterObject(Base *obj, CSTR objectPath) override
Definition: HistogramSvc.h:574
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR) override
Definition: HistogramSvc.h:899
HistogramSvc::findObject
StatusCode findObject(CSTR par, CSTR rel, P2D *&obj) override
Definition: HistogramSvc.h:700
HistogramSvc::book
H2D * book(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:367
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR full, P1D *&obj) override
Definition: HistogramSvc.h:592
Gaudi::createH1D
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, int hID, CSTR title, Edges e) override
Definition: HistogramSvc.h:320
HistogramSvc::divide
H1D * divide(CSTR nameAndTitle, const H1D &a, const H1D &b) override
Definition: HistogramSvc.h:786
HistogramSvc::createHistogram2D
H2D * createHistogram2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR) override
Definition: HistogramSvc.h:837
read_lhcb_event_file.h1
tuple h1
Definition: read_lhcb_event_file.py:17
HistogramSvc::bookProf
P1D * bookProf(CSTR par, CSTR rel, CSTR title, Edges e) override
Definition: HistogramSvc.h:316
HistogramSvc::createCopy
P1D * createCopy(STRPAIR loc, const P1D &h)
Definition: HistogramSvc.h:890
StatusCode::isSuccess
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR name, CSTR title, const Edges &x, CSTR) override
Definition: HistogramSvc.h:875
AIDA_visibility_hack.h
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, CSTR path, P1D *&obj) override
Definition: HistogramSvc.h:676
HistogramSvc::findObject
StatusCode findObject(DataObject *par, CSTR item, H1D *&obj) override
Definition: HistogramSvc.h:735
HistogramSvc::bookProf
P2D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:412
HistogramSvc::book
H1D * book(CSTR par, CSTR rel, CSTR title, Edges e) override
Definition: HistogramSvc.h:288
HistogramSvc::bookProf
P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:472
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, int item, P1D *&obj) override
Definition: HistogramSvc.h:614
HistogramSvc::STRPAIR
const std::pair< std::string, std::string > & STRPAIR
Definition: HistogramSvc.h:53
std::to_string
T to_string(T...args)
HistogramSvc::createHistogram1D
H1D * createHistogram1D(CSTR nameAndTitle, DBINS(x)) override
Definition: HistogramSvc.h:824
HistogramSvc::book
virtual H1D * book(STRPAIR loc, CSTR title, DBINS(x))
Definition: HistogramSvc.h:218
HistogramSvc::bookProf
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:485
HistogramSvc::findObject
StatusCode findObject(Base *par, CSTR item, P1D *&obj) override
Definition: HistogramSvc.h:753
HistogramSvc::createHistogram3D
H3D * createHistogram3D(CSTR name, CSTR title, const Edges &x, const Edges &y, const Edges &z, CSTR) override
Definition: HistogramSvc.h:856
HistoProperty.h
std
STL namespace.
HistogramSvc::book
H2D * book(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:443
HistogramSvc::~HistogramSvc
~HistogramSvc() override
Destructor.
Definition: HistogramSvc.cpp:195
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR full, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:475
HistogramSvc::bookProf
virtual P1D * bookProf(CSTR par, int hID, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:331
HistogramSvc::i_book
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, CSTR path, P1D *&obj) override
Definition: HistogramSvc.h:583
HistogramSvc::findObject
StatusCode findObject(CSTR full, P1D *&obj) override
Definition: HistogramSvc.h:687
HistogramSvc::not_implemented
void not_implemented() const
Definition: HistogramSvc.h:54
HistogramSvc::Helper::find
StatusCode find(A1 a1, A3 *&a3)
Definition: HistogramSvc.h:82
HistogramSvc::bookProf
P1D * bookProf(CSTR full, CSTR title, DBINS(x), CSTR opt) override
Definition: HistogramSvc.h:250
HistogramSvc::book
H1D * book(CSTR par, int hID, CSTR title, DBINS(x)) override
Definition: HistogramSvc.h:213
HistogramSvc::findObject
StatusCode findObject(Base *par, CSTR item, H3D *&obj) override
Definition: HistogramSvc.h:761
HistogramSvc::book
H1D * book(DataObject *pPar, CSTR rel, CSTR title, Edges e) override
Definition: HistogramSvc.h:294
HistogramSvc::Helper::retrieve
StatusCode retrieve(A1 a1, A2 a2, A3 *&a3)
Definition: HistogramSvc.h:76
HistogramSvc::unregisterObject
StatusCode unregisterObject(Base *obj) override
Definition: HistogramSvc.h:572
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), CSTR opt) override
Definition: HistogramSvc.h:246
HistogramSvc::findObject
StatusCode findObject(CSTR full, H2D *&obj) override
Definition: HistogramSvc.h:693
HistogramSvc::bookProf
virtual P2D * bookProf(STRPAIR loc, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:395
HistogramSvc::multiply
H2D * multiply(CSTR nameAndTitle, const H2D &a, const H2D &b) override
Definition: HistogramSvc.h:793
HistogramSvc::createHistogram3D
H3D * createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z))
Definition: HistogramSvc.h:852
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, int item, H1D *&obj) override
Definition: HistogramSvc.h:618
HistogramSvc::bookProf
virtual P1D * bookProf(CSTR full, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:327
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
HistogramSvc::bookProf
virtual P1D * bookProf(DataObject *pPar, int hID, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:333
HistogramSvc::i_project
H2D * i_project(CSTR nameAndTitle, const H3D &h, CSTR dir)
Helper for 2D projections.
Definition: HistogramSvc.cpp:89
HistogramSvc::bookProf
virtual P1D * bookProf(STRPAIR loc, CSTR title, Edges e)
Definition: HistogramSvc.h:322
HistogramSvc::createCopy
H2D * createCopy(CSTR par, CSTR rel, const H2D &h)
Definition: HistogramSvc.h:845
merge_files.sc
int sc
Definition: merge_files.py:167
HistogramSvc::book
H3D * book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
Definition: HistogramSvc.h:509
HistogramSvc::m_input
DBaseEntries m_input
Input streams.
Definition: HistogramSvc.h:138
HistogramSvc::bookProf
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
std::map< std::string, Gaudi::Histo1DDef >
HistogramSvc::bookProf
virtual P2D * bookProf(STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
Definition: HistogramSvc.h:408
HistogramSvc::initialize
StatusCode initialize() override
Initialise the service.
Definition: HistogramSvc.cpp:252
HistogramSvc::connectInput
StatusCode connectInput(CSTR ident)
Connect input histogram file to the service.
Definition: HistogramSvc.cpp:200
AIDA
GaudiKernel.
Definition: Fill.h:8
HistogramSvc::m_defs1D
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
HistogramSvc::book
H2D * book(CSTR par, int hID, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:437
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, int item, H2D *&obj) override
Definition: HistogramSvc.h:653
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, int item, H3D *&obj) override
Definition: HistogramSvc.h:644
HistogramSvc::findObject
StatusCode findObject(CSTR full, H3D *&obj) override
Definition: HistogramSvc.h:695
GaudiPI.h
HistogramSvc::book
H3D * book(CSTR full, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:507
HistogramSvc::add
H1D * add(CSTR nameAndTitle, const H1D &a, const H1D &b) override
Definition: HistogramSvc.h:780
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, CSTR item, P1D *&obj) override
Definition: HistogramSvc.h:658
HistogramSvc::Helper::m_svc
HistogramSvc * m_svc
Definition: HistogramSvc.h:68
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR full, H3D *&obj) override
Definition: HistogramSvc.h:600
Gaudi::createProf2D
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:265
HistogramSvc::createHistogram1D
H1D * createHistogram1D(CSTR name, CSTR tit, DBINS(x), CSTR) override
Definition: HistogramSvc.h:820
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR nametit, DBINS(x)) override
Definition: HistogramSvc.h:880
HistogramSvc::finalize
StatusCode finalize() override
finalize the service
Definition: HistogramSvc.cpp:412
HistogramSvc::findObject
StatusCode findObject(DataObject *par, int item, P2D *&obj) override
Definition: HistogramSvc.h:722
HistogramSvc::createHistogram2D
H2D * createHistogram2D(CSTR nameAndTitle, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:841
std::string
STL class.
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, int item, H3D *&obj) override
Definition: HistogramSvc.h:655
HistogramSvc::findObject
StatusCode findObject(CSTR par, int item, H1D *&obj) override
Definition: HistogramSvc.h:713
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, CSTR item, H1D *&obj) override
Definition: HistogramSvc.h:629
HistogramSvc::subtract
H1D * subtract(CSTR nameAndTitle, const H1D &a, const H1D &b) override
Definition: HistogramSvc.h:782
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR full, P2D *&obj) override
Definition: HistogramSvc.h:594
DataSvc.h
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, CSTR item, H2D *&obj) override
Definition: HistogramSvc.h:664
HistogramSvc::bookProf
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:481
Service::name
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:319
HistogramSvc::projectionXZ
H2D * projectionXZ(CSTR nameAndTitle, const H3D &h) override
Definition: HistogramSvc.h:809
Test.h2
tuple h2
Definition: Test.py:42
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition: CommonMessaging.h:118
HistogramSvc::i_splitPath
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
Definition: HistogramSvc.cpp:130
HistogramSvc::findObject
StatusCode findObject(CSTR par, CSTR rel, H1D *&obj) override
Definition: HistogramSvc.h:702
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, int item, P1D *&obj) override
Definition: HistogramSvc.h:647
HistogramSvc::bookProf
virtual P1D * bookProf(STRPAIR loc, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
Definition: HistogramSvc.h:261
HistogramSvc::book
H2D * book(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:369
AtomicAlgSequencerTest.a3
tuple a3
Definition: AtomicAlgSequencerTest.py:61
compareOutputFiles.par
string par
Definition: compareOutputFiles.py:386
BINS
#define BINS(x)
Definition: HistogramSvc.h:39
HistogramSvc::createHistogram3D
H3D * createHistogram3D(CSTR nameAndTitle, DBINS(x), DBINS(y), DBINS(z)) override
Definition: HistogramSvc.h:858
Containers::map
struct GAUDI_API map
Parametrisation class for map-like implementation.
Definition: KeyedObjectManager.h:25
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR nametit, DBINS(x), double upper, double lower) override
Definition: HistogramSvc.h:882
HistogramSvc::findObject
StatusCode findObject(CSTR full, P2D *&obj) override
Definition: HistogramSvc.h:689
HistogramSvc::createPath
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
Definition: HistogramSvc.cpp:144
HistogramSvc::createHistogram1D
H1D * createHistogram1D(CSTR name, CSTR tit, DBINS(x))
Definition: HistogramSvc.h:818
HistogramSvc::createCopy
H1D * createCopy(STRPAIR loc, const H1D &h)
Definition: HistogramSvc.h:830
HistogramSvc::findObject
StatusCode findObject(Base *par, int item, P2D *&obj) override
Definition: HistogramSvc.h:744
StatusCode::FAILURE
Definition: StatusCode.h:29
HistogramSvc::sliceXY
H2D * sliceXY(CSTR, const H3D &, int, int) override
HistogramSvc::findObject
StatusCode findObject(Base *par, int item, H2D *&obj) override
Definition: HistogramSvc.h:748
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower, CSTR) override
Definition: HistogramSvc.h:906
HistogramSvc::destroy
bool destroy(IBaseHistogram *hist) override
Definition: HistogramSvc.cpp:335
Axis.h
HistogramSvc::P1D
AIDA::IProfile1D P1D
Definition: HistogramSvc.h:64
HistogramSvc::subtract
H2D * subtract(CSTR nameAndTitle, const H2D &a, const H2D &b) override
Definition: HistogramSvc.h:791
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, int item, P2D *&obj) override
Definition: HistogramSvc.h:638
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, int item, H1D *&obj) override
Definition: HistogramSvc.h:640
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
HistogramSvc::Helper::act
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *))
Definition: HistogramSvc.h:115
HistogramSvc::H2D
AIDA::IHistogram2D H2D
Definition: HistogramSvc.h:62
HistogramSvc::createCopy
P2D * createCopy(DataObject *pPar, CSTR rel, const P2D &h)
Definition: HistogramSvc.h:919
GaudiException.h
HistogramSvc::bookProf
P2D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:410
HistogramSvc::sliceY
H1D * sliceY(CSTR name, const H2D &h, int indexX) override
Definition: HistogramSvc.h:773
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
Definition: HistogramSvc.h:477
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y))
Definition: HistogramSvc.h:895
HistogramSvc::findObject
StatusCode findObject(DataObject *par, int item, H2D *&obj) override
Definition: HistogramSvc.h:726
HistogramSvc::findObject
StatusCode findObject(Base *par, CSTR item, H1D *&obj) override
Definition: HistogramSvc.h:757
std::runtime_error
STL class.
HistogramSvc::Base
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:66
HiveAlgSequencer.h
tuple h
Definition: HiveAlgSequencer.py:24
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR name, CSTR title, const Edges &x, double upper, double lower, CSTR) override
Definition: HistogramSvc.h:877
HistogramSvc::book
H1D * book(CSTR full, CSTR title, DBINS(x)) override
Definition: HistogramSvc.h:220
Gaudi::createH2D
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
HistogramSvc::update1Ddefs
void update1Ddefs(Property &)
handler to be invoked for updating property m_defs1D
Definition: HistogramSvc.cpp:405
HistogramSvc::bookProf
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:401
HistogramSvc::createCopy
P1D * createCopy(CSTR par, CSTR rel, const P1D &h)
Definition: HistogramSvc.h:888
IRegistry.h
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
HistogramSvc::__cast
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
HistogramSvc::createCopy
P2D * createCopy(CSTR par, CSTR rel, const P2D &h)
Definition: HistogramSvc.h:915
HistogramSvc::print
std::ostream & print(Base *h, std::ostream &s=std::cout) const override
Print (ASCII) the 1D histogram into the output stream.
Definition: HistogramSvc.cpp:106
HistogramSvc::add
H2D * add(CSTR nameAndTitle, const H2D &a, const H2D &b) override
Definition: HistogramSvc.h:789
HistogramSvc::findObject
StatusCode findObject(Base *par, CSTR item, H2D *&obj) override
Definition: HistogramSvc.h:759
HistogramSvc::findObject
StatusCode findObject(DataObject *par, CSTR item, H3D *&obj) override
Definition: HistogramSvc.h:739
ana.opt
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
private
#define private
Definition: Class_dict.cpp:4
HistogramSvc::createCloud1D
AIDA::ICloud1D * createCloud1D(CSTR, CSTR, int, CSTR) override
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, CSTR path, P2D *&obj) override
Definition: HistogramSvc.h:678
HistogramSvc::subtract
H3D * subtract(CSTR nameAndTitle, const H3D &a, const H3D &b) override
Definition: HistogramSvc.h:800
HistogramSvc::findObject
StatusCode findObject(Base *par, int item, H1D *&obj) override
Definition: HistogramSvc.h:746
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:391
HistogramSvc::projectionYZ
H2D * projectionYZ(CSTR nameAndTitle, const H3D &h) override
Definition: HistogramSvc.h:811
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y), double upper, double lower) override
Definition: HistogramSvc.h:910
HistogramSvc::findObject
StatusCode findObject(CSTR par, CSTR rel, H3D *&obj) override
Definition: HistogramSvc.h:706
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, CSTR path, H1D *&obj) override
Definition: HistogramSvc.h:680
HistogramSvc::book
H2D * book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:363
HistogramSvc::registerObject
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
HistogramSvc::findObject
StatusCode findObject(CSTR full, H1D *&obj) override
Definition: HistogramSvc.h:691
HistogramSvc::createCloud3D
AIDA::ICloud3D * createCloud3D(CSTR, CSTR, int, CSTR) override
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, CSTR rel, H2D *&obj) override
Definition: HistogramSvc.h:609
HistogramSvc::createCopy
H3D * createCopy(CSTR full, const H3D &h) override
Definition: HistogramSvc.h:860
HistogramSvc::bookProf
P1D * bookProf(CSTR full, CSTR title, Edges e) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:314
HistogramSvc::createCopy
H2D * createCopy(STRPAIR loc, const H2D &h)
Definition: HistogramSvc.h:847
HistogramSvc::bookProf
P2D * bookProf(CSTR full, CSTR title, Edges x, Edges y) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:462
HistogramSvc::createCopy
P1D * createCopy(DataObject *pPar, CSTR rel, const P1D &h)
Definition: HistogramSvc.h:892
HistogramSvc::createHistogram3D
H3D * createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z), CSTR) override
Definition: HistogramSvc.h:854
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, int item, H3D *&obj) override
Definition: HistogramSvc.h:622
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR full, H1D *&obj) override
Definition: HistogramSvc.h:596
Gaudi::Utils::Histos::path
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
Definition: HistoTableFormat.cpp:191
HistogramSvc::findObject
StatusCode findObject(CSTR par, CSTR rel, P1D *&obj) override
Definition: HistogramSvc.h:698
HistogramSvc::sliceYZ
H2D * sliceYZ(CSTR, const H3D &, int, int) override
std::pair< std::string, std::string >
HistogramSvc::book
H1D * book(DataObject *pPar, int hID, CSTR title, DBINS(x)) override
Definition: HistogramSvc.h:215
HistogramSvc::findObject
StatusCode findObject(DataObject *par, int item, H3D *&obj) override
Definition: HistogramSvc.h:728
HistogramSvc::createHistogram2D
H2D * createHistogram2D(CSTR name, CSTR tit, DBINS(x), DBINS(y))
Definition: HistogramSvc.h:835
HistogramSvc::DBaseEntries
std::vector< std::string > DBaseEntries
Definition: HistogramSvc.h:60
HistogramSvc::bookProf
P2D * bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:404
HistogramSvc::registerObject
StatusCode registerObject(Base *pPar, int item, Base *obj) override
Definition: HistogramSvc.h:565
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, CSTR item, P1D *&obj) override
Definition: HistogramSvc.h:625
HistogramSvc::Edges
std::vector< double > Edges
Definition: HistogramSvc.h:59
HistogramSvc::createCopy
H3D * createCopy(STRPAIR loc, const H3D &h)
Definition: HistogramSvc.h:864
HistogramSvc::book
H3D * book(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
Definition: HistogramSvc.h:548
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR full, H2D *&obj) override
Definition: HistogramSvc.h:598
HistogramSvc::bookProf
P2D * bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:464
HistogramSvc::registerObject
StatusCode registerObject(Base *pPar, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:561
HistogramSvc::createCopy
H3D * createCopy(DataObject *pPar, CSTR rel, const H3D &h)
Definition: HistogramSvc.h:866
Property
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
DBINS
#define DBINS(x)
Definition: HistogramSvc.h:38
std::vector< double >
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR title, const Edges &x, const Edges &y, double upper, double lower, CSTR) override
Definition: HistogramSvc.h:908
HistogramSvc::findObject
StatusCode findObject(CSTR par, int item, H3D *&obj) override
Definition: HistogramSvc.h:717
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, CSTR item, P2D *&obj) override
Definition: HistogramSvc.h:660
HistogramSvc::unregisterObject
StatusCode unregisterObject(Base *obj, int item) override
Definition: HistogramSvc.h:576
HistogramSvc::Helper::act
static R * act(R *res, const S &b, Bool_t(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:105
HistogramSvc::HistogramSvc
HistogramSvc(const std::string &name, ISvcLocator *svc)
Statndard Constructor.
Definition: HistogramSvc.cpp:368
HistogramSvc::bookProf
virtual P2D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Definition: HistogramSvc.h:397
GaudiPython.Bindings.Helper
Helper
Definition: Bindings.py:45
HistogramSvc::book
virtual H2D * book(STRPAIR loc, CSTR title, Edges x, Edges y)
Definition: HistogramSvc.h:439
extends
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
HistogramSvc::Helper
Definition: HistogramSvc.h:67
Gaudi::createH3D
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
HistogramSvc::histogramFactory
AIDA::IHistogramFactory * histogramFactory() override
Retrieve the AIDA HistogramFactory interface.
Definition: HistogramSvc.h:189
HistogramSvc::createCopy
H2D * createCopy(CSTR full, const H2D &h) override
Definition: HistogramSvc.h:843
HistogramSvc::bookProf
virtual P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:337
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:259
HistogramSvc::registerObject
StatusCode registerObject(CSTR parent, int item, Base *obj) override
Definition: HistogramSvc.h:559
AtomicAlgSequencerTest.a2
tuple a2
Definition: AtomicAlgSequencerTest.py:57
HistogramSvc::findObject
StatusCode findObject(CSTR par, int item, P1D *&obj) override
Definition: HistogramSvc.h:709
HistogramSvc::bookProf
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, Edges e, double upper, double lower)
Definition: HistogramSvc.h:329
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, CSTR rel, H3D *&obj) override
Definition: HistogramSvc.h:611
HistogramSvc::projectionY
H1D * projectionY(CSTR name, const H2D &h) override
Definition: HistogramSvc.h:769
HistogramSvc::book
H1D * book(CSTR full, CSTR title, Edges e) override
Definition: HistogramSvc.h:292
HistogramSvc::book
H3D * book(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
Definition: HistogramSvc.h:517
HistogramSvc::Helper::act
static R * act(R *res, const S &b, Bool_t(T1::*pmf)(const T2 *))
Definition: HistogramSvc.h:125
HistogramSvc::findObject
StatusCode findObject(Base *par, CSTR item, P2D *&obj) override
Definition: HistogramSvc.h:755
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, CSTR item, H1D *&obj) override
Definition: HistogramSvc.h:662
HistogramSvc::sliceX
H1D * sliceX(CSTR name, const H2D &h, int indexY) override
Definition: HistogramSvc.h:771
HistogramSvc::findObject
StatusCode findObject(DataObject *par, int item, P1D *&obj) override
Definition: HistogramSvc.h:720
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, CSTR rel, H1D *&obj) override
Definition: HistogramSvc.h:607
gaudirun.s
string s
Definition: gaudirun.py:245
HistogramSvc::bookProf
P2D * bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:466
HistogramSvc::book
H3D * book(CSTR par, int hID, CSTR title, Edges x, Edges y, Edges z) override
Definition: HistogramSvc.h:542
ana.item
tuple item
print s1,s2
Definition: ana.py:146
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, CSTR item, H3D *&obj) override
Definition: HistogramSvc.h:633
HistogramSvc::bookProf
virtual P2D * bookProf(STRPAIR loc, CSTR title, Edges x, Edges y)
Definition: HistogramSvc.h:470
HistogramSvc::createCopy
H1D * createCopy(CSTR full, const H1D &h) override
Definition: HistogramSvc.h:826
HistogramSvc::bookProf
P1D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:257
NOT_IMPLEMENTED
#define NOT_IMPLEMENTED
Definition: HistogramSvc.h:40
HistogramSvc::createCopy
P2D * createCopy(CSTR full, const P2D &h) override
Definition: HistogramSvc.h:913
HistogramSvc::createHistogram1D
H1D * createHistogram1D(CSTR name, CSTR title, const Edges &x, CSTR) override
Definition: HistogramSvc.h:822
HistogramSvc::book
H3D * book(CSTR full, CSTR title, Edges x, Edges y, Edges z) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:538
HistogramSvc::Helper::act
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:95
HistogramSvc::bookProf
P2D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:406
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, CSTR path, P2D *&obj) override
Definition: HistogramSvc.h:587
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, int item, H2D *&obj) override
Definition: HistogramSvc.h:642
HistogramSvc::projectionXY
H2D * projectionXY(CSTR nameAndTitle, const H3D &h) override
Definition: HistogramSvc.h:807
HistogramSvc::createCopy
H3D * createCopy(CSTR par, CSTR rel, const H3D &h)
Definition: HistogramSvc.h:862
Gaudi::createProf1D
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
HistogramSvc::createCloud2D
AIDA::ICloud2D * createCloud2D(CSTR, CSTR, int, CSTR) override
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, int item, H2D *&obj) override
Definition: HistogramSvc.h:620
HistogramSvc::Helper::Helper
Helper(HistogramSvc *p)
Definition: HistogramSvc.h:69
HistogramSvc::book
H2D * book(DataObject *pPar, int hID, CSTR title, Edges x, Edges y) override
Definition: HistogramSvc.h:441
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Definition: HistogramSvc.h:252
HistogramSvc::sliceXZ
H2D * sliceXZ(CSTR, const H3D &, int, int) override
HistogramSvc::divide
H3D * divide(CSTR nameAndTitle, const H3D &a, const H3D &b) override
Definition: HistogramSvc.h:804
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR name, CSTR tit, DBINS(x), double upper, double lower, CSTR opt) override
Definition: HistogramSvc.h:873
HistogramSvc::retrieveObject
StatusCode retrieveObject(DataObject *par, CSTR item, H2D *&obj) override
Definition: HistogramSvc.h:631
HistogramSvc::findObject
StatusCode findObject(DataObject *par, CSTR item, P2D *&obj) override
Definition: HistogramSvc.h:733
HistogramSvc::bookProf
P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges e) override
Definition: HistogramSvc.h:324
HistogramSvc::retrieveObject
StatusCode retrieveObject(CSTR parent, CSTR rel, P1D *&obj) override
Definition: HistogramSvc.h:603
HistogramSvc::divide
H2D * divide(CSTR nameAndTitle, const H2D &a, const H2D &b) override
Definition: HistogramSvc.h:795
HistogramSvc::findObject
StatusCode findObject(Base *par, int item, P1D *&obj) override
Definition: HistogramSvc.h:742
HistogramSvc::createDirectory
DataObject * createDirectory(CSTR parentDir, CSTR subDir) override
Create a sub-directory in a directory.
Definition: HistogramSvc.cpp:173
HistogramSvc::Helper::retrieve
StatusCode retrieve(A1 a1, A3 *&a3)
Definition: HistogramSvc.h:70
HistogramSvc::findObject
StatusCode findObject(DataObject *par, CSTR item, H2D *&obj) override
Definition: HistogramSvc.h:737
HistogramSvc::book
H2D * book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
Definition: HistogramSvc.h:361
HistogramSvc::P2D
AIDA::IProfile2D P2D
Definition: HistogramSvc.h:65
HistogramSvc::H1D
AIDA::IHistogram1D H1D
Definition: HistogramSvc.h:61
HistogramSvc::reinitialize
StatusCode reinitialize() override
Initialise the service.
Definition: HistogramSvc.cpp:290
HistogramSvc::retrieveObject
StatusCode retrieveObject(Base *par, CSTR item, H3D *&obj) override
Definition: HistogramSvc.h:666
HistogramSvc::book
virtual H3D * book(STRPAIR loc, CSTR title, DBINS(x), DBINS(y), DBINS(z))
Definition: HistogramSvc.h:515
HistogramSvc::multiply
H1D * multiply(CSTR nameAndTitle, const H1D &a, const H1D &b) override
Definition: HistogramSvc.h:784
HistogramSvc::H3D
AIDA::IHistogram3D H3D
Definition: HistogramSvc.h:63
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
HistogramSvc::createProfile1D
P1D * createProfile1D(CSTR name, CSTR tit, DBINS(x), CSTR opt) override
Definition: HistogramSvc.h:871
HistogramSvc::book
virtual H3D * book(STRPAIR loc, CSTR title, Edges x, Edges y, Edges z)
Definition: HistogramSvc.h:546
HistogramSvc::book
H1D * book(CSTR par, int hID, CSTR title, Edges e) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:284
HistogramSvc::createProfile2D
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR) override
Definition: HistogramSvc.h:897
HistogramSvc::registerObject
StatusCode registerObject(DataObject *pPar, int item, Base *obj) override
Definition: HistogramSvc.h:563
HistogramSvc::findObject
StatusCode findObject(DataObject *par, CSTR item, P1D *&obj) override
Definition: HistogramSvc.h:731
HistogramSvc::book
H2D * book(CSTR full, CSTR title, DBINS(x), DBINS(y)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:359
Gaudi
Helper functions to set/get the application return code.
Definition: __init__.py:1
HistogramSvc::bookProf
virtual P1D * bookProf(STRPAIR loc, CSTR title, DBINS(x), CSTR opt)
Definition: HistogramSvc.h:248
HistogramSvc::book
H3D * book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
Definition: HistogramSvc.h:540
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
HistogramSvc::bookProf
P1D * bookProf(CSTR par, int hID, CSTR title, Edges e) override
Definition: HistogramSvc.h:318
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, CSTR path, H3D *&obj) override
Definition: HistogramSvc.h:684
HistogramSvc::createCopy
P2D * createCopy(STRPAIR loc, const P2D &h)
Definition: HistogramSvc.h:917
HistogramSvc::findObject
StatusCode findObject(Base *par, int item, H3D *&obj) override
Definition: HistogramSvc.h:750
IHistogramSvc.h
HistogramSvc::createHistogram2D
H2D * createHistogram2D(CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR) override
Definition: HistogramSvc.h:839
HistogramSvc::bookProf
P1D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), CSTR opt) override
Definition: HistogramSvc.h:244
HistogramSvc::Helper::find
StatusCode find(A1 a1, A2 a2, A3 *&a3)
Definition: HistogramSvc.h:88
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, CSTR path, H3D *&obj) override
Definition: HistogramSvc.h:589
HistogramSvc
HistogramSvc class definition.
Definition: HistogramSvc.h:47