PredictionGenerator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include "CAFAna/Core/Cut.h"
7 #include "CAFAna/Core/HistAxis.h"
8 #include "CAFAna/Core/Var.h"
9 #include "CAFAna/Vars/HistAxes.h"
10 #include "CAFAna/Core/SystShifts.h"
11 
12 namespace ana
13 {
14  class Loaders;
15  class IPrediction;
16 
17  /** \brief Given loaders and an MC shift, Generate() generates an IPrediction
18 
19  All other arguments needed to construct the prediction are passed to the
20  IPredictionGenerator constructor, and are identical for all generated
21  predictions. For standalone use or use with PredictionInterp. **/
23  {
24  public:
25  virtual std::unique_ptr<IPrediction> Generate(
26  Loaders& loaders, const SystShifts& shiftMC = kNoShift ) const = 0;
27  };
28 
29  //---------------------------------------------------------------------------
30 
31  /// Generates FD-only predictions (no extrapolation)
33  {
34  public:
36  const HistAxis axis,
37  const Cut cut,
38  const Var wei = kUnweighted );
39  std::unique_ptr<IPrediction> Generate(
41  const SystShifts& shiftMC = kNoShift ) const override;
42  private:
43  const HistAxis fAxis;
44  const Cut fCut;
45  const Var fWei;
46  };
47 
48  //.......................................................................................
49 
50 
51 }
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:20
Collection of SpectrumLoaders for many configurations.
Definition: Loaders.h:23
Generates FD-only predictions (no extrapolation)
const SystShifts kNoShift
Definition: SystShifts.cxx:22
const Cut cut
Definition: exporter_fd.C:30
virtual std::unique_ptr< IPrediction > Generate(Loaders &loaders, const SystShifts &shiftMC=kNoShift) const =0
std::vector< Loaders * > loaders
Definition: syst_header.h:386
Given loaders and an MC shift, Generate() generates an IPrediction.
const Var kUnweighted
The simplest possible Var, always 1. Used as a default weight.
Definition: Var.h:96