Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
QAManager.h
1/*
2 * QACoreManager.h
3 *
4 * Created on: 4 maj 2021
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALFEMTO_ANALYSIS_QA_HALQACOREMANAGER_H_
10#define HALFEMTO_ANALYSIS_QA_HALQACOREMANAGER_H_
11
12#include <Rtypes.h>
13#include <TObject.h>
14#include <TString.h>
15
16namespace Hal {
17 class Event;
18 class TrackAna;
19 class TwoTrackAna;
20 class AnalysisManager;
21
28 class QAManager : public TObject {
29 protected:
30 Double_t fEta[2] = {-1, 1};
31 Double_t fPt[2] = {0, 10};
32 Double_t fPMax = {10};
33 Double_t fDCAxy = {10};
34 Double_t fDCAz[2] = {-10, 10};
35 Bool_t fUsePrimSec = {kTRUE};
36 Bool_t fUsetPid = {kTRUE};
37
38 public:
39 enum class ePidCut { kPionPlus, kPionMinus, kKaonPlus, kKaonMinus, kProton, kAntiProton, kUnkown };
40 enum class eParticleType { kPrimaryOnly, kSecondaryOnly, kAll };
41 enum class eFormatType { kSim, kReco, kComplex };
42 enum class eAnaType { kDefault, kHbt };
43 QAManager() {};
44 ePidCut ToPid(Int_t i);
45 void UsePrimSecCut(Bool_t use) { fUsePrimSec = use; };
46 void UsePidCut(Bool_t use) { fUsetPid = use; };
47 Double_t GetEtaMin() const { return fEta[0]; };
48 Double_t GetEtaMax() const { return fEta[1]; };
49 Double_t GetPtMin() const { return fPt[0]; };
50 Double_t GetPtMax() const { return fPt[1]; };
51 Double_t GetDcaXY() const { return fDCAxy; };
52 Double_t GetDcaZMin() const { return fDCAz[0]; };
53 Double_t GetDcaZMax() const { return fDCAz[1]; };
54 Double_t GetPMax() const { return fPMax; };
55 virtual AnalysisManager* GetAna(TString outFile, TString simFile, TString recoFile = "");
56 virtual Event* GetFormat(eFormatType type, eAnaType ana = eAnaType::kDefault);
64 virtual void SetMcTrackCut(TrackAna* ana, ePidCut cut, eParticleType primary, TString flag = "");
72 virtual void SetRecoTrackCut(TrackAna* ana, ePidCut cut, eParticleType primary, TString flag = "");
73 virtual void SetEventCut(TrackAna* ana, Int_t col, TString flag = "");
74 virtual void SetPairCut(TwoTrackAna* ana, ePidCut pid1, ePidCut pid2);
75 virtual ~QAManager() {};
76 ClassDef(QAManager, 1)
77 };
78} // namespace Hal
79
80
81#endif /* HALFEMTO_ANALYSIS_QA_HALQACOREMANAGER_H_ */
virtual void SetRecoTrackCut(TrackAna *ana, ePidCut cut, eParticleType primary, TString flag="")
Definition QAManager.cxx:63
virtual void SetMcTrackCut(TrackAna *ana, ePidCut cut, eParticleType primary, TString flag="")
Definition QAManager.cxx:20