EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairRunAna.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairRunAna.h
1 #ifndef FAIRRUNANA_H
2 #define FAIRRUNANA_H
3 
4 
12 #include "FairRun.h"
13 #include "FairRunInfo.h"
14 #include "FairRootManager.h"
15 
16 #include "TProof.h"
17 #include "TString.h"
18 #include <iostream>
19 
20 class FairRuntimeDb;
21 class FairEventHeader;
22 class FairMCEventHeader;
23 class FairField;
24 class TFile;
25 class FairLogger;
26 class TF1;
27 class TTree;
28 
29 class FairRunAna : public FairRun
30 {
31 
32  public:
33 
34  static FairRunAna* Instance();
35  virtual ~FairRunAna();
36  FairRunAna();
37  FairRunAna(const char* type, const char* proofName="");
39  void AddFriend(TString fName);
41  virtual void Init();
43  virtual void Run(Int_t NStart ,Int_t NStop);
45  void Run(Double_t delta_t);
47  void Run(Long64_t entry);
49  void RunOneEvent(Long64_t entry);
51  void RunMixed(Int_t NStart, Int_t NStop);
53  void RunTSBuffers();
55  void DummyRun(Int_t NStart ,Int_t NStop);
57  void RunOnProof(Int_t NStart, Int_t NStop);
59  void RunOnLmdFiles(UInt_t NStart=0, UInt_t NStop=0);
61  void TerminateRun();
66  void SetSignalFile(TString name, UInt_t identifier );
68  void SetBackgroundFile(TString name);
70  void AddBackgroundFile(TString name);
75  void AddSignalFile(TString name, UInt_t identifier );
77  virtual void SetInputFile(TString fname);
79  void AddFile(TString name);
80 
81  void Reinit(UInt_t runId);
82  UInt_t getRunId() {
83  return fRunId;
84  }
86  FairField* GetField() {
87  return fField;
88  }
90  void SetField (FairField* ffield ) {
91  fField=ffield ;
92  }
94  void SetGeomFile(const char* GeoFileName);
96  TFile* GetGeoFile() {
97  return fInputGeoFile;
98  }
104  void InitContainers();
105 
107  void SetInTree (TTree* tempTree) {
108  fRootManager->SetInTree (tempTree);
109  }
110 
111  void SetContainerStatic(Bool_t tempBool=kTRUE);
112  Bool_t GetContainerStatic() { return fStatic; };
113  void RunWithTimeStamps();
114  Bool_t IsTimeStamp() {
115  return fTimeStamps;
116  }
117  void CompressData();
118 
120  void SetEventTimeInterval(Double_t min, Double_t max);
121 
123  void SetEventMeanTime(Double_t mean);
124 
130  void BGWindowWidthNo(UInt_t background, UInt_t Signalid);
136  void BGWindowWidthTime(Double_t background, UInt_t Signalid);
137 
139  TProof* GetProof() { return fProof;}
140 
142  void SetRunOnProofWorker(Bool_t tb = kTRUE) {
143  fRunOnProofWorker = tb;
144  }
146  void SetProofParName(TString parName) {
147  fProofParName = parName;
148  }
150  void SetOutputDirectory(TString dirName) {
151  fOutputDirectory = dirName;
152  }
154  void SetProofOutputStatus(TString outStat) {
155  fProofOutputStatus = outStat;
156  }
157 
159  void StopProcessingLMD( void ) {
160  fFinishProcessingLMDFile = kTRUE;
161  }
163  Bool_t GetLMDProcessingStatus( void ) {
165  }
166 
167 
168  private:
169 
170  FairRunAna(const FairRunAna& M);
172  return *this;
173  }
174 
175  protected:
177 
178  protected:
183  Bool_t fLoadGeo;
186 
187  Bool_t fStatic;
188  FairField* fField;
189  Bool_t fTimeStamps;
191 
192  Bool_t fMixedInput;
193 
194  Double_t fEventTimeMin;
195 
196  Double_t fEventTimeMax;
197 
198  Double_t fEventTime;
199 
200  Double_t fEventMeanTime;
201 
202  TF1* fTimeProb;
203 
204  TProof* fProof;
206  Bool_t fProofAnalysis;
207 
209 
211 
212  TString fProofParName;
213 
215 
219 
220  ClassDef(FairRunAna ,4)
221 
222 };
223 
224 #endif //FAIRRUNANA_H