#ifndef ATLAS_AtlHistFactorySystPair
#include <AtlHistFactorySystPair.h>
#endif
#include <TFile.h>
#include <HepDataMCPlot.h>
#include <iostream>
using namespace std;
#ifndef __CINT__
ClassImp(AtlHistFactorySystPair);
#endif
AtlHistFactorySystPair::AtlHistFactorySystPair() {
}
AtlHistFactorySystPair::AtlHistFactorySystPair(const char* systname,
const char *systtitle,
AtlTopLevelAnalysis::ESystematic SystUp,
AtlTopLevelAnalysis::ESystematic SystDown,
Bool_t useShape) :
AtlHistFactorySystematic(systname, systtitle, useShape) {
fSystUp = SystUp;
fSystDown = SystDown;
fPlotterFileUp = 0;
fPlotterFileDown = 0;
fHistsUp = 0;
fHistsDown = 0;
}
AtlHistFactorySystPair::~AtlHistFactorySystPair() {
if ( fPlotterFileUp != 0 ) delete fPlotterFileUp;
if ( fPlotterFileDown != 0 ) delete fPlotterFileDown;
if ( fHistsUp != 0 ) {
fHistsUp->Delete();
delete fHistsUp;
}
if ( fHistsDown != 0 ) {
fHistsDown->Delete();
delete fHistsDown;
}
}
void AtlHistFactorySystPair::Initialize(const char* BaseDir,
const char* scheme) {
if ( fPlotterFileUp != 0 ) delete fPlotterFileUp;
fPlotterFileUp = TFile::Open(Form("%s/%s/%s/MCPlotter.root",
BaseDir,
AtlTopLevelAnalysis::fgSystematicNames[fSystUp],
scheme));
if ( fPlotterFileDown != 0 ) delete fPlotterFileDown;
fPlotterFileDown = TFile::Open(Form("%s/%s/%s/MCPlotter.root",
BaseDir,
AtlTopLevelAnalysis::fgSystematicNames[fSystDown],
scheme));
if ( fPlotterFileUp == 0 || fPlotterFileDown == 0 ) {
Error("Initialize",
"Could not find MCPlotter files. Abort!");
gSystem->Abort();
}
if ( fDiscriminant == 0 ) {
Error("Initialize",
"Discriminant not set. Please use SetDiscriminant(..). Abort!");
gSystem->Abort();
}
HepDataMCPlot *HepUp = (HepDataMCPlot*) fPlotterFileUp->Get(fDiscriminant->Data());
HepDataMCPlot *HepDown = (HepDataMCPlot*) fPlotterFileDown->Get(fDiscriminant->Data());
if ( HepUp == 0 || HepDown == 0 ) {
Error("Initialize",
"Could not find discriminant '%s' in file.",
fDiscriminant->Data());
Error("Initialize", "Files are:\n%s\n%s",
fPlotterFileUp->GetName(),
fPlotterFileDown->GetName());
gSystem->Abort();
}
fHistsUp = HepUp->GetListOfMCTemplates(AtlTopLevelAnalysis::fgSystematicNames[fSystUp]);
fHistsDown = HepDown->GetListOfMCTemplates(AtlTopLevelAnalysis::fgSystematicNames[fSystDown]);
}
void AtlHistFactorySystPair::GetHistsFromFile(const char* process) {
fHistUp = (TH1*) fTemplateFile->Get(Form("%s_%s",
process,
AtlTopLevelAnalysis::fgSystematicNames[fSystUp]));
fHistDown = (TH1*) fTemplateFile->Get(Form("%s_%s",
process,
AtlTopLevelAnalysis::fgSystematicNames[fSystDown]));
}
void AtlHistFactorySystPair::ComputeUpDownVariation(const char* process) {
fHistUp = (TH1*) fHistsUp->FindObject(Form("%s_%s",
process,
AtlTopLevelAnalysis::fgSystematicNames[fSystUp]));
fHistDown = (TH1*) fHistsDown->FindObject(Form("%s_%s",
process,
AtlTopLevelAnalysis::fgSystematicNames[fSystDown]));
}
void AtlHistFactorySystPair::Clear(Option_t *option) {
if ( fPlotterFileUp != 0 ) {
fPlotterFileUp->Close();
delete fPlotterFileUp;
fPlotterFileUp = 0;
}
if ( fPlotterFileDown != 0 ) {
fPlotterFileDown->Close();
delete fPlotterFileDown;
fPlotterFileDown = 0;
}
if ( fHistsUp != 0 ) {
delete fHistsUp;
fHistsUp = 0;
}
if ( fHistsDown != 0 ) {
delete fHistsDown;
fHistsDown = 0;
}
fHistUp = 0;
fHistDown = 0;
}
AtlHistFactorySystPair.cxx:1 AtlHistFactorySystPair.cxx:2 AtlHistFactorySystPair.cxx:3 AtlHistFactorySystPair.cxx:4 AtlHistFactorySystPair.cxx:5 AtlHistFactorySystPair.cxx:6 AtlHistFactorySystPair.cxx:7 AtlHistFactorySystPair.cxx:8 AtlHistFactorySystPair.cxx:9 AtlHistFactorySystPair.cxx:10 AtlHistFactorySystPair.cxx:11 AtlHistFactorySystPair.cxx:12 AtlHistFactorySystPair.cxx:13 AtlHistFactorySystPair.cxx:14 AtlHistFactorySystPair.cxx:15 AtlHistFactorySystPair.cxx:16 AtlHistFactorySystPair.cxx:17 AtlHistFactorySystPair.cxx:18 AtlHistFactorySystPair.cxx:19 AtlHistFactorySystPair.cxx:20 AtlHistFactorySystPair.cxx:21 AtlHistFactorySystPair.cxx:22 AtlHistFactorySystPair.cxx:23 AtlHistFactorySystPair.cxx:24 AtlHistFactorySystPair.cxx:25 AtlHistFactorySystPair.cxx:26 AtlHistFactorySystPair.cxx:27 AtlHistFactorySystPair.cxx:28 AtlHistFactorySystPair.cxx:29 AtlHistFactorySystPair.cxx:30 AtlHistFactorySystPair.cxx:31 AtlHistFactorySystPair.cxx:32 AtlHistFactorySystPair.cxx:33 AtlHistFactorySystPair.cxx:34 AtlHistFactorySystPair.cxx:35 AtlHistFactorySystPair.cxx:36 AtlHistFactorySystPair.cxx:37 AtlHistFactorySystPair.cxx:38 AtlHistFactorySystPair.cxx:39 AtlHistFactorySystPair.cxx:40 AtlHistFactorySystPair.cxx:41 AtlHistFactorySystPair.cxx:42 AtlHistFactorySystPair.cxx:43 AtlHistFactorySystPair.cxx:44 AtlHistFactorySystPair.cxx:45 AtlHistFactorySystPair.cxx:46 AtlHistFactorySystPair.cxx:47 AtlHistFactorySystPair.cxx:48 AtlHistFactorySystPair.cxx:49 AtlHistFactorySystPair.cxx:50 AtlHistFactorySystPair.cxx:51 AtlHistFactorySystPair.cxx:52 AtlHistFactorySystPair.cxx:53 AtlHistFactorySystPair.cxx:54 AtlHistFactorySystPair.cxx:55 AtlHistFactorySystPair.cxx:56 AtlHistFactorySystPair.cxx:57 AtlHistFactorySystPair.cxx:58 AtlHistFactorySystPair.cxx:59 AtlHistFactorySystPair.cxx:60 AtlHistFactorySystPair.cxx:61 AtlHistFactorySystPair.cxx:62 AtlHistFactorySystPair.cxx:63 AtlHistFactorySystPair.cxx:64 AtlHistFactorySystPair.cxx:65 AtlHistFactorySystPair.cxx:66 AtlHistFactorySystPair.cxx:67 AtlHistFactorySystPair.cxx:68 AtlHistFactorySystPair.cxx:69 AtlHistFactorySystPair.cxx:70 AtlHistFactorySystPair.cxx:71 AtlHistFactorySystPair.cxx:72 AtlHistFactorySystPair.cxx:73 AtlHistFactorySystPair.cxx:74 AtlHistFactorySystPair.cxx:75 AtlHistFactorySystPair.cxx:76 AtlHistFactorySystPair.cxx:77 AtlHistFactorySystPair.cxx:78 AtlHistFactorySystPair.cxx:79 AtlHistFactorySystPair.cxx:80 AtlHistFactorySystPair.cxx:81 AtlHistFactorySystPair.cxx:82 AtlHistFactorySystPair.cxx:83 AtlHistFactorySystPair.cxx:84 AtlHistFactorySystPair.cxx:85 AtlHistFactorySystPair.cxx:86 AtlHistFactorySystPair.cxx:87 AtlHistFactorySystPair.cxx:88 AtlHistFactorySystPair.cxx:89 AtlHistFactorySystPair.cxx:90 AtlHistFactorySystPair.cxx:91 AtlHistFactorySystPair.cxx:92 AtlHistFactorySystPair.cxx:93 AtlHistFactorySystPair.cxx:94 AtlHistFactorySystPair.cxx:95 AtlHistFactorySystPair.cxx:96 AtlHistFactorySystPair.cxx:97 AtlHistFactorySystPair.cxx:98 AtlHistFactorySystPair.cxx:99 AtlHistFactorySystPair.cxx:100 AtlHistFactorySystPair.cxx:101 AtlHistFactorySystPair.cxx:102 AtlHistFactorySystPair.cxx:103 AtlHistFactorySystPair.cxx:104 AtlHistFactorySystPair.cxx:105 AtlHistFactorySystPair.cxx:106 AtlHistFactorySystPair.cxx:107 AtlHistFactorySystPair.cxx:108 AtlHistFactorySystPair.cxx:109 AtlHistFactorySystPair.cxx:110 AtlHistFactorySystPair.cxx:111 AtlHistFactorySystPair.cxx:112 AtlHistFactorySystPair.cxx:113 AtlHistFactorySystPair.cxx:114 AtlHistFactorySystPair.cxx:115 AtlHistFactorySystPair.cxx:116 AtlHistFactorySystPair.cxx:117 AtlHistFactorySystPair.cxx:118 AtlHistFactorySystPair.cxx:119 AtlHistFactorySystPair.cxx:120 AtlHistFactorySystPair.cxx:121 AtlHistFactorySystPair.cxx:122 AtlHistFactorySystPair.cxx:123 AtlHistFactorySystPair.cxx:124 AtlHistFactorySystPair.cxx:125 AtlHistFactorySystPair.cxx:126 AtlHistFactorySystPair.cxx:127 AtlHistFactorySystPair.cxx:128 AtlHistFactorySystPair.cxx:129 AtlHistFactorySystPair.cxx:130 AtlHistFactorySystPair.cxx:131 AtlHistFactorySystPair.cxx:132 AtlHistFactorySystPair.cxx:133 AtlHistFactorySystPair.cxx:134 AtlHistFactorySystPair.cxx:135 AtlHistFactorySystPair.cxx:136 AtlHistFactorySystPair.cxx:137 AtlHistFactorySystPair.cxx:138 AtlHistFactorySystPair.cxx:139 AtlHistFactorySystPair.cxx:140 AtlHistFactorySystPair.cxx:141 AtlHistFactorySystPair.cxx:142 AtlHistFactorySystPair.cxx:143 AtlHistFactorySystPair.cxx:144 AtlHistFactorySystPair.cxx:145 AtlHistFactorySystPair.cxx:146 AtlHistFactorySystPair.cxx:147 AtlHistFactorySystPair.cxx:148 AtlHistFactorySystPair.cxx:149 AtlHistFactorySystPair.cxx:150 AtlHistFactorySystPair.cxx:151 AtlHistFactorySystPair.cxx:152 AtlHistFactorySystPair.cxx:153 AtlHistFactorySystPair.cxx:154 AtlHistFactorySystPair.cxx:155 AtlHistFactorySystPair.cxx:156 AtlHistFactorySystPair.cxx:157 AtlHistFactorySystPair.cxx:158 AtlHistFactorySystPair.cxx:159 AtlHistFactorySystPair.cxx:160 AtlHistFactorySystPair.cxx:161 AtlHistFactorySystPair.cxx:162 AtlHistFactorySystPair.cxx:163 AtlHistFactorySystPair.cxx:164 AtlHistFactorySystPair.cxx:165 AtlHistFactorySystPair.cxx:166 AtlHistFactorySystPair.cxx:167 AtlHistFactorySystPair.cxx:168 AtlHistFactorySystPair.cxx:169 AtlHistFactorySystPair.cxx:170 AtlHistFactorySystPair.cxx:171 AtlHistFactorySystPair.cxx:172 AtlHistFactorySystPair.cxx:173 AtlHistFactorySystPair.cxx:174 AtlHistFactorySystPair.cxx:175 AtlHistFactorySystPair.cxx:176 AtlHistFactorySystPair.cxx:177 AtlHistFactorySystPair.cxx:178 AtlHistFactorySystPair.cxx:179 AtlHistFactorySystPair.cxx:180 AtlHistFactorySystPair.cxx:181 AtlHistFactorySystPair.cxx:182 AtlHistFactorySystPair.cxx:183 AtlHistFactorySystPair.cxx:184 AtlHistFactorySystPair.cxx:185 AtlHistFactorySystPair.cxx:186 AtlHistFactorySystPair.cxx:187 AtlHistFactorySystPair.cxx:188 AtlHistFactorySystPair.cxx:189 AtlHistFactorySystPair.cxx:190 AtlHistFactorySystPair.cxx:191 AtlHistFactorySystPair.cxx:192 AtlHistFactorySystPair.cxx:193 AtlHistFactorySystPair.cxx:194 AtlHistFactorySystPair.cxx:195 AtlHistFactorySystPair.cxx:196 AtlHistFactorySystPair.cxx:197 AtlHistFactorySystPair.cxx:198 AtlHistFactorySystPair.cxx:199 AtlHistFactorySystPair.cxx:200 AtlHistFactorySystPair.cxx:201 AtlHistFactorySystPair.cxx:202 AtlHistFactorySystPair.cxx:203 AtlHistFactorySystPair.cxx:204 AtlHistFactorySystPair.cxx:205 AtlHistFactorySystPair.cxx:206 AtlHistFactorySystPair.cxx:207 AtlHistFactorySystPair.cxx:208