ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeService/interface/TreeService.h
Revision: 1.14
Committed: Sun Mar 15 11:17:36 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_011a, Mit_011, Mit_010a, Mit_010, Mit_009c, Mit_009b, Mit_009a, Mit_009, Mit_008, Mit_008pre2
Changes since 1.13: +2 -1 lines
Log Message:
Added std::string setters

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.14 // $Id: TreeService.h,v 1.13 2009/03/04 07:25:24 loizides Exp $
3 loizides 1.1 //
4     // TreeService
5     //
6     // This service can be used in the config files to provide access to the TreeWriter,
7     // for example:
8     //
9     // service = TreeService {
10 paus 1.2 // untracked vstring treeNames = { "MitTree" }
11     // untracked vstring fileNames = { "mittreefile" }
12     // untracked vstring pathNames = { "." }
13     // untracked vuint32 maxSizes = { 1024 }
14     // untracked vuint32 compLevels = { 9 }
15     // untracked vuint32 splitLevels = { 99 }
16     // untracked vuint32 brSizes = { 32000 }
17 loizides 1.1 // }
18     //
19     // Authors: C.Loizides
20     //--------------------------------------------------------------------------------------------------
21    
22 loizides 1.10 #ifndef MITPROD_TREESERVICE_TREESERVICE_H
23     #define MITPROD_TREESERVICE_TREESERVICE_H
24 loizides 1.5
25     #include "DataFormats/Provenance/interface/EventID.h"
26     #include "DataFormats/Provenance/interface/Timestamp.h"
27     #include "FWCore/Framework/interface/Event.h"
28     #include "FWCore/Framework/interface/EventSetup.h"
29    
30     #include <TObjArray.h>
31    
32     namespace edm
33     {
34     class ActivityRegistry;
35     class ParameterSet;
36     class ModuleDescription;
37     }
38    
39 loizides 1.1 namespace mithep
40     {
41     class TreeWriter;
42    
43     class TreeService {
44     public:
45 loizides 1.7 TreeService(const edm::ParameterSet &cfg, edm::ActivityRegistry &ar);
46 loizides 1.1 ~TreeService();
47    
48     TreeWriter *get(const char *name=0);
49 loizides 1.14 TreeWriter *get(const std::string &name) { return get(name.c_str()); }
50 loizides 1.1
51     private:
52     void preEventProcessing(const edm::EventID &id, const edm::Timestamp &t);
53 loizides 1.8 void postEventProcessing(const edm::Event &e, const edm::EventSetup &es);
54 loizides 1.1 void postBeginJob();
55     void postEndJob();
56    
57     TObjArray tws_; //array holding the tree writers
58    
59     // parameters for service
60 loizides 1.13 std::vector<std::string> treeNames_; //tree names
61     std::vector<std::string> fileNames_; //file names
62     std::vector<std::string> pathNames_; //path names
63     std::vector<unsigned> maxSizes_; //max file sizes [MB]
64     std::vector<unsigned> compLevels_; //compression levels
65     std::vector<unsigned> splitLevels_; //default split levels
66     std::vector<unsigned> brSizes_; //default branch sizes [Byte]
67     unsigned zipMode_; //compression mode used by OptIO
68     double bZipThres_; //bzip threshold
69     double gZipThres_; //gzip threshold
70     double lzoThres_; //lzo threshold
71     double lzmaThres_; //lzma threshold
72     unsigned optIOVerbose_; //OptIO verbose
73     bool fDoReset_; //reset object counter (def=1)
74 loizides 1.1 };
75 paus 1.2 }
76 loizides 1.3 #endif