message: AliMCSpectraWeights: added total systematic variation
diff: @@ -23,7 +23,6 @@ class TF1;
  #include <vector>
  -
  /**
  * @class AliMCSpectraWeights AliMCSpectraWeights.h "AliMCSpectraWeights.h"
  * @brief TODO
  @@ -99,6 +98,10 @@ class AliMCSpectraWeights : public TNamed {
  TH3F* fHistMCFractions; /*!< Histogram for particle abundances from MC */
  TH3F* fHistMCWeights; /*!< Histogram for weight factors to re-weight
  MCabundances to data ones. */
  + TH3F* fHistMCWeightsSysUp; /*!< Histograms for average systematic of weight
  + factors moved up*/
  + TH3F* fHistMCWeightsSysDown; /*!< Histograms for average systematic of weight
  + factors moved down*/
  AliMCEvent* fMCEvent; /*!< MC event */
  int fNPrimaries; /*!< MC primaries from last event*/
  float fMultOrCent; /*!< counted multiplicity or centrality class */
  @@ -132,6 +135,7 @@ class AliMCSpectraWeights : public TNamed {
  bool CalculateMCWeights(); //!
  bool CalcMCFractions(); //!
  bool CorrectFractionsforRest(); //!
  + bool CalculateSystematicUncertainties(); //!
  int const CheckAndIdentifyParticle(TParticle* part);
  int const FindBinEntry(float pt, int const part);
  @@ -153,13 +157,18 @@ class AliMCSpectraWeights : public TNamed {
  float const
  GetMCSpectraWeight(TParticle* mcGenParticle,
  AliMCEvent* mcEvent); /*!< old; should not be used */
  +
  + float const
  + GetMCSpectraWeight(TParticle* mcGenParticle,
  + Int_t SysCase=0); /*!< way to go; SysCase = 0 --> nominal; -1 --> sys. moved down; +1 --> sys. moved up */
  +
  float const
  GetMCSpectraWeightNominal(TParticle* mcGenParticle);/*!< main function to use. Will
  deliver correct weights to
  re-weight the abundances of
  different particle species */
  float const
  - GetMCSpectraWeightSystematics(TParticle* mcGenParticle);
  + GetMCSpectraWeightSystematics(TParticle* mcGenParticle, Int_t SysCase = 1);
  void FillMCSpectra(
  AliMCEvent* mcEvent); /*!< function to fill internal mc spectra for
  @@ -191,6 +200,8 @@ class AliMCSpectraWeights : public TNamed {
  TH3F* const GetHistDataFraction() const { return fHistDataFractions; }
  TH3F* const GetHistMCFraction() const { return fHistMCFractions; }
  TH3F* const GetHistMCWeights() const { return fHistMCWeights; }
  + TH3F* const GetHistMCWeightsSysUp() const { return fHistMCWeightsSysUp; }
  + TH3F* const GetHistMCWeightsSysDown() const { return fHistMCWeightsSysDown; }
  std::map<SysFlag, TH3F*> const GetHistMCWeightsSys() const {return fHistMCWeightsSys;}
  SysFlag const GetSysFlag() const { return fFlag; }
  float const GetMultOrCent() const { return fMultOrCent; }
  