FluxWeights.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // \file FluxWeights.h
3 // \brief Store flux weigths for neutrino correction
4 // \author Leo Aliaga - laliaga@fnal.gov
5 ////////////////////////////////////////////////////////////////////////
6 
7 #ifndef FXWGT_FLUXWEIGHTS_H
8 #define FXWGT_FLUXWEIGHTS_H
9 
10 #include <vector>
11 
12 namespace fxwgt
13 {
14  /// Store flux weigths for neutrino correction
16  {
17  public:
18  FluxWeights();
19 
20  //Setting functions:
21  //! Set HP central value correction from PPFX.
23  //! Set beam focusing central value correction from PPFX.
24  void SetBeamFocusingCentralValue(float cv);
25  //! Set a vector of HP weights. Each entry represents the correction for one universe.
26  void SetHadronProductionMultiUniverses(std::vector<float> vuniv);
27  //! Set a vector of beam focusing weights. Each entry represents the correction for one universe.
28  void SetBeamFocusingMultiUniverses(std::vector<float> vuniv);
29  //! Set an additional correction for the central value for not standard cases (special studies).
30  void SetAdditionalCentralValue(float cv);
31  //! Set a vector of additional multi-universe weights for not standard cases (special studies).
32  void SetAdditionalMultiUniverses(std::vector< float > vuniv);
33 
34  //Getting functions:
35  //! Get HP central value correction from PPFX.
36  float GetHadronProductionCentralValue() const;
37  //! Get beam focusing central value correction from PPFX.
38  float GetBeamFocusingCentralValue() const;
39  //! Get the total central value correction calculated as the product of the HP and Beam Focusing components.
40  float GetTotalCentralValue() const;
41  //! Get the additional stored central value correction.
42  float GetAdditionalCentralValue() const;
43 
44  //! Get a vector of HP multiuniverse weights.
45  std::vector<float> GetHadronProductionMultiUniverses() const;
46  //! Get a vector of beam focusing multiuniverse weights.
47  std::vector<float> GetBeamFocusingMultiUniverses() const;
48  //! Get a vector of total multiuniverse weights (every entry is the product of the HP and Beam Focusing).
49  std::vector<float> GetTotalMultiUniverses() const;
50  //! Get a vector of the additional multiuniverse weights.
51  std::vector<float> GetAdditionalMultiUniverses() const;
52  //! Get the total number of universes used.
53  unsigned int GetNumberOfUniverses() const;
54 
55  protected:
56  float fcv_hp;
57  float fcv_bf;
58  float fcv_ad;
59  std::vector<float> funiv_hp;
60  std::vector<float> funiv_bf;
61  std::vector<float> funiv_ad;
62  unsigned int fnuniv;
63 
64  };
65 }
66 
67 #endif
std::vector< float > GetBeamFocusingMultiUniverses() const
Get a vector of beam focusing multiuniverse weights.
Definition: FluxWeights.cxx:55
void SetBeamFocusingMultiUniverses(std::vector< float > vuniv)
Set a vector of beam focusing weights. Each entry represents the correction for one universe...
Definition: FluxWeights.cxx:30
std::vector< float > funiv_bf
Definition: FluxWeights.h:60
void SetAdditionalCentralValue(float cv)
Set an additional correction for the central value for not standard cases (special studies)...
Definition: FluxWeights.cxx:33
void SetBeamFocusingCentralValue(float cv)
Set beam focusing central value correction from PPFX.
Definition: FluxWeights.cxx:24
std::vector< float > GetAdditionalMultiUniverses() const
Get a vector of the additional multiuniverse weights.
Definition: FluxWeights.cxx:65
std::vector< float > funiv_ad
Definition: FluxWeights.h:61
std::vector< float > GetTotalMultiUniverses() const
Get a vector of total multiuniverse weights (every entry is the product of the HP and Beam Focusing)...
Definition: FluxWeights.cxx:58
float GetHadronProductionCentralValue() const
Get HP central value correction from PPFX.
Definition: FluxWeights.cxx:40
std::vector< float > funiv_hp
Definition: FluxWeights.h:59
Store flux weigths for neutrino correction.
Definition: FluxWeights.h:15
void SetAdditionalMultiUniverses(std::vector< float > vuniv)
Set a vector of additional multi-universe weights for not standard cases (special studies)...
Definition: FluxWeights.cxx:36
const std::string cv[Ncv]
float GetAdditionalCentralValue() const
Get the additional stored central value correction.
Definition: FluxWeights.cxx:49
void SetHadronProductionCentralValue(float cv)
Set HP central value correction from PPFX.
Definition: FluxWeights.cxx:21
float GetBeamFocusingCentralValue() const
Get beam focusing central value correction from PPFX.
Definition: FluxWeights.cxx:43
unsigned int GetNumberOfUniverses() const
Get the total number of universes used.
Definition: FluxWeights.cxx:68
unsigned int fnuniv
Definition: FluxWeights.h:62
std::vector< float > GetHadronProductionMultiUniverses() const
Get a vector of HP multiuniverse weights.
Definition: FluxWeights.cxx:52
void SetHadronProductionMultiUniverses(std::vector< float > vuniv)
Set a vector of HP weights. Each entry represents the correction for one universe.
Definition: FluxWeights.cxx:27
float GetTotalCentralValue() const
Get the total central value correction calculated as the product of the HP and Beam Focusing componen...
Definition: FluxWeights.cxx:46