DESY Hbb Analysis Framework
Metadata.h
Go to the documentation of this file.
1 #ifndef Analysis_Ntuplizer_Metadata_h
2 #define Analysis_Ntuplizer_Metadata_h 1
3 
4 // -*- C++ -*-
5 //
6 // Package: Analysis/Ntuplizer
7 // Class: Metadata
8 //
16 //
17 // Original Author: Roberval Walsh Bastos Rangel
18 // Created: Mon, 20 Oct 2014 14:24:08 GMT
19 //
20 //
21 
22 // system include files
23 #include <memory>
24 //
25 // user include files
26 #include "FWCore/Framework/interface/Event.h"
27 #include "FWCore/ParameterSet/interface/ParameterSet.h"
28 #include "FWCore/Framework/interface/EventSetup.h"
29 #include "FWCore/Framework/interface/Run.h"
30 #include "FWCore/Framework/interface/LuminosityBlock.h"
31 
33 
34 #include "FWCore/ServiceRegistry/interface/Service.h"
35 #include "CommonTools/UtilAlgos/interface/TFileService.h"
36 
37 #include "DataFormats/Common/interface/MergeableCounter.h"
38 #include "SimDataFormats/GeneratorProducts/interface/GenFilterInfo.h"
39 
41 
43 
44 
45 
46 #include "TTree.h"
47 
48 
50 typedef std::unique_ptr<Definitions> pDefinitions;
51 
54 
55 typedef std::unique_ptr<GenFilter> pGenFilter;
56 typedef std::unique_ptr<EvtFilter> pEvtFilter;
57 
58 
59 typedef std::unique_ptr<edm::Service<TFileService> > pTFileService;
60 
61 
62 //
63 // class declaration
64 //
65 
66 namespace analysis {
67  namespace ntuple {
68 
69  class Metadata {
70  public:
71  Metadata();
72  Metadata(edm::Service<TFileService> &, const bool & is_mc = false, const std::string & dir = "Metadata" );
73  Metadata(TFileDirectory & );
74  ~Metadata();
75  void Fill();
76  TTree * Tree();
77  TFileDirectory TreeDir();
78  void AddDefinitions(const std::vector<std::string> &, const std::vector<std::string> &);
79  void AddDefinitions(const std::vector<std::string> &, const std::vector<std::string> &, const std::string &);
80  void AddDefinitions(const std::vector<TitleAlias> &, const std::string &);
81 
82  void SetGeneratorFilter(const edm::InputTag & );
83  void SetEventFilter(const std::vector<edm::InputTag> &);
84  void SetMHatEventFilter(const std::vector<edm::InputTag> &);
85  void IncrementEventFilters( edm::LuminosityBlock const& );
86 
87  void SetCrossSections( const edm::Run &, const edm::InputTag &, const double & myxs = -1. );
88 
89 
92 
93  private:
94  // ----------member data ---------------------------
95 
96 // edm::Service<TFileService> * fs_;
97  TFileDirectory mainDir_;
98  TFileDirectory mHatDir_;
99 
100  std::vector<pDefinitions> vdefinitions_;
101 
108 
109 
111 
112  // Cross sections tree
113  TTree * treeXS_;
114  double myXSec_;
115  double XSec_;
119  unsigned int runXS_;
120 
121  // Dataset tree
122  TTree * treeDS_;
123  bool is_mc_;
124 
125 
126 
127 
128  };
129  }
130 }
131 
132 #endif // Analysis_Ntuplizer_Metadata_h
std::vector< pDefinitions > vdefinitions_
Definition: Metadata.h:100
TFileDirectory mainDir_
Definition: Metadata.h:97
TFileDirectory mHatDir_
Definition: Metadata.h:98
std::unique_ptr< GenFilter > pGenFilter
Definition: Metadata.h:55
GenFilter & GetGeneratorFilter()
Definition: Metadata.cc:152
void SetCrossSections(const edm::Run &, const edm::InputTag &, const double &myxs=-1.)
Definition: Metadata.cc:162
void SetGeneratorFilter(const edm::InputTag &)
Definition: Metadata.cc:126
void AddDefinitions(const std::vector< std::string > &, const std::vector< std::string > &)
Definition: Metadata.cc:101
analysis::ntuple::EventFilter< GenFilterInfo > GenFilter
Definition: Metadata.h:52
std::unique_ptr< EvtFilter > pEvtFilter
Definition: Metadata.h:56
EvtFilter & GetEventFilter()
Definition: Metadata.cc:157
void SetMHatEventFilter(const std::vector< edm::InputTag > &)
Definition: Metadata.cc:138
std::unique_ptr< Definitions > pDefinitions
Definition: Metadata.h:50
analysis::ntuple::EventFilter< edm::MergeableCounter > EvtFilter
Definition: Metadata.h:53
void SetEventFilter(const std::vector< edm::InputTag > &)
Definition: Metadata.cc:132
void IncrementEventFilters(edm::LuminosityBlock const &)
Definition: Metadata.cc:145
analysis::ntuple::Definitions Definitions
Definition: Metadata.h:49
TFileDirectory TreeDir()
std::unique_ptr< edm::Service< TFileService > > pTFileService
Definition: Metadata.h:59