3 #ifndef GAUDIALG_GAUDITUPLES_H
4 #define GAUDIALG_GAUDITUPLES_H 1
36 template <
class PBASE>
86 const CLID& clid = CLID_ColumnWiseTuple )
const ;
127 const std::string& title ,
128 const CLID& clid = CLID_ColumnWiseTuple )
const ;
160 Tuple evtCol (
const std::string& title ,
161 const CLID& clid = CLID_ColumnWiseTuple )
const ;
202 const std::string& title ,
203 const CLID& clid = CLID_ColumnWiseTuple )
const ;
212 const std::string&
nTupleLUN ()
const {
return m_nTupleLUN ; }
216 const std::string&
nTupleDir ()
const {
return m_nTupleDir ; }
220 std::string nTuplePath ()
const;
226 const std::string&
evtColLUN ()
const {
return m_evtColLUN ; }
230 const std::string&
evtColDir ()
const {
return m_evtColDir ; }
234 std::string evtColPath ()
const;
245 long printTuples ()
const ;
249 long printEvtCols ()
const ;
254 bool nTupleExists (
const TupleID& ID )
const;
256 bool evtColExists (
const TupleID& ID )
const;
279 createNTuple (
const std::string& name ,
281 const CLID& clid )
const ;
290 createEvtCol (
const std::string& name ,
292 const CLID& clid )
const ;
301 const std::string& name ,
313 {
return i_gtInitialize(); }
322 {
return i_gtFinalize(); }
332 m_produceNTuples = true ;
333 m_splitNTupleDir = false ;
334 m_nTupleLUN =
"FILE1" ;
335 m_nTupleTopDir =
"" ;
336 m_nTupleDir = this->name() ;
339 m_produceEvtCols = false ;
340 m_splitEvtColDir = false ;
341 m_evtColLUN =
"EVTCOL" ;
342 m_evtColTopDir =
"" ;
343 m_evtColDir = this->name() ;
346 m_tuplesPrint = true ;
347 m_evtColsPrint = false ;
349 this -> declareProperty
350 (
"NTupleProduce" , m_produceNTuples ,
351 "General switch to enable/disable N-tuples" ) ;
352 this -> declareProperty
353 (
"NTuplePrint" , m_tuplesPrint ,
354 "Print N-tuple statistics" )
356 this -> declareProperty
357 (
"NTupleSplitDir" , m_splitNTupleDir ,
358 "Split long directory names into short pieces (suitable for HBOOK)" ) ;
359 this -> declareProperty
360 (
"NTupleOffSet" , m_nTupleOffSet ,
361 "Offset for numerical N-tuple ID" ) ;
362 this -> declareProperty
363 (
"NTupleLUN" , m_nTupleLUN ,
364 "Logical File Unit for N-tuples" ) ;
365 this -> declareProperty
366 (
"NTupleTopDir" , m_nTupleTopDir ,
367 "Top-level directory for N-Tuples") ;
368 this -> declareProperty
369 (
"NTupleDir" , m_nTupleDir ,
370 "Subdirectory for N-Tuples" ) ;
372 this -> declareProperty
373 (
"EvtColsProduce" , m_produceEvtCols ,
374 "General switch to enable/disable Event Tag Collections" ) ;
375 this -> declareProperty
376 (
"EvtColsPrint" , m_evtColsPrint ,
377 "Print statistics for Event Tag Collections " )
379 this -> declareProperty
380 (
"EvtColSplitDir" , m_splitEvtColDir ,
381 "Split long directory names into short pieces" ) ;
382 this -> declareProperty
383 (
"EvtColOffSet" , m_evtColOffSet ,
384 "Offset for numerical N-tuple ID" ) ;
385 this -> declareProperty
386 (
"EvtColLUN" , m_evtColLUN ,
387 "Logical File Unit for Event Tag Collections" ) ;
388 this -> declareProperty
389 (
"EvtColTopDir" , m_evtColTopDir ,
390 "Top-level directory for Event Tag Collections" ) ;
391 this -> declareProperty
392 (
"EvtColDir" , m_evtColDir ,
393 "Subdirectory for Event Tag Collections" ) ;
400 void printNTupleHandler (
Property& ) ;
402 void printEvtColHandler (
Property& ) ;
451 #endif // GAUDIALG_GAUDITUPLES_H
std::string m_nTupleTopDir
top level tuple directory
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
TupleMapTitle m_nTupleMapTitle
the actual storage of ntuples by title
std::string m_nTupleLUN
name of logical unit for tuple directory
Templated base class providing common 'ntupling' methods.
bool splitEvtColDir() const
get the flag for Event Tag Collection path split (property "EvtColsSplitDir")
const std::string & evtColDir() const
get the Event Tag Collection directory (property "EvtColsDir")
Header file for class TupleObj.
TupleMapTitle m_evtColMapTitle
the actual storage of event collections by title
std::string m_evtColDir
local tuple directory
const std::string & nTupleLUN() const
get the logical unit for N-Tuples (property "NTupleLUN")
Tuples::Tuple Tuple
the actual type of the tuple
GaudiAlg::TupleMapTitle TupleMapTitle
the actual type of (title) -> (tuple) mappping
const std::string & evtColTopDir() const
get the top-level Event Tag Collection directory (property "EvtColsTopDir")
TupleID::NumericID m_nTupleOffSet
the offset for ntuple numerical ID
const std::string & nTupleTopDir() const
get the top-level N-Tuple directory (property "NTupleTopDir")
bool evtColsPrint() const
print event collections at finalization
TupleID::NumericID m_evtColOffSet
the offset for ntuple numerical ID
std::string m_evtColLUN
name of Logical Unit for tuple directory
bool m_splitEvtColDir
flag to indicate splitting of tuple directories (useful for HBOOK)
TupleMapID m_evtColMapID
the actual storage of event collections by ID
A simple wrapper class over standard Gaudi NTuple::Tuple facility.
std::string m_evtColTopDir
top level tuple directory
def nTuple
Retrieve (book-on-demand) 'Smart'-N-tuple object.
const TupleMapTitle & nTupleMapTitle() const
access to the all ntuples by title
GaudiAlg::TupleID TupleID
the actual type of N-tuple ID
const TupleMapTitle & evtColMapTitle() const
access to the all evet tag collections by title
bool m_splitNTupleDir
flag to indicate splitting of tuple directories (useful for HBOOK)
A simple wrapper class over standard Gaudi NTuple::Tuple facility.
GaudiAlg::TupleMapID TupleMapID
the actual type of (Numeric ID) -> (tuple) mappping
TupleID::NumericID nTupleOffSet() const
get the value for N-Tuple offset (property "NTupleOffSet")
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
GaudiAlg::HistoID HistoID
the actual type for histogram identifier
GaudiAlg::ID TupleID
the actual type for N-Tuple identifier (HBOOK-style)
unsigned int CLID
Class ID definition.
bool tuplesPrint() const
print tuples at finalization
bool m_tuplesPrint
print tuples at finalization?
Abstract base class which allows the user to interact with the actual N tuple implementation.
bool m_produceEvtCols
flag to switch ON/OFF the ntuple filling and booking
void initGaudiTuplesConstructor()
Constructor initialization and job options.
Property base class allowing Property* collections to be "homogeneous".
const TupleMapID & nTupleMapID() const
access to the all ntuples by numeric ID
TupleMapID m_nTupleMapID
the actual storage of ntuples by ID
const std::string & evtColLUN() const
get the logical unit for Event Tag Collections (property "EvtColsLUN")
const std::string & nTupleDir() const
get the N-Tuple directory (property "NTupleDir")
Common class providing an architecture-independent hash map.
bool produceEvtCols() const
get the flag for Event Tag Collection production (property "EvtColsProduce")
std::string m_nTupleDir
local tuple directory
bool m_produceNTuples
flag to switch ON/OFF the ntuple filling and booking
TupleID::NumericID evtColOffSet() const
get the value for Event Tag Collection offset (property "EvtColsOffSet")
bool splitNTupleDir() const
get the flag for N-Tuple path split (property "NTupleSplitDir")
bool produceNTuples() const
get the flag for N-Tuple production (property "NTupleProduce")
bool m_evtColsPrint
print event collections at finalization
ID class for Histogram and Ntuples.
Header file for class : Tuple.
const TupleMapID & evtColMapID() const
access to the all evet tag collections by numeric ID