BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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:
24 /** Default constructor **/
26
27 /** Constructor with start event and event number to be processed, and autodefinition whether experimental data are
28 * used **/
29 BmnFillDstTask(Long64_t nStartEvent, Long64_t nEvents);
30
31 /** Constructor with start event and event number to be processed, experimental data flag, period and run numbers
32 * **/
34 Long64_t nEvents,
35 Bool_t isExp,
36 Int_t period_number = -1,
37 Int_t run_number = -1);
38
39 /** Destructor **/
41
42 /** Initialization of task at the beginning **/
43 virtual InitStatus Init();
44
45 /** ReInitialization of task when the runID/file changes **/
46 virtual InitStatus ReInit();
47
48 /** Executed for each event **/
49 virtual void Exec(Option_t* opt);
50
51 /** Load the parameter container from the runtime database **/
52 virtual void SetParContainers();
53
54 /** Finish task called at the end **/
55 virtual void Finish();
56
57 /** Setting period-number information to fill RunHeader **/
58 void SetRunNumber(Int_t period_number, Int_t run_number)
59 {
60 fPeriodNumber = period_number;
61 fRunNumber = run_number;
62 }
64
65 /** Fill map with weight-charge of possible particles **/
67
68 struct stParticleInfo
69 {
70 Int_t A;
71 Int_t Z;
72 };
73
74 private:
75 int isExpData;
76 /** period number **/
78 /** run number **/
80
81 /** Input MCEventHeader from Simulation File **/
83 /** Input Monte-Carlo tracks from Simulation File **/
85 /** Output MC Information for physics analysis **/
87 /** Input BmnEventHeader from Experimental Digit File **/
89 /** Output DstEventHeader prepared in FairRunAna **/
91 /** Output BmnRunHeader **/
93 /** start event from which the processing is started **/
95 /** event count to be processed **/
97 /** current event being processed for progress bar **/
99 /** pointer to primary vertex in the current event **/
101 /** pointer to global tracks in the current event **/
103
104 /** z calibration parameters: **/
110
111 /*For ADC, charge calculation*/
112 TClonesArray *fT0, *fBC1, *fBC2, *fBC3, *fBC4; //!
113
114 /** map with particle names and corresponding weight-charge pairs **/
115 map<TString, stParticleInfo> mapParticleInfo;
116
119
120 /** Reset variables between events **/
121 void Reset();
122
124 /** set headers with autodefinition whether experimental or simulation data are used **/
126
128};
129
130#endif
bool Bool_t
int Int_t
double Double_t
long long Long64_t
const char Option_t
#define ClassDef(name, id)
TClonesArray * fBC4
TClonesArray * fBC2
virtual void Exec(Option_t *opt)
Executed for each event.
DstRunHeader * fRunHeader
Output BmnRunHeader.
virtual InitStatus ReInit()
ReInitialization of task when the runID/file changes.
void InitParticleInfo()
Fill map with weight-charge of possible particles.
virtual void SetParContainers()
Load the parameter container from the runtime database.
Int_t fRunNumber
run number
Long64_t fNStartEvent
start event from which the processing is started
void Reset()
Reset variables between events.
TClonesArray * fMCTracks
Input Monte-Carlo tracks from Simulation File.
Long64_t fNEvents
event count to be processed
virtual void Finish()
Finish task called at the end.
BmnEventHeader * fEventHeader
Input BmnEventHeader from Experimental Digit File.
TClonesArray * fT0
void SetRunNumber(Int_t period_number, Int_t run_number)
Setting period-number information to fill RunHeader.
FairMCEventHeader * fMCEventHeader
Input MCEventHeader from Simulation File.
BmnFillDstTask(Long64_t nStartEvent, Long64_t nEvents)
Constructor with start event and event number to be processed, and autodefinition whether experimenta...
void DoZCalibration(Bool_t cal)
BmnFillDstTask(Long64_t nStartEvent, Long64_t nEvents, Bool_t isExp, Int_t period_number=-1, Int_t run_number=-1)
Constructor with start event and event number to be processed, experimental data flag,...
TClonesArray * fBC1
DstEventHeader * fDstHeader
Output DstEventHeader prepared in FairRunAna.
CbmVertex * fPrimaryVertex
pointer to primary vertex in the current event
bool autoSetHeaders()
set headers with autodefinition whether experimental or simulation data are used
virtual InitStatus Init()
Initialization of task at the beginning.
Long64_t fIEvent
current event being processed for progress bar
BmnFillDstTask(const BmnFillDstTask &)=delete
BmnFillDstTask operator=(const BmnFillDstTask &)=delete
Int_t fPeriodNumber
period number
TClonesArray * fGlobalTracks
pointer to global tracks in the current event
Double_t fZCalib1
z calibration parameters:
TClonesArray * fBC3
BmnFillDstTask()
Default constructor.
BmnMCInfoDst * fMCInfoDst
Output MC Information for physics analysis.
void applyZCalibration()
map< TString, stParticleInfo > mapParticleInfo
map with particle names and corresponding weight-charge pairs
~BmnFillDstTask()
Destructor.
BmnTask.
Definition BmnTask.h:13
CbmVertex.h.
Definition CbmVertex.h:21