IDecomp.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/Cut.h"
5 #include "CAFAna/Core/Spectrum.h"
6 
7 class TDirectory;
8 
9 namespace ana
10 {
11 
12  /// Standard interface to all decomposition techniques
13  class IDecomp
14  {
15  public:
16  virtual ~IDecomp() = default;
17 
18  virtual Spectrum NCTotalComponent() const { return NCComponent()+NCAntiComponent(); }
19  virtual Spectrum NCComponent() const = 0;
20  virtual Spectrum NCAntiComponent() const = 0;
21  virtual Spectrum NumuComponent() const = 0;
22  virtual Spectrum AntiNumuComponent() const = 0;
23  virtual Spectrum NueComponent() const = 0;
24  virtual Spectrum AntiNueComponent() const = 0;
25  virtual Spectrum Data_Component() const;
26 
27  virtual Spectrum MC_NCTotalComponent() const;
28  virtual Spectrum MC_NCComponent() const;
29  virtual Spectrum MC_NCAntiComponent() const;
30  virtual Spectrum MC_NumuComponent() const;
31  virtual Spectrum MC_AntiNumuComponent() const;
32  virtual Spectrum MC_NueComponent() const;
33  virtual Spectrum MC_AntiNueComponent() const;
34 
35  virtual void SaveTo(TDirectory* dir, const std::string& name) const = 0;
36  };
37 }
const XML_Char * name
Definition: expat.h:151
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
virtual Spectrum AntiNueComponent() const =0
virtual Spectrum MC_NCAntiComponent() const
Definition: IDecomp.cxx:30
virtual Spectrum NumuComponent() const =0
virtual Spectrum NCAntiComponent() const =0
virtual Spectrum Data_Component() const
Definition: IDecomp.cxx:16
virtual ~IDecomp()=default
virtual Spectrum NCComponent() const =0
virtual Spectrum MC_NumuComponent() const
Definition: IDecomp.cxx:34
Representation of a spectrum in any variable, with associated POT.
Definition: Spectrum.h:40
virtual Spectrum MC_AntiNumuComponent() const
Definition: IDecomp.cxx:38
virtual Spectrum AntiNumuComponent() const =0
virtual Spectrum MC_AntiNueComponent() const
Definition: IDecomp.cxx:46
TDirectory * dir
Definition: macro.C:5
virtual Spectrum MC_NueComponent() const
Definition: IDecomp.cxx:42
virtual Spectrum NCTotalComponent() const
Definition: IDecomp.h:18
Standard interface to all decomposition techniques.
Definition: IDecomp.h:13
virtual void SaveTo(TDirectory *dir, const std::string &name) const =0
virtual Spectrum MC_NCTotalComponent() const
Definition: IDecomp.cxx:22
virtual Spectrum MC_NCComponent() const
Definition: IDecomp.cxx:26
virtual Spectrum NueComponent() const =0
enum BeamMode string