BmnRoot
Loading...
Searching...
No Matches
BmnQaOffline.h
Go to the documentation of this file.
1#include <FairTask.h>
2#include <FairRootManager.h>
3
4#include <CbmVertex.h>
5#include <BmnGemStripDigit.h>
6#include <BmnCSCDigit.h>
7#include <BmnSiliconDigit.h>
8#include <BmnTof1Digit.h>
9#include <BmnTof2Digit.h>
10#include <BmnDchDigit.h>
11#include <BmnMwpcDigit.h>
12#include <BmnECALDigit.h>
13#include <BmnZDCDigit.h>
14#include <BmnTrigDigit.h>
15#include <BmnTrigWaveDigit.h>
16#include <BmnSiliconTrack.h>
17#include <BmnGemTrack.h>
18#include <BmnDchTrack.h>
19
20#include <BmnGemStripHit.h>
21#include <BmnSiliconHit.h>
22#include <BmnCSCHit.h>
23#include <BmnTofHit.h>
24#include <BmnDchHit.h>
25
27
28#include <BmnCoordinateDetQa.h>
29#include <BmnTimeDetQa.h>
30#include <BmnCalorimeterDetQa.h>
31#include <BmnTrigDetQa.h>
32#include <BmnDstQa.h>
33
34#include <BmnEventHeader.h>
35#include <TString.h>
36#include <TClonesArray.h>
37#include <TGeoManager.h>
38#include "TFile.h"
39
40#include <DstEventHeader.h>
41#include <BmnKalmanFilter.h>
42
43#ifndef BMNQAOFFLINE_H
44#define BMNQAOFFLINE_H 1
45
46using namespace std;
47using namespace TMath;
48
49class BmnQaOffline : public FairTask {
50public:
51
53 BmnQaOffline(TString);
54
55 virtual ~BmnQaOffline() {
56 };
57
58 virtual InitStatus Init();
59
60 virtual void Exec(Option_t* opt);
61
62 virtual void Finish();
63
64private:
65 void doOccupancyAnal();
66 void doOccupancy(TClonesArray*);
67 void doMatchingAnal();
68 void doEfficiencyAnal();
69 void doResidualsPullsAnal();
70 void doAverageStripValuePerHit(TClonesArray*);
71 void doAverageStripValuePerTrack();
72
73 void changeHistoContent(TH2F*);
74
75 static Int_t fCurrentEvent;
76 Int_t fNEvents;
77
78 FairRootManager* ioman;
79 BmnEventHeader* fBmnHeader;
80 DstEventHeader* fDstHeader;
81
82 TClonesArray** DETECTORS;
83 TClonesArray** TRIGGERS;
84
85 map <TClonesArray*, TString> fTrigCorr;
86
87 Bool_t isDstRead;
88 Bool_t isField;
89
90 Int_t nDets;
91 Int_t nCoordinate;
92 Int_t nTime;
93 Int_t nCalorimeter;
94
95 TChain* fChainDst;
96 TClonesArray* fSiliconHits;
97 TClonesArray* fSiliconTracks;
98 TClonesArray* fGemHits;
99 TClonesArray* fGemTracks;
100 TClonesArray* fCscHits;
101 TClonesArray* fTof400Hits;
102 TClonesArray* fTof700Hits;
103 TClonesArray* fDchTracks;
104 TClonesArray* fMwpcTracks;
105 TClonesArray* fDchHits;
106 TClonesArray* fMwpcHits;
107 TClonesArray* fVertex;
108 TClonesArray* fGlobalTracks;
109
110 // Qa-classes
111 BmnCoordinateDetQa** coordinate;
112 BmnTimeDetQa** time;
113 BmnCalorimeterDetQa** calorimeter;
114 BmnTrigDetQa* triggers;
115 BmnDstQa* dst;
116
117 Int_t period;
118 Int_t fRunId;
119 TString setup;
120 TString prefix;
121
122 // Steering for the QA-system
123 BmnOfflineQaSteering* fSteering;
124
125 // Detector geometries
126 BmnGemStripStationSet* fDetGem;
127 BmnCSCStationSet* fDetCsc;
128 BmnSiliconStationSet* fDetSilicon;
129
130private:
131 Bool_t ReadDstTree(TString);
132
133 BmnHit* MatchDetector(FairTrackParam*, TClonesArray*, Bool_t, Int_t);
134
135 // Coordinate detectors
136 template <class T> void GetDistributionOfFiredStrips(TClonesArray*, BmnCoordinateDetQa*, TString);
137 template <class T> void GetDistributionOfFiredStripsVsSignal(TClonesArray*, BmnCoordinateDetQa*, TString);
138
139 // Time detectors
140 template <class T> void GetCommonInfo(TClonesArray*, BmnTimeDetQa*, TString);
141 template <class T> void GetMwpcDchInfo(TClonesArray*, BmnTimeDetQa*, TString);
142 template <class T> void GetTofInfo(TClonesArray*, BmnTimeDetQa*, TString);
143
144 // Calorim. detectors
145 template <class T> void GetCommonInfo(TClonesArray*, BmnCalorimeterDetQa*, TString);
146
147 // Trigger detectors
148 template <class T> void GetCommonInfo(TClonesArray*, BmnTrigDetQa*, TString);
149
150 // Dst
151 void GetBasicTrackDistributions();
152 // template <class T> void GetInnerTracksDistributions(TClonesArray*, BmnDstQa*, TString, TString);
153 void doHitsDistributions(TClonesArray*, BmnDstQa*, TString);
154 //template <class T> void GetSpecificHitsDistributions(TClonesArray*, BmnDstQa*, TString, TString);
155
156 ClassDef(BmnQaOffline, 1);
157};
158
159#endif
virtual InitStatus Init()
virtual ~BmnQaOffline()
virtual void Exec(Option_t *opt)
virtual void Finish()
Definition setup.py:1
STL namespace.