//  
// Author: Soeren Stamm <mailto: stamm@physik.hu-berlin.de>
// Update: $Id: AtlHistFactorySystModelPair.h,v 1.4 2016/04/19 07:51:20 stamm Exp $
// Copyright: 2015 (C) Soeren Stamm
//
#ifndef ATLAS_AtlHistFactorySystModelPair
#define ATLAS_AtlHistFactorySystModelPair
#ifndef ATLAS_AtlHistFactorySystPair
#include <AtlHistFactorySystPair.h>
#endif
#ifndef ATLAS_AtlTopLevelAnalysis
#include <AtlTopLevelAnalysis.h>
#endif

class AtlHistFactorySystModelPair : public AtlHistFactorySystPair {

protected:
    TFile *fPlotterFileNom;  // MCPlotter file for nominal
    TFile *fPlotterFileSystNom; // MCPlotter file for systematic (nominal)
    AtlTopLevelAnalysis::ESystematic fNominal; // Nominal (needed for symmetrization)
    AtlTopLevelAnalysis::ESystematic fSystNom; // Nominal for difference to models
    TList *fHistsNom;  // List of MCPlotter templates for nominal
    TList *fHistsSystNom; // List of MCPlotter templates for systematic (nominal)

public:
    AtlHistFactorySystModelPair();
    AtlHistFactorySystModelPair(const char* systname,
				const char* systtitle,
				AtlTopLevelAnalysis::ESystematic SystUp,
				AtlTopLevelAnalysis::ESystematic SystDown,
				Bool_t useShape = kFALSE);
    virtual ~AtlHistFactorySystModelPair();

    virtual void Initialize(const char* BaseDir,
			    const char* scheme = "plots_datamc");
    virtual void Clear(Option_t *option = "");
    inline void SetSystNominal(AtlTopLevelAnalysis::ESystematic systnom) {
	fSystNom = systnom;
    }

protected:
    virtual void GetHistsFromFile(const char* process);
    virtual void ComputeUpDownVariation(const char* process);

    ClassDef(AtlHistFactorySystModelPair, 1) // Systematic for model comparisons
};
#endif

 AtlHistFactorySystModelPair.h:1
 AtlHistFactorySystModelPair.h:2
 AtlHistFactorySystModelPair.h:3
 AtlHistFactorySystModelPair.h:4
 AtlHistFactorySystModelPair.h:5
 AtlHistFactorySystModelPair.h:6
 AtlHistFactorySystModelPair.h:7
 AtlHistFactorySystModelPair.h:8
 AtlHistFactorySystModelPair.h:9
 AtlHistFactorySystModelPair.h:10
 AtlHistFactorySystModelPair.h:11
 AtlHistFactorySystModelPair.h:12
 AtlHistFactorySystModelPair.h:13
 AtlHistFactorySystModelPair.h:14
 AtlHistFactorySystModelPair.h:15
 AtlHistFactorySystModelPair.h:16
 AtlHistFactorySystModelPair.h:17
 AtlHistFactorySystModelPair.h:18
 AtlHistFactorySystModelPair.h:19
 AtlHistFactorySystModelPair.h:20
 AtlHistFactorySystModelPair.h:21
 AtlHistFactorySystModelPair.h:22
 AtlHistFactorySystModelPair.h:23
 AtlHistFactorySystModelPair.h:24
 AtlHistFactorySystModelPair.h:25
 AtlHistFactorySystModelPair.h:26
 AtlHistFactorySystModelPair.h:27
 AtlHistFactorySystModelPair.h:28
 AtlHistFactorySystModelPair.h:29
 AtlHistFactorySystModelPair.h:30
 AtlHistFactorySystModelPair.h:31
 AtlHistFactorySystModelPair.h:32
 AtlHistFactorySystModelPair.h:33
 AtlHistFactorySystModelPair.h:34
 AtlHistFactorySystModelPair.h:35
 AtlHistFactorySystModelPair.h:36
 AtlHistFactorySystModelPair.h:37
 AtlHistFactorySystModelPair.h:38
 AtlHistFactorySystModelPair.h:39
 AtlHistFactorySystModelPair.h:40
 AtlHistFactorySystModelPair.h:41
 AtlHistFactorySystModelPair.h:42
 AtlHistFactorySystModelPair.h:43
 AtlHistFactorySystModelPair.h:44
 AtlHistFactorySystModelPair.h:45
 AtlHistFactorySystModelPair.h:46
 AtlHistFactorySystModelPair.h:47
 AtlHistFactorySystModelPair.h:48