RDFAnalysis  0.1.1
Physics analysis with ROOT::RDataFrame
CutflowWriter.h
Go to the documentation of this file.
1 #ifndef RDFAnalysis_CutflowWriter_H
2 #define RDFAnalysis_CutflowWriter_H
3 
4 // package includes
6 #include "RDFAnalysis/Helpers.h"
8 #include <string>
9 #include <vector>
10 #include <map>
11 #include "Rtypes.h"
12 #include <TH1.h>
13 #include <TDirectory.h>
14 
20 namespace RDFAnalysis {
24  template <typename Detail>
25  class CutflowWriter : public INodeWriter<Detail> {
26  static_assert(std::is_base_of<CutflowDetail, Detail>::value, "The CutflowWriter requires a cutflow detail!!");
27  public:
28  ~CutflowWriter() override {}
29 
36  CutflowWriter(const std::string& subDirName="cutflows");
37 
44  void write(
45  Node<Detail>& node,
46  TDirectory* directory,
47  std::size_t depth) override;
48 
49  private:
51  std::string m_subDirName;
52 
53  }; //> end class CutflowWriter
54 } //> end namespace RDFAnalysis
55 
56 #include "RDFAnalysis/CutflowWriter.icc"
57 #endif //> !RDFAnalysis_CutflowWriter_H
Class to write cutflows from Nodes.
Definition: CutflowWriter.h:25
CutflowWriter(const std::string &subDirName="cutflows")
Create the writer.
Abstract base class for node writers.
Base class for writing specific information from Nodes to file.
Definition: INodeWriter.h:28
Definition: CutflowDetail.h:11
Class to represent a single step in the analysis process.
Definition: Node.h:32
~CutflowWriter() override
Definition: CutflowWriter.h:28
void write(Node< Detail > &node, TDirectory *directory, std::size_t depth) override
Write cutflows from node to directory.