Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
AnaFile.h
1/*
2 * HalPackageExtractor.h
3 *
4 * Created on: 30-04-2022
5 *
6 * Author: Daniel Wielanek
7 * E-mail: daniel.wielanek@gmail.com
8 * Warsaw University of Technology, Faculty of Physics
9 */
10
11#ifndef HALANAFILE_H_
12#define HALANAFILE_H_
13
14#include "Std.h"
15
16#include <TObject.h>
17#include <TString.h>
18
19
20class TFile;
21
25namespace Hal {
26 class Package;
27 class AnaFile : public TObject {
28 Int_t fHTMLCounter;
29 Int_t fCurrentPackID;
30 Int_t fMaxPackID;
31 TObjArray* fMainPackageArray;
32 TObjArray* fCutContainerArray;
33 Package* fMetaDataPack;
34 TFile* fFile;
35 TList* fPhysKeys;
36 TString fFilename;
37 Bool_t FindCutContainer(Int_t pack_no);
38 void PrintMonitorCutList(TList* list) const;
39 void CreateMonitorHTML(Int_t i) const;
40 void CreateCutHTML(Int_t i) const;
41 void PrintCut(Package* pack) const;
42 void PrintCutsInPackage(Package* pack) const;
43 Package* GetCutCollection(Hal::ECutUpdate update, Int_t no) const;
44 Package* GetMainPackage() const;
45 Package* GetCutContainer() const;
46
47 public:
54 AnaFile(TString filename, TString packname);
55
62 AnaFile(TString filename = " ", Int_t id = -1);
67 TList* GetKeys() const { return fPhysKeys; };
73 Bool_t SwitchPackage(TString name);
79 Bool_t SwitchPackage(Int_t no);
85 Package* GetPackage(TString name) const;
90 Package* GetMetaData() const;
97 TObject* GetMainObject(Int_t i = 0) const;
104 TObject* GetMainAnaObject(Int_t i = 0) const { return GetMainObject(i + 2); };
112 TObject* GetMainObject(TString name, Int_t index = 0) const;
120 TH1* GetHistogramPassed(Hal::ECutUpdate update, Int_t collection, Int_t no) const;
128 TH1* GetHistogramFailed(Hal::ECutUpdate update, Int_t collection, Int_t no) const;
133 Int_t GetMerged() const;
139 Int_t GetCollectionsNo(Hal::ECutUpdate update) const;
144 Int_t GetMainObjectsNo() const;
155 Int_t GetCutsNo(Hal::ECutUpdate update, Int_t collection, TString opt = "all") const;
164 Int_t GetCuMonitorsNo(Hal::ECutUpdate update, Int_t collection, TString opt = "all") const;
169 Int_t GetPackagesNo() const { return fMaxPackID; }
174 static void GetPackageList(TString filename);
182 ULong64_t GetPassedNo(Hal::ECutUpdate update, Int_t collection, Option_t* opt = "slow") const;
190 ULong64_t GetFailedNo(Hal::ECutUpdate update, Int_t collection, Option_t* opt = " slow") const;
196 void ExportHTML(TString dirname = "extr_html", Int_t task_id = -1) const;
202 void PrintCuts(Hal::ECutUpdate update = Hal::ECutUpdate::kNo, Int_t col = -1) const;
212 Package* GetCutPackage(Hal::ECutUpdate update, Int_t collection, Int_t cutNo, Option_t* type = "all") const;
213 virtual ~AnaFile();
214 ClassDef(AnaFile, 1)
215 };
216} // namespace Hal
217
218#endif /* HALANAFILE_H_ */
Int_t GetMainObjectsNo() const
Definition AnaFile.cxx:263
void ExportHTML(TString dirname="extr_html", Int_t task_id=-1) const
Definition AnaFile.cxx:162
TObject * GetMainObject(Int_t i=0) const
Definition AnaFile.cxx:130
AnaFile(TString filename, TString packname)
Definition AnaFile.cxx:31
TH1 * GetHistogramPassed(Hal::ECutUpdate update, Int_t collection, Int_t no) const
Definition AnaFile.cxx:185
Package * GetPackage(TString name) const
Definition AnaFile.cxx:202
Package * GetMetaData() const
Definition AnaFile.cxx:253
Int_t GetPackagesNo() const
Definition AnaFile.h:169
TList * GetKeys() const
Definition AnaFile.h:67
ULong64_t GetPassedNo(Hal::ECutUpdate update, Int_t collection, Option_t *opt="slow") const
Definition AnaFile.cxx:282
void PrintCuts(Hal::ECutUpdate update=Hal::ECutUpdate::kNo, Int_t col=-1) const
Definition AnaFile.cxx:348
Int_t GetMerged() const
Definition AnaFile.cxx:153
Int_t GetCutsNo(Hal::ECutUpdate update, Int_t collection, TString opt="all") const
Definition AnaFile.cxx:304
Int_t GetCollectionsNo(Hal::ECutUpdate update) const
Definition AnaFile.cxx:172
TObject * GetMainAnaObject(Int_t i=0) const
Definition AnaFile.h:104
Int_t GetCuMonitorsNo(Hal::ECutUpdate update, Int_t collection, TString opt="all") const
Definition AnaFile.cxx:324
static void GetPackageList(TString filename)
Definition AnaFile.cxx:265
TH1 * GetHistogramFailed(Hal::ECutUpdate update, Int_t collection, Int_t no) const
Definition AnaFile.cxx:193
Bool_t SwitchPackage(TString name)
Definition AnaFile.cxx:212
Package * GetCutPackage(Hal::ECutUpdate update, Int_t collection, Int_t cutNo, Option_t *type="all") const
Definition AnaFile.cxx:419
ULong64_t GetFailedNo(Hal::ECutUpdate update, Int_t collection, Option_t *opt=" slow") const
Definition AnaFile.cxx:293