All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ITrackHistogramTool.h
Go to the documentation of this file.
1 #ifndef ITrackHistogramTOOL_H
2 #define ITrackHistogramTOOL_H
3 ////////////////////////////////////////////////////////////////////////
4 //
5 // Class: ITrackHistogramTool
6 // Module Type: tool
7 // File: ITrackHistogramTool.h
8 //
9 // This provides an interface for tools which do histogramming
10 // of various quantities associated to recob::Track 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 #include "canvas/Persistency/Common/Ptr.h"
22 
24 {
25 public:
26  /**
27  * @brief Virtual Destructor
28  */
29  virtual ~ITrackHistogramTool() 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 method to executve at the end of run processing
48  *
49  * @param int number of events to use for normalization
50  */
51  virtual void endJob(int numEvents) = 0;
52 
53  /**
54  * @brief Interface for filling histograms
55  */
56  virtual void fillHistograms(const art::Event&) const = 0;
57 };
58 
59 #endif
virtual void endJob(int numEvents)=0
Interface for method to executve at the end of run processing.
virtual void fillHistograms(const art::Event &) const =0
Interface for filling histograms.
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
virtual ~ITrackHistogramTool() noexcept=default
Virtual Destructor.
Provides recob::Track data product.
virtual void initializeHists(art::ServiceHandle< art::TFileService > &, const std::string &)=0
Interface for initializing the histograms to be filled.