BmnRoot
Loading...
Searching...
No Matches
BmnFillDstTask.h
Go to the documentation of this file.
1/********************************************************************************
2 * BmnFillDstTask.h *
3 * BM@N Fill DST Task class declaration *
4 * Add necessary data and event header to the DST file after reconstruction *
5 *******************************************************************************/
6
7#ifndef BMNFILLDSTTASK_H
8#define BMNFILLDSTTASK_H
9
10#include "BmnEventHeader.h"
11#include "BmnMCInfoDst.h"
12#include "BmnTask.h"
13#include "CbmVertex.h"
14#include "DstEventHeader.h"
15#include "DstRunHeader.h"
16#include "FairMCEventHeader.h"
17#include "TClonesArray.h"
18
19#include <map>
20
21class BmnFillDstTask : public BmnTask
22{
23 public:
26
29 BmnFillDstTask(Long64_t nStartEvent, Long64_t nEvents);
30
33 BmnFillDstTask(Long64_t nStartEvent,
34 Long64_t nEvents,
35 Bool_t isExp,
36 Int_t period_number = -1,
37 Int_t run_number = -1);
38
41
43 virtual InitStatus Init();
44
46 virtual InitStatus ReInit();
47
49 virtual void Exec(Option_t* opt);
50
52 virtual void SetParContainers();
53
55 virtual void Finish();
56
58 void SetRunNumber(Int_t period_number, Int_t run_number)
59 {
60 fPeriodNumber = period_number;
61 fRunNumber = run_number;
62 }
63 void DoZCalibration(Bool_t cal) { fDoCalibration = cal; }
64
66 void InitParticleInfo();
67
69 {
70 Int_t A;
71 Int_t Z;
72 };
73
74 private:
75 int isExpData;
77 Int_t fPeriodNumber;
79 Int_t fRunNumber;
80
82 FairMCEventHeader* fMCEventHeader;
84 TClonesArray* fMCTracks;
86 BmnMCInfoDst* fMCInfoDst;
88 BmnEventHeader* fEventHeader;
90 DstEventHeader* fDstHeader;
92 DstRunHeader* fRunHeader;
94 Long64_t fNStartEvent;
96 Long64_t fNEvents;
98 Long64_t fIEvent;
100 CbmVertex* fPrimaryVertex;
102 TClonesArray* fGlobalTracks;
103
105 Double_t fZCalib1;
106 Double_t fZCalib2;
107 Double_t fBC1Calib;
108 Double_t fBC2Calib;
109 Bool_t fDoCalibration;
110
111 /*For ADC, charge calculation*/
112 TClonesArray *fT0, *fBC1, *fBC2, *fBC3, *fBC4;
113
115 map<TString, stParticleInfo> mapParticleInfo;
116
117 BmnFillDstTask(const BmnFillDstTask&) = delete;
118 BmnFillDstTask operator=(const BmnFillDstTask&) = delete;
119
121 void Reset();
122
123 void applyZCalibration();
125 bool autoSetHeaders();
126
127 ClassDef(BmnFillDstTask, 2);
128};
129
130#endif
virtual void SetParContainers()
virtual void Finish()
virtual InitStatus Init()
void SetRunNumber(Int_t period_number, Int_t run_number)
void DoZCalibration(Bool_t cal)
virtual void Exec(Option_t *opt)
virtual InitStatus ReInit()
BmnTask.
Definition BmnTask.h:13