BmnRoot
Loading...
Searching...
No Matches
BmnToCbmHitConverter.h
Go to the documentation of this file.
1#ifndef BMNTOCBMHITCONVERTER_H
2#define BMNTOCBMHITCONVERTER_H 1
3
4#include "BmnGemStripHit.h"
5#include "BmnGemStripStationSet.h"
6#include "BmnSiliconHit.h"
7#include "BmnSiliconStationSet.h"
8#include "BmnTask.h"
9#include "BmnVSPStationSet.h"
10#include "CbmStsHit.h"
11#include "FairMCPoint.h"
12#include "TClonesArray.h"
13#include "TSystem.h"
14
15#include <iostream>
16
18{
19 public:
21 // BmnToCbmHitConverter(Int_t iVerbose);
22 BmnToCbmHitConverter(Int_t iVerbose, Bool_t isExp = kTRUE); // AZ-170323
23
24 virtual ~BmnToCbmHitConverter();
25
26 virtual InitStatus Init();
27
28 virtual void Exec(Option_t* opt);
29
30 virtual void Finish();
31
32 void SetGemConfigFile(TString file) { fGemConfigFile = file; }
33 void SetSilConfigFile(TString file) { fSilConfigFile = file; }
34 void SetVspConfigFile(TString file) { fVspConfigFile = file; } // AZ-070625
35
36 void SetFixedErrors(Float_t dXgem = 0.015, Float_t dYgem = 0.058, Float_t dXsil = 0.003, Float_t dYsil = 0.021);
37 void ApplyAlignment(CbmStsHit* hit); // AZ-120223
38
39 // to disable alignment (used by default), call EnableAlignment(kFALSE)
40 void EnableAlignment(Bool_t is_align_enabled = kTRUE) { fAlignmentEnabled = is_align_enabled; }
41
42 void ReadCorrections(int irun,
43 int igem,
44 std::map<int, std::vector<Double_t>>* locCorX,
45 std::map<int, std::vector<Double_t>>* locCorY,
46 int& nx,
47 int& ny);
48 Bool_t CorrectEffic(CbmStsHit* hit, int iq); // AZ-211223
49 void CorrectHitMC(CbmStsHit* hit, Double_t pmom, int iq); // AZ-270824
50 void AddVspHits(); // AZ-060625
51 void SetMCcorr(Bool_t mccorr = kTRUE) { fMCcorr = mccorr; } // AZ-100625
52
53 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
54
55 private:
56 TString fBmnGemHitsBranchName;
57 TString fBmnSilHitsBranchName;
58 TString fBmnVspHitsBranchName;
59 TString fCbmHitsBranchName;
60
62 TClonesArray* fBmnGemHitsArray;
63 TClonesArray* fBmnGemUpperClusters;
64 TClonesArray* fBmnGemLowerClusters;
65 TClonesArray* fGemPoints;
66
68 TClonesArray* fBmnSilHitsArray;
69 TClonesArray* fBmnSilUpperClusters;
70 TClonesArray* fBmnSilLowerClusters;
71 TClonesArray* fSilPoints;
72
74 TClonesArray* fBmnVspHitsArray;
75 TClonesArray* fBmnVspUpperClusters;
76 TClonesArray* fBmnVspLowerClusters;
77 TClonesArray* fVspPoints;
78
79 TClonesArray* fMCTracks;
80
82 TClonesArray* fCbmHitsArray;
83
84 TString fGemConfigFile;
85 TString fSilConfigFile;
86 TString fVspConfigFile;
87
88 BmnGemStripStationSet* GemStationSet;
89 BmnSiliconStationSet* SilStationSet;
90 BmnVSPStationSet* fVspStationSet;
91
92 Bool_t fUseFixedErrors;
93 Float_t fDXgem;
94 Float_t fDYgem;
95 Float_t fDXsil;
96 Float_t fDYsil;
97 Bool_t fExp; // AZ-170323
98 Bool_t fMCcorr; // AZ-100625
99 Bool_t fieldFlag; // AZ-310823
100 // whether alignment enabled
101 Bool_t fAlignmentEnabled;
102
103 ClassDef(BmnToCbmHitConverter, 0);
104};
105
106#endif
BmnTask.
Definition BmnTask.h:13
virtual InitStatus Init()
void EnableAlignment(Bool_t is_align_enabled=kTRUE)
void SetFixedErrors(Float_t dXgem=0.015, Float_t dYgem=0.058, Float_t dXsil=0.003, Float_t dYsil=0.021)
void ApplyAlignment(CbmStsHit *hit)
void SetMCcorr(Bool_t mccorr=kTRUE)
void SetGemConfigFile(TString file)
Bool_t CorrectEffic(CbmStsHit *hit, int iq)
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
void CorrectHitMC(CbmStsHit *hit, Double_t pmom, int iq)
void SetVspConfigFile(TString file)
virtual void Exec(Option_t *opt)
void SetSilConfigFile(TString file)
void ReadCorrections(int irun, int igem, std::map< int, std::vector< Double_t > > *locCorX, std::map< int, std::vector< Double_t > > *locCorY, int &nx, int &ny)