ATLAS Offline Software
RootD3PDSvc.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef D3PDMAKERROOT_ROOTD3PDSVC_H
17 #define D3PDMAKERROOT_ROOTD3PDSVC_H
18 
21 #include "GaudiKernel/ServiceHandle.h"
22 #include "GaudiKernel/ITHistSvc.h"
23 #include <vector>
24 #include <string>
25 
26 #include "RootD3PD.h"
27 
28 namespace D3PD {
29 
30 
31  // class RootD3PD;
32 
33 
38  : public extends<AthService, ID3PDSvc>
39 {
40 public:
46  RootD3PDSvc (const std::string& name,
47  ISvcLocator* svcloc);
48 
50  virtual StatusCode initialize() override;
51 
53  virtual StatusCode finalize() override;
54 
56  virtual StatusCode stop() override;
57 
68  virtual StatusCode make (const std::string& name, ID3PD* & d3pd) override;
69 
70 
71 private:
73  static void cleanup();
74 
75 
78 
82  std::string m_masterTree;
83 
85  std::string m_indexMajor;
87  std::string m_indexMinor;
88 
91 
94 
101  long long m_autoFlush;
102 
104  std::vector< std::string > m_allowedNames;
105 
107  std::vector< std::string > m_vetoedNames;
108 
111 
113  std::vector<std::unique_ptr<RootD3PD> > m_d3pds;
114 
115  // Disallow copying.
118 };
119 
120 
121 } // namespace D3PD
122 
123 
124 #endif // not D3PDMAKERROOT_ROOTD3PDSVC_H
D3PD::ID3PD
Define an abstract interface for building a D3PD tree.
Definition: ID3PD.h:37
D3PD::RootD3PDSvc::m_histSvc
ServiceHandle< ITHistSvc > m_histSvc
Property: Gaudi THistSvc.
Definition: RootD3PDSvc.h:110
D3PD::RootD3PDSvc::m_vetoedNames
std::vector< std::string > m_vetoedNames
Property: Vetoed names for the created D3PD.
Definition: RootD3PDSvc.h:107
D3PD::RootD3PDSvc::m_autoFlush
long long m_autoFlush
Property: Value to set for ROOT's AutoFlush parameter.
Definition: RootD3PDSvc.h:101
D3PD::RootD3PDSvc::RootD3PDSvc
RootD3PDSvc(const RootD3PDSvc &)
RootD3PD.h
Root-based D3PD tree.
D3PD::RootD3PDSvc::m_allowedNames
std::vector< std::string > m_allowedNames
Property: Allowed names for the created D3PD.
Definition: RootD3PDSvc.h:104
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::RootD3PDSvc::finalize
virtual StatusCode finalize() override
Standard Gaudi finalize method.
Definition: RootD3PDSvc.cxx:106
D3PD::RootD3PDSvc::operator=
RootD3PDSvc & operator=(const RootD3PDSvc &)
D3PD::RootD3PDSvc::m_d3pds
std::vector< std::unique_ptr< RootD3PD > > m_d3pds
Remember all the tuples we've made.
Definition: RootD3PDSvc.h:113
D3PD::RootD3PDSvc
Service to create a root-based D3PD.
Definition: RootD3PDSvc.h:39
D3PD::RootD3PDSvc::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: RootD3PDSvc.cxx:95
D3PD::RootD3PDSvc::stop
virtual StatusCode stop() override
Standard Gaudi stop method.
Definition: RootD3PDSvc.cxx:115
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::RootD3PDSvc::m_basketSize
int m_basketSize
Property: Basket buffer size, or -1 to use the Root default.
Definition: RootD3PDSvc.h:90
D3PD::RootD3PDSvc::m_indexMinor
std::string m_indexMinor
Property: Minor variable name for index making, or null.
Definition: RootD3PDSvc.h:87
D3PD::RootD3PDSvc::m_doBranchRef
bool m_doBranchRef
Property: If true, then add BranchRef info to the tuple.
Definition: RootD3PDSvc.h:77
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
D3PD::RootD3PDSvc::RootD3PDSvc
RootD3PDSvc(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition: RootD3PDSvc.cxx:32
D3PD::RootD3PDSvc::make
virtual StatusCode make(const std::string &name, ID3PD *&d3pd) override
Create a new D3PD tree.
Definition: RootD3PDSvc.cxx:175
D3PD::RootD3PDSvc::m_entryOffsetLen
int m_entryOffsetLen
Property: Basket entry offset buffer size, or -1 to use the Root default.
Definition: RootD3PDSvc.h:93
AthService.h
D3PD::RootD3PDSvc::m_masterTree
std::string m_masterTree
Property: Name of the master tree.
Definition: RootD3PDSvc.h:82
D3PD::RootD3PDSvc::cleanup
static void cleanup()
Make sure all files are closed before exiting, to prevent crashes.
Definition: RootD3PDSvc.cxx:80
ID3PDSvc.h
Abstract interface for service to create D3PD trees.
D3PD::RootD3PDSvc::m_indexMajor
std::string m_indexMajor
Property: Major variable name for index making, or null.
Definition: RootD3PDSvc.h:85
ServiceHandle< ITHistSvc >