All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IExperiment.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include <unordered_map>
7 
8 class TDirectory;
9 
10 namespace osc
11 {
12  template<class T> class _IOscCalc;
13  typedef _IOscCalc<double> IOscCalc;
14  template<class T> class _IOscCalcAdjustable;
15  typedef _IOscCalcAdjustable<double> IOscCalcAdjustable;
16 }
17 
18 namespace ana
19 {
20  /// Base class defining interface for experiments
22  {
23  public:
24  virtual ~IExperiment() {}
25  virtual double ChiSq(osc::IOscCalcAdjustable* osc,
26  const SystShifts& syst = SystShifts::Nominal()) const = 0;
27 
28  virtual void SaveTo(TDirectory* dir) const;
29  };
30 }
_IOscCalcAdjustable< double > IOscCalcAdjustable
Definition: Calcs.h:5
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:16
virtual double ChiSq(osc::IOscCalcAdjustable *osc, const SystShifts &syst=SystShifts::Nominal()) const =0
virtual ~IExperiment()
Definition: IExperiment.h:24
process_name opflashCryoW ana
static SystShifts Nominal()
Definition: SystShifts.h:23
_IOscCalc< double > IOscCalc
Definition: Plots.h:17
tuple dir
Definition: dropbox.py:28
virtual void SaveTo(TDirectory *dir) const
Definition: IExperiment.cxx:40
Base class defining interface for experiments.
Definition: IExperiment.h:21