BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnTrackConv.h
Go to the documentation of this file.
1#ifndef BMNTRACKCONV_H
2#define BMNTRACKCONV_H
3
4#include "BmnBdPoint.h"
5#include "BmnCSCPoint.h"
6#include "BmnCSCStationSet.h"
8#include "BmnSiliconPoint.h"
10#include "BmnTOF1Point.h"
11
12#include <BmnCSCHit.h>
13#include <BmnDchTrack.h>
14#include <BmnEnums.h>
15#include <BmnEventHeader.h>
16#include <BmnFairRunSim.h>
17#include <BmnGemStripHit.h>
18#include <BmnGlobalTrack.h>
19#include <BmnSiliconHit.h>
20#include <BmnTofHit.h>
21#include <BmnVertex.h>
22#include <BmnZDCEventData.h>
23#include <CbmMCTrack.h>
24#include <CbmStsCluster.h>
25#include <CbmStsDigi.h>
26#include <CbmStsHit.h>
27#include <CbmStsPoint.h>
28#include <CbmStsTrack.h>
29#include <CbmVertex.h>
30#include <DstEventHeader.h>
31#include <FairMCEventHeader.h>
32#include <FairTask.h>
33#include <TClonesArray.h>
34#include <TFile.h>
35#include <limits.h>
36#include <pthread.h>
37
39{
40 public:
44 virtual ~BmnZDCEventDataExt() { ; }
45
46 void SetEnergy(Int_t v, char op = '\0')
47 {
48 switch (op) {
49 case 'c':
50 case 'C':
51 fEc = v;
52 break;
53 case 'n':
54 case 'N':
55 fEn = v;
56 break;
57 case 'p':
58 case 'P':
59 fEp = v;
60 break;
61 default:
62 fE = v;
63 }
64 }
65
66 void SetNHits(Int_t v, char op = '\0')
67 {
68 switch (op) {
69 case 'c':
70 case 'C':
71 fHc = v;
72 break;
73 case 'n':
74 case 'N':
75 fHn = v;
76 break;
77 case 'p':
78 case 'P':
79 fHp = v;
80 break;
81 default:
82 fH = v;
83 }
84 }
85
86 void SetX(Float_t v) { fX = v; }
87
88 void SetY(Float_t v) { fY = v; }
89
91
93
94 private:
96};
97
98/**
99 * BmnTrackConv
100 * Task for track conversion between BM@N and CBM formats
101 * \author Ilnur Gabdrakhmanov <ilnur@jinr.ru>
102 */
103class BmnTrackConv : public FairTask
104{
105 public:
106 BmnTrackConv(Int_t run_period,
107 Int_t run_number = 0,
108 BmnSetup setup = kBMNSETUP,
109 TString inFileAdd = "",
110 vector<TString> branchesToClone = {"BmnTof400Hit", "BmnTof700Hit", "BmnDchTrack"});
111 virtual ~BmnTrackConv();
112
114
116
117 InitStatus Init();
118 // InitStatus ReInit();
119 void Exec(Option_t* option);
120 void Finish();
121 void FinishEvent();
122
123 void ProcessDST();
124 void ProcessEVE();
125
126 protected:
127 inline Int_t GemModCbm2Bmn(Int_t iSt, Int_t iModCbm);
128 inline Int_t CscModCbm2Bmn(Int_t iSt, Int_t iModCbm);
129 BmnSetup fSetup;
130
131 BmnFairRunSim* fRunSimInst; ///< instance of the task manager
132
136
145 // TString fCBMDigisName;
147
152
176
185 // TClonesArray* fCBMDigis = nullptr;
190
200
213
215
221
225
226 TFile* fDstFile = nullptr;
227 TTree* fDstTree = nullptr;
228 vector<TString> fBrNames;
229 vector<TClonesArray*> fInArrays;
230 vector<TClonesArray*> fOutArrays;
231
232 // map subdetector hit index to the original CBM
233 vector<Int_t> fMapHit;
234
237
240
241 Bool_t isMCDST = kFALSE; // reconstructed MC
242 Bool_t isMCEVE = kFALSE; // generated MC
243
245};
246
247#endif /* BMNTRACKCONV_H */
__m128 v
Definition P4_F32vec4.h:1
bool Bool_t
int Int_t
float Float_t
constexpr Bool_t kFALSE
long long Long64_t
const char Option_t
#define ClassDef(name, id)
@ kBMNSETUP
Definition BmnEnums.h:166
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
vector< TClonesArray * > fOutArrays
TString fBMNCSCPointsName
TString fBMNMwpcHitsName
TClonesArray * fBMNCscHits
TClonesArray * fBMNCSCPoints
TClonesArray * fCBMHits
TString fBMNSilTracksName
Int_t CscModCbm2Bmn(Int_t iSt, Int_t iModCbm)
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
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
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
virtual ~BmnTrackConv()
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)
CbmVertex.h.
Definition CbmVertex.h:21
Define enumerations used in tracking.