All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
icaruscode/icaruscode/Analysis/tools/IHitEfficiencyHistogramTool.h
Go to the documentation of this file.
1 #ifndef IHitEfficiencyHistogramTOOL_H
2 #define IHitEfficiencyHistogramTOOL_H
3 ////////////////////////////////////////////////////////////////////////
4 //
5 // Class: IHitEfficiencyHistogramTool
6 // Module Type: tool
7 // File: IHitEfficiencyHistogramTool.h
8 //
9 // This provides an interface for tools which do histogramming
10 // of various quantities associated to recob::Hit objects
11 //
12 // Created by Tracy Usher (usher@slac.stanford.edu) on October 16, 2017
13 //
14 ////////////////////////////////////////////////////////////////////////
15 
16 #include "fhiclcpp/ParameterSet.h"
17 #include "art/Framework/Services/Registry/ServiceHandle.h"
18 #include "art_root_io/TFileService.h"
19 #include "art/Framework/Principal/Event.h"
20 
21 class TTree;
22 
24 {
25 public:
26  /**
27  * @brief Virtual Destructor
28  */
29  virtual ~IHitEfficiencyHistogramTool() noexcept = default;
30 
31  /**
32  * @brief Interface for configuring the particular algorithm tool
33  *
34  * @param ParameterSet The input set of parameters for configuration
35  */
36  virtual void configure(const fhicl::ParameterSet&) = 0;
37 
38  /**
39  * @brief Interface for initializing the histograms to be filled
40  *
41  * @param TFileService handle to the TFile service
42  * @param string subdirectory to store the hists in
43  */
44  virtual void initializeHists(art::ServiceHandle<art::TFileService>&, const std::string&) = 0;
45 
46  /**
47  * @brief Interface for initializing the tuple variables
48  *
49  * @param TTree pointer to a TTree object to which to add variables
50  */
51  virtual void initializeTuple(TTree*) = 0;
52 
53  /**
54  * @brief Interface for method to executve at the end of run processing
55  *
56  * @param int number of events to use for normalization
57  */
58  virtual void endJob(int numEvents) = 0;
59 
60  /**
61  * @brief Interface for filling histograms
62  */
63  virtual void fillHistograms(const art::Event&) const = 0;
64 };
65 
66 #endif
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
virtual void fillHistograms(const art::Event &) const =0
Interface for filling histograms.
virtual void initializeTuple(TTree *)=0
Interface for initializing the tuple variables.
virtual ~IHitEfficiencyHistogramTool() noexcept=default
Virtual Destructor.
virtual void endJob(int numEvents)=0
Interface for method to executve at the end of run processing.
virtual void initializeHists(art::ServiceHandle< art::TFileService > &, const std::string &)=0
Interface for initializing the histograms to be filled.