BmnRoot
26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
makeAlignFile.C
Go to the documentation of this file.
1
#include <
Rtypes.h
>
2
#include <
TChain.h
>
3
#include <
TClonesArray.h
>
4
#include <
TFile.h
>
5
#include <
TString.h
>
6
#include <
TTree.h
>
7
#include <
TVector3.h
>
8
R__ADD_INCLUDE_PATH
($VMCWORKDIR)
9
#include "macro/run/bmnloadlibs.C"
10
R__LOAD_LIBRARY
(libBmnAlignment.so)
11
12
void
makeAlignFile
(
TString
out =
""
,
13
TString
siConf =
"SiliconRunSpring2018.xml"
,
14
TString
gemConf =
"GemRunSpring2018.xml"
)
15
{
16
bmnloadlibs();
// load BmnRoot libraries
17
18
TString
gPathGemConfig =
gSystem
->Getenv(
"VMCWORKDIR"
);
19
20
BmnGemStripStationSet
* StationSetGem =
21
new
BmnGemStripStationSet
(gPathGemConfig +
"/parameters/gem/XMLConfigs/"
+ gemConf);
22
const
Int_t
nStatGem = StationSetGem->
GetNStations
();
23
24
BmnSiliconStationSet
* StationSetSi =
25
new
BmnSiliconStationSet
(gPathGemConfig +
"/parameters/silicon/XMLConfigs/"
+ siConf);
26
const
Int_t
nStatSi = StationSetSi->
GetNStations
();
27
28
// Prepare output tree
29
TFile
* outFile =
new
TFile
(out.Data(),
"recreate"
);
30
TTree
* outTree =
new
TTree
(
"cbmsim"
,
"cbmsim"
);
31
TClonesArray
* outClassGem =
new
TClonesArray
(
"BmnGemAlignCorrections"
);
32
TClonesArray
* outClassSi =
new
TClonesArray
(
"BmnSiliconAlignCorrections"
);
33
outTree->
Branch
(
"BmnGemAlignCorrections"
, &outClassGem);
34
outTree->
Branch
(
"BmnSiliconAlignCorrections"
, &outClassSi);
35
36
// GEMs
37
for
(
Int_t
iStat = 0; iStat < StationSetGem->
GetNStations
(); iStat++)
38
for
(
Int_t
iMod = 0; iMod < StationSetGem->
GetGemStation
(iStat)->GetNModules(); iMod++) {
39
BmnGemAlignCorrections
* corrs =
40
new
((*outClassGem)[outClassGem->
GetEntriesFast
()])
BmnGemAlignCorrections
();
41
corrs->
SetStation
(iStat);
42
corrs->
SetModule
(iMod);
43
corrs->
SetCorrections
(0., 0., 0.);
44
}
45
46
// Silicons
47
for
(
Int_t
iStat = 0; iStat < StationSetSi->
GetNStations
(); iStat++)
48
for
(
Int_t
iMod = 0; iMod < StationSetSi->
GetSiliconStation
(iStat)->GetNModules(); iMod++) {
49
BmnSiliconAlignCorrections
* corrs =
50
new
((*outClassSi)[outClassSi->
GetEntriesFast
()])
BmnSiliconAlignCorrections
();
51
corrs->
SetStation
(iStat);
52
corrs->
SetModule
(iMod);
53
corrs->
SetCorrections
(0., 0., 0.);
54
}
55
56
outTree->
Fill
();
57
outTree->
Write
();
58
outFile->
Close
();
59
}
Int_t
int Int_t
Rtypes.h
R__LOAD_LIBRARY
#define R__LOAD_LIBRARY(LIBRARY)
R__ADD_INCLUDE_PATH
#define R__ADD_INCLUDE_PATH(PATH)
TChain.h
TClonesArray.h
TFile.h
TString.h
gSystem
R__EXTERN TSystem * gSystem
TTree.h
TVector3.h
BmnAlignCorrections::SetCorrections
void SetCorrections(Double_t x, Double_t y, Double_t z)
Definition
BmnAlignCorrections.h:19
BmnGemAlignCorrections
Definition
BmnGemAlignCorrections.h:13
BmnGemAlignCorrections::SetModule
void SetModule(Int_t num)
Definition
BmnGemAlignCorrections.h:23
BmnGemAlignCorrections::SetStation
void SetStation(Int_t num)
Definition
BmnGemAlignCorrections.h:21
BmnGemStripStationSet
Definition
BmnGemStripStationSet.h:15
BmnGemStripStationSet::GetGemStation
BmnGemStripStation * GetGemStation(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:150
BmnGemStripStationSet::GetNStations
Int_t GetNStations()
Definition
BmnGemStripStationSet.h:39
BmnSiliconAlignCorrections
Definition
BmnSiliconAlignCorrections.h:13
BmnSiliconAlignCorrections::SetModule
void SetModule(Int_t num)
Definition
BmnSiliconAlignCorrections.h:24
BmnSiliconAlignCorrections::SetStation
void SetStation(Int_t num)
Definition
BmnSiliconAlignCorrections.h:22
BmnSiliconStationSet
Definition
BmnSiliconStationSet.h:14
BmnSiliconStationSet::GetNStations
Int_t GetNStations()
Definition
BmnSiliconStationSet.h:35
BmnSiliconStationSet::GetSiliconStation
BmnSiliconStation * GetSiliconStation(Int_t station_num)
Definition
BmnSiliconStationSet.cxx:89
TClonesArray
TFile
TFile::Close
void Close(Option_t *option="") override
TObjArray::GetEntriesFast
Int_t GetEntriesFast() const
TString
TTree
TTree::Fill
virtual Int_t Fill()
TTree::Write
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const override
TTree::Branch
virtual Int_t Branch(const char *folder, Int_t bufsize=32000, Int_t splitlevel=99)
makeAlignFile
void makeAlignFile(TString out="", TString siConf="SiliconRunSpring2018.xml", TString gemConf="GemRunSpring2018.xml")
Definition
makeAlignFile.C:12
macro
alignment
instruments
makeAlignFile.C
Generated on
for BmnRoot by
1.17.0