BmnRoot
Loading...
Searching...
No Matches
BmnTrackingQaExp.h
Go to the documentation of this file.
1
10#ifndef BMNTRACKINGQAEXP_H_
11#define BMNTRACKINGQAEXP_H_
12
13#include "BmnQaBase.h"
15#include "CbmVertex.h"
16#include "DstEventHeader.h"
17#include "FairTask.h"
18
19#include <TMethod.h>
20#include <TTree.h>
21#include <chrono>
22#include <memory>
23#include <time.h>
24
25class BmnHistManager;
26class BmnTrackMatch;
27class BmnGlobalElectronId;
28
29using std::multimap;
30using std::string;
31using std::vector;
32
34{
35 public:
40
44 BmnTrackingQaExp(TString name, UInt_t periodId = 9, BmnSetup std = kBMNSETUP);
45
49 virtual ~BmnTrackingQaExp();
50
54 virtual InitStatus Init();
55
59 virtual void Exec(Option_t* opt);
60
64 virtual void Finish();
65
68 void SetOutputDir(const std::string& dir) { fOutputDir = dir; }
69
70 void SetInnerTrackerSetup(map<DetectorId, Bool_t> setup) { fInnerTrackerSetup = setup; };
71
72 void SetDetectorPresence(DetectorId det, Bool_t use = true) { fInnerTrackerSetup[det] = use; };
73
74 void SetInnerTracksBranchName(TString name) { fInnerTrackBranchName = name; }
75
76 void ResetSiBT();
77
78 void RegisterCommands();
79
80 void CreateTofHits(DetectorId detId);
81 void FillTofHits(TClonesArray* tof_hits, DetectorId detId);
82
83 private:
87 void ReadDataBranches();
88 void CreateHistograms();
89 void ProcessGlobal();
90
91 map<DetectorId, Bool_t> fInnerTrackerSetup;
92 UInt_t fPeriodId;
93 UInt_t fRunId;
94 BmnSetup fSetup;
95
96 // Pointers to data arrays
97 // TClonesArray* fMCTracks; // CbmMCTrack array
98 TClonesArray* fGlobalTracks; // BmnGlobalTrack array
99 TClonesArray* fStsTracks;
100 TClonesArray* fSiBTTracks;
101 TClonesArray* fStsHits;
102 TClonesArray* fGemHits;
103 TClonesArray* fSilHits;
104 TClonesArray* fSiBTHits;
105 TClonesArray* fTof400Hits;
106 TClonesArray* fTof700Hits;
107 TClonesArray* fCscHits;
108 TClonesArray* fVspHits;
109 TClonesArray* fDchTracks;
110
111 DstEventHeader* fDstEventHeader;
112
113 CbmVertex* fVertexL1; // L1 tracking
114 // TString fConfigGem;
115 // TString fConfigSil;
116 // TString fConfigCsc;
117 unique_ptr<BmnGemStripStationSet> fGemDetector;
118 unique_ptr<BmnSiliconStationSet> fSilDetector;
119 unique_ptr<BmnCSCStationSet> fCscDetector;
120 unique_ptr<BmnVSPStationSet> fVspDetector;
121
122 TString fInnerTrackBranchName;
123
124 const Int_t fNItersToUpdate = 200;
125 const chrono::seconds fTimeToUpdate = chrono::seconds(5); //<-redraw each timeout seconds
126 Int_t fNItersSinceUpdate;
127 chrono::time_point<chrono::system_clock> fTicksLastUpdate;
128
129 BmnTrackingQaExp(const BmnTrackingQaExp&) = delete;
130 BmnTrackingQaExp& operator=(const BmnTrackingQaExp&) = delete;
131
132 ClassDef(BmnTrackingQaExp, 1);
133};
134
135#endif /* BMNTRACKINGQAEXP_H_ */
FairTask for tracking performance calculation.
DetectorId
BmnSetup
Definition BmnEnums.h:89
@ kBMNSETUP
Definition BmnEnums.h:90
Histogram manager.
string fOutputDir
Definition BmnQaBase.h:153
BmnTrackingQaExp()
Constructor.
virtual ~BmnTrackingQaExp()
Destructor.
void FillTofHits(TClonesArray *tof_hits, DetectorId detId)
void SetOutputDir(const std::string &dir)
void SetDetectorPresence(DetectorId det, Bool_t use=true)
void SetInnerTracksBranchName(TString name)
virtual InitStatus Init()
Derived from FairTask.
void SetInnerTrackerSetup(map< DetectorId, Bool_t > setup)
virtual void Finish()
Derived from FairTask.
virtual void Exec(Option_t *opt)
Derived from FairTask.
void CreateTofHits(DetectorId detId)
Definition setup.py:1
STL namespace.