Tools for Reactor-Antineutrino Studies in RAT-PAC  1.2.0
Code for running and analyzing reactor-IBD simulations
TKSMultiRes.h
1 // TKSMultiRes
3 // -- Note: For CINT, load using gROOT->LoadMacro("TKSMultiRes.cxx");
4 // ~ Mark J. Duvall ~ mjduvall@hawaii.edu ~ 08/2022 ~ //
5 
6 //Copyright (C) 2022 Mark J. Duvall / T. Rocks Science
7 //
8 // This program is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation, either version 3 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 
41 #ifndef TKSMultiRes
42 #define TKSMultiRes
43 
44 #include "TKSMultiRibbons.cxx"
45 
46 class TKSMultiRes : public TClass {
47 
48 private:
49  // members
50  TObjArray* fFileList;
51  Bool_t fkRibbon;
52  TString fOutFileName;
53  TFile* fOutFile;
54  TH1D* fHistoSum;
55  TF1* fHistoSumFit;
56  TFitResultPtr fHistoSumFitResultPtr;
57  TFitResult* fHistoSumFitResult;
58  TCanvas* fHistoCanvas;
59  TCanvas* fRibbonCanvas;
61 
62 private:
63  // internal methods
64  void FillFileList();
65  /* TMacro* GenerateRibbonMacro(); ///< Generate a TMacro for recreating the ribbon plots */
66 
67 public:
68  // public methods
69  TKSMultiRes();
70  /* TKSMultiRes( const char* someArg1, Double_t someArg2 ); ///< Normal ctor */
71  TMacro* GenerateRibbonMacro();
72  // setters and getters
73  void SetRibbon(Bool_t newRibbon) { fkRibbon=newRibbon; }
74  void SetOutFileName(TString fileName) { fOutFileName=fileName; }
75  void SetOutFileName(const char* filename) { fOutFileName=TString(filename); }
76  TObjArray* GetFileList() { return fFileList; }
77  Bool_t IsRibbon() { return fkRibbon; }
78  TString GetOutFileName() { return fOutFileName; }
79  TFile* GetOutFile() { return fOutFile; }
80  TH1D* GetHistoSum() { return fHistoSum; }
81  TF1* GetHistoSumFit() { return fHistoSumFit; }
82  TFitResultPtr GetHistoSumFitResultPtr() { return fHistoSumFitResultPtr; }
83  TFitResult* GetHistoSumFitResult() { return fHistoSumFitResult; }
84  TCanvas* GetHistoCanvas() { return fHistoCanvas; }
85  TCanvas* GetRibbonCanvas() { return fRibbonCanvas; }
86  TKSMultiRibbons* GetRibbons() { return fRibbons; }
87  // general
88  void Init();
89  TH1D* Histos();
90  TH2D* Ribbons();
91  void Save();
92  void Run();
93 
94 // Integrating the TKSMultiRes class into ROOT
95 ClassDef(TKSMultiRes,1)
96 
97 }; //end class
98 
99 // all pau! )
100 #endif
101 
Class for combining reference-comparison results from multiple runs.
Definition: TKSMultiRes.h:46
TObjArray * fFileList
List of KSSummary files to analyze.
Definition: TKSMultiRes.h:50
TFile * fOutFile
Output TFile*.
Definition: TKSMultiRes.h:53
TMacro * GenerateRibbonMacro()
Generate a TMacro for recreating the ribbon plots.
Definition: TKSMultiRes.cxx:73
TFitResult * fHistoSumFitResult
Fit result for the summed histogram.
Definition: TKSMultiRes.h:57
TH1D * fHistoSum
Summed histogram.
Definition: TKSMultiRes.h:54
TH1D * Histos()
Add histograms and fit.
Definition: TKSMultiRes.cxx:176
void Save()
Save results.
Definition: TKSMultiRes.cxx:253
TFitResultPtr fHistoSumFitResultPtr
Pointer-class to fit result.
Definition: TKSMultiRes.h:56
TCanvas * fRibbonCanvas
Canvas for ribbon plots.
Definition: TKSMultiRes.h:59
Bool_t fkRibbon
Whether to generate ribbon plots.
Definition: TKSMultiRes.h:51
TKSMultiRibbons * fRibbons
Class for separate-angle analysis.
Definition: TKSMultiRes.h:60
void FillFileList()
Scan for KSSummary files and store in fFileList.
Definition: TKSMultiRes.cxx:37
TF1 * fHistoSumFit
Gaussian fitted to fHistoSum.
Definition: TKSMultiRes.h:55
void Init()
Initialize.
Definition: TKSMultiRes.cxx:168
TH2D * Ribbons()
Fit distributions for each angle and draw as ribbon plot.
Definition: TKSMultiRes.cxx:227
TString fOutFileName
Output filename.
Definition: TKSMultiRes.h:52
void Run()
Perform and save all selected analyses.
Definition: TKSMultiRes.cxx:283
TCanvas * fHistoCanvas
Canvas for histo sum.
Definition: TKSMultiRes.h:58
TKSMultiRes()
Default ctor.
Definition: TKSMultiRes.cxx:12
Class for analyzing DeltaPhi for each individual angle alongside TKSMultiRes.
Definition: TKSMultiRibbons.h:54