//this file looks like plain C, but it's actually -*- c++ -*-
#ifndef IMPACT_CALCULATOR
#define IMPACT_CALCULATOR

#include "TSStatisticsCalculator.h"


class TSImpactCalculator : public TSStatisticsCalculator {
public:
	const TString fFolderName = "Impacts";
	
protected:
  
  virtual void info(TString message) override;

	TQFolder* fit(TQTaggable* options, RooAbsPdf * pdf, RooDataSet * data, const RooArgSet& pois, const RooArgSet& nuis, const TString& name, const TString& pname/*, bool invert*/);
	
public:

  void storeImpacts(TQFolder* result,const TString& parname, TQFolder* nominal,TQFolder* up,TQFolder* down);
  
  TSImpactCalculator(RooWorkspace * ws, TQFolder* snapshots);

  bool runPreFit(TQTaggable* options, const RooAbsCollection& pois, TQFolder* fitresult);
	
  virtual TQFolder * runCalculation(TQFolder * options = 0) override;
  
  virtual ~TSImpactCalculator();
  
  ClassDefOverride(TSImpactCalculator, 0);
  
};

#endif
 TSImpactCalculator.h:1
 TSImpactCalculator.h:2
 TSImpactCalculator.h:3
 TSImpactCalculator.h:4
 TSImpactCalculator.h:5
 TSImpactCalculator.h:6
 TSImpactCalculator.h:7
 TSImpactCalculator.h:8
 TSImpactCalculator.h:9
 TSImpactCalculator.h:10
 TSImpactCalculator.h:11
 TSImpactCalculator.h:12
 TSImpactCalculator.h:13
 TSImpactCalculator.h:14
 TSImpactCalculator.h:15
 TSImpactCalculator.h:16
 TSImpactCalculator.h:17
 TSImpactCalculator.h:18
 TSImpactCalculator.h:19
 TSImpactCalculator.h:20
 TSImpactCalculator.h:21
 TSImpactCalculator.h:22
 TSImpactCalculator.h:23
 TSImpactCalculator.h:24
 TSImpactCalculator.h:25
 TSImpactCalculator.h:26
 TSImpactCalculator.h:27
 TSImpactCalculator.h:28
 TSImpactCalculator.h:29
 TSImpactCalculator.h:30
 TSImpactCalculator.h:31
 TSImpactCalculator.h:32
 TSImpactCalculator.h:33
 TSImpactCalculator.h:34