BmnRoot
Loading...
Searching...
No Matches
BmnTrackConv.h
Go to the documentation of this file.
1#ifndef BMNTRACKCONV_H
2#define BMNTRACKCONV_H
3
4#include <limits.h>
5#include <pthread.h>
6
7#include <TClonesArray.h>
8#include <TFile.h>
9
10#include <FairTask.h>
11#include <FairMCEventHeader.h>
12
13#include <CbmStsTrack.h>
14#include <CbmStsHit.h>
15#include <CbmStsDigi.h>
16#include <CbmStsCluster.h>
17#include <CbmVertex.h>
18#include <CbmStsPoint.h>
19#include <CbmMCTrack.h>
20
21#include <BmnEnums.h>
22#include <BmnVertex.h>
23#include <BmnEventHeader.h>
24#include <DstEventHeader.h>
25#include <BmnGlobalTrack.h>
26#include <BmnSiliconHit.h>
27#include <BmnGemStripHit.h>
28#include <BmnCSCHit.h>
29#include <BmnTofHit.h>
30#include <BmnDchTrack.h>
31#include <BmnZDCEventData.h>
32#include <BmnFairRunSim.h>
33#include "BmnGemStripStationSet.h"
34#include "BmnSiliconStationSet.h"
35#include "BmnCSCStationSet.h"
36#include "BmnSiliconPoint.h"
37#include "BmnCSCPoint.h"
38#include "BmnBdPoint.h"
39#include "BmnTOF1Point.h"
40
42public:
47 ;}
48
49 void SetEnergy(Int_t v, char op = '\0') {
50 switch (op) {
51 case 'c': case 'C':
52 fEc = v;
53 break;
54 case 'n': case 'N':
55 fEn = v;
56 break;
57 case 'p': case 'P':
58 fEp = v;
59 break;
60 default: fE = v;
61 }
62 }
63
64 void SetNHits(Int_t v, char op = '\0') {
65 switch (op) {
66 case 'c': case 'C':
67 fHc = v;
68 break;
69 case 'n': case 'N':
70 fHn = v;
71 break;
72 case 'p': case 'P':
73 fHp = v;
74 break;
75 default: fH = v;
76 }
77 }
78
79 void SetX(Float_t v) {
80 fX = v;
81 }
82
83 void SetY(Float_t v) {
84 fY = v;
85 }
86
87 void SetAsymmetry(Float_t v) {
88 fAsymmetry = v;
89 }
90
91 void SetMoment(Float_t v) {
92 fMoment = v;
93 }
94private:
95 ClassDef(BmnZDCEventDataExt, 1);
96};
97
103class BmnTrackConv : public FairTask {
104public:
105 BmnTrackConv(Int_t run_period, Int_t run_number = 0, BmnSetup setup = kBMNSETUP,
106 TString inFileAdd = "",
107 vector<TString> branchesToClone = {"BmnTof400Hit", "BmnTof700Hit", "BmnDchTrack"});
108 virtual ~BmnTrackConv();
109
113
117
118 InitStatus Init();
119 //InitStatus ReInit();
120 void Exec(Option_t *option);
121 void Finish();
123
126
127protected:
128
129 inline Int_t GemModCbm2Bmn(Int_t iSt, Int_t iModCbm);
130 inline Int_t CscModCbm2Bmn(Int_t iSt, Int_t iModCbm);
132
134
135 TString fDstTreeName;
136 TString fDstTreeNameNew;
137 TString fDstFileName;
138
139 TString fCBMMCEvHeaderName;
140 TString fCBMEvHeaderName;
142 TString fCBMGlobalTracksName;
144 TString fCBMHitsName;
145 TString fCBMToF400HitsName;
146 TString fCBMClustersName;
147 // TString fCBMDigisName;
148 TString fCBMVertexName;
149
150 TString fCBMPointsName;
151 TString fCBMCSCPointsName;
152 TString fCBMBDPointsName;
153 TString fTof400PointsName;
154
155 TString fBMNMCEvHeaderName;
156 TString fBMNEvHeaderName;
157 TString fBMNZDCName;
159 TString fBMNGlobalTracksName;
160 TString fBMNGemTracksName;
161 TString fBMNSilTracksName;
162 TString fBMNCscTracksName;
163 TString fBMNMwpcTracksName;
164 TString fBMNInnerHitsName;
165 TString fBMNGemHitsName;
166 TString fBMNSilHitsName;
167 TString fBMNCscHitsName;
168 TString fBMNTof400HitsName;
169 TString fBMNTof700HitsName;
170 TString fBMNDchTracksName;
171 TString fBMNMwpcHitsName;
172 TString fBMNVertexName;
173 TString fBMNGemPointsName;
174 TString fBMNSilPointsName;
175 TString fBMNCSCPointsName;
176 TString fBMNBDPointsName;
177 TString fBMNTof400PointsName;
178
179 FairMCEventHeader* fCBMMCEvHeader = nullptr;
180 FairEventHeader* fCBMEvHeader = nullptr;
181 CbmVertex* fCBMVertex = nullptr;
182 TClonesArray* fCBMoldBMNEvHeader = nullptr;
183 TClonesArray* fCBMGlobalTracks = nullptr;
184 TClonesArray* fCBMHits = nullptr;
185 TClonesArray* fCBMToF400Hits = nullptr;
186 TClonesArray* fCBMClusters = nullptr;
187 // TClonesArray* fCBMDigis = nullptr;
188 TClonesArray* fCBMPoints = nullptr;
189 TClonesArray* fCBMCSCPoints = nullptr;
190 TClonesArray* fCBMBDPoints = nullptr;
191 TClonesArray* fCBMTof400Points = nullptr;
192
193 FairMCEventHeader* fBMNMCEvHeader = nullptr;
194 DstEventHeader* fBMNEvHeader = nullptr;
195 BmnZDCEventDataExt* fBMNZDC = nullptr;
196 TClonesArray* fBMNVertex = nullptr;
197 TClonesArray* fBMNGlobalTracks = nullptr;
198 TClonesArray* fBMNGemTracks = nullptr;
199 TClonesArray* fBMNSilTracks = nullptr;
200 TClonesArray* fBMNCscTracks = nullptr;
201 TClonesArray* fBMNMwpcTracks = nullptr;
202
203 TClonesArray* fBMNInnerHits = nullptr;
204 TClonesArray* fBMNGemHits = nullptr;
205 TClonesArray* fBMNSilHits = nullptr;
206 TClonesArray* fBMNCscHits = nullptr;
207 TClonesArray* fBMNTof400Hits = nullptr;
208 TClonesArray* fBMNTof700Hits = nullptr;
209 TClonesArray* fBMNDchTracks = nullptr;
211 BmnZDCEventData* fBMNZDCIn = nullptr;
212 TClonesArray* fBMNTof400HitsIn = nullptr;
213 TClonesArray* fBMNTof700HitsIn = nullptr;
214 TClonesArray* fBMNDchTracksIn = nullptr;
215
216 TClonesArray* fBMNMwpcSegment = nullptr;
217
218 TClonesArray* fBMNGemPoints = nullptr;
219 TClonesArray* fBMNSilPoints = nullptr;
220 TClonesArray* fBMNCSCPoints = nullptr;
221 TClonesArray* fBMNBDPoints = nullptr;
222 TClonesArray* fBMNTof400Points = nullptr;
223
227
228 TFile *fDstFile = nullptr;
229 TTree *fDstTree = nullptr;
230 vector<TString> fBrNames;
231 vector<TClonesArray*> fInArrays;
232 vector<TClonesArray*> fOutArrays;
233
234 // map subdetector hit index to the original CBM
235 vector<Int_t> fMapHit;
236
237
238 Long64_t iEv;
239 Long64_t iEvFile;
240
241 Int_t fPeriodId;
242 Int_t fRunId;
243
244 Bool_t isMCDST = kFALSE; // reconstructed MC
245 Bool_t isMCEVE = kFALSE; // generated MC
246
248};
249
250#endif /* BMNTRACKCONV_H */
251
__m128 v
Definition P4_F32vec4.h:1
BmnSetup
Definition BmnEnums.h:89
@ kBMNSETUP
Definition BmnEnums.h:90
TString fCBMGlobalTracksCSCName
TClonesArray * fBMNSilPoints
FairMCEventHeader * fCBMMCEvHeader
TClonesArray * fBMNGemHits
TClonesArray * fBMNDchTracksIn
TString fBMNGemHitsName
BmnTrackConv(Int_t run_period, Int_t run_number=0, BmnSetup setup=kBMNSETUP, TString inFileAdd="", vector< TString > branchesToClone={"BmnTof400Hit", "BmnTof700Hit", "BmnDchTrack"})
TClonesArray * fCBMClusters
TClonesArray * fCBMBDPoints
TClonesArray * fBMNInnerHits
TString fBMNCscHitsName
TClonesArray * fBMNMwpcSegment
TString fBMNSilHitsName
void ProcessEVE()
vector< TClonesArray * > fOutArrays
TString fBMNCSCPointsName
TString fBMNMwpcHitsName
TClonesArray * fBMNCscHits
TClonesArray * fBMNCSCPoints
TClonesArray * fCBMHits
TString fBMNSilTracksName
Int_t CscModCbm2Bmn(Int_t iSt, Int_t iModCbm)
virtual ~BmnTrackConv()
TClonesArray * fCBMGlobalTracks
void Exec(Option_t *option)
TClonesArray * fBMNTof400Points
TString fCBMPointsName
TClonesArray * fBMNDchTracks
FairEventHeader * fCBMEvHeader
TClonesArray * fBMNMwpcTracks
Long64_t iEvFile
vector< Int_t > fMapHit
TString fCBMHitsName
void SetRunSimInst(BmnFairRunSim *v)
vector< TClonesArray * > fInArrays
BmnZDCEventDataExt * fBMNZDC
TString fTof400PointsName
TClonesArray * fCBMToF400Hits
BmnCSCStationSet * fCscStationSet
TClonesArray * fCBMoldBMNEvHeader
TClonesArray * fBMNSilHits
TString fDstTreeName
TClonesArray * fBMNGlobalTracks
TString fBMNDchTracksName
CbmVertex * fCBMVertex
TString fBMNGemPointsName
TString fCBMClustersName
TString fBMNZDCName
TClonesArray * fBMNBDPoints
TString fBMNEvHeaderName
TString fCBMMCEvHeaderName
TString fCBMEvHeaderName
TString fCBMVertexName
BmnSiliconStationSet * fSilStationSet
TClonesArray * fBMNGemPoints
FairMCEventHeader * fBMNMCEvHeader
BmnGemStripStationSet * fGemStationSet
BmnZDCEventData * fBMNZDCIn
TString fBMNGemTracksName
TClonesArray * fCBMPoints
void ProcessDST()
BmnFairRunSim * fRunSimInst
instance of the task manager
TClonesArray * fBMNTof700Hits
TString fBMNBDPointsName
TString fDstTreeNameNew
TClonesArray * fBMNTof400Hits
TTree * fDstTree
TString fBMNSilPointsName
TFile * fDstFile
DstEventHeader * fBMNEvHeader
TClonesArray * fBMNCscTracks
Int_t GemModCbm2Bmn(Int_t iSt, Int_t iModCbm)
DstEventHeader * fBMNEvHeaderIn
TClonesArray * fCBMCSCPoints
TString fCBMBDPointsName
TString fBMNGlobalTracksName
TString fBMNMCGlobalTracksName
BmnFairRunSim * GetRunSimInst()
TClonesArray * fBMNSilTracks
TString fCBMToF400HitsName
TClonesArray * fCBMTof400Points
TString fBMNVertexName
vector< TString > fBrNames
TString fBMNTof400PointsName
TString fBMNTof400HitsName
TString fBMNTof700HitsName
TString fBMNMwpcTracksName
void FinishEvent()
TString fBMNCscTracksName
TClonesArray * fBMNGemTracks
TString fCBMoldBMNEvHeaderName
TString fCBMCSCPointsName
TClonesArray * fBMNTof400HitsIn
TString fDstFileName
TClonesArray * fBMNVertex
TString fCBMGlobalTracksName
TClonesArray * fBMNTof700HitsIn
TString fBMNInnerHitsName
BmnSetup fSetup
InitStatus Init()
TString fBMNMCEvHeaderName
ClassDef(BmnTrackConv, 1)
virtual ~BmnZDCEventDataExt()
void SetEnergy(Int_t v, char op='\0')
void SetNHits(Int_t v, char op='\0')
void SetY(Float_t v)
void SetX(Float_t v)
void SetMoment(Float_t v)
void SetAsymmetry(Float_t v)
Definition setup.py:1