BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
lambdaAnalRun7.C
Go to the documentation of this file.
1
#include <
Rtypes.h
>
2
#include <
TCanvas.h
>
3
#include <
TFile.h
>
4
#include <
TH1F.h
>
5
#include <
TH2F.h
>
6
7
R__ADD_INCLUDE_PATH
($VMCWORKDIR)
8
#include "macro/run/bmnloadlibs.C"
9
10
using namespace
std
;
11
using namespace
TMath
;
12
13
// Lambda anal. relatively to path bins ...
14
15
void
lambdaAnalRun7
(
TString
tar,
TString
dirMc,
TString
dirData)
16
{
17
BmnLambdaAnalRun7
* lAna =
new
BmnLambdaAnalRun7
(dirMc, dirData, tar);
18
// lAna->SetNFiles(10);
19
20
vector<TString> targets{
"Pb"
,
"Sn"
,
"Cu"
,
"Al"
};
21
22
// Common cuts ...
23
for
(
TString
target : targets)
24
lAna->
SetCuts
(target, 1.2, 0.3, 2.2, 0.7);
// Path cut is not set!
25
26
// Setting trigg. efficiencies (if available) ...
27
/*
28
lAna->SetTriggerEffData("BT+FD3", "eff_BT+FD3.root");
29
lAna->SetTriggerEffData("BT+FD2", "eff_BT+FD2.root");
30
lAna->SetTriggerEffData("BT+BD3", "eff_BT+BD3.root");
31
lAna->SetTriggerEffData("BT+BD2", "eff_BT+BD2.root");
32
lAna->SetTriggerEffData("BT+BD1+FD2", "eff_BT+BD1+FD2.root");
33
*/
34
35
// Setting Pt and Y bins for lambda's ...
36
vector<pair<Double_t, Double_t>> ptBins;
37
38
ptBins.push_back(make_pair(0.1, 0.35));
39
ptBins.push_back(make_pair(0.35, 0.6));
40
ptBins.push_back(make_pair(0.6, 1.3));
41
lAna->
SetPtBins
(ptBins);
42
43
vector<pair<Double_t, Double_t>> yBins;
44
45
yBins.push_back(make_pair(0.5, 1.3));
46
yBins.push_back(make_pair(1.3, 1.7));
47
yBins.push_back(make_pair(1.7, 2.3));
48
lAna->
SetYBins
(yBins);
49
50
vector<pair<Double_t, Double_t>> pathBins;
51
pathBins.push_back(make_pair(8., 50.));
52
pathBins.push_back(make_pair(12., 50.));
53
pathBins.push_back(make_pair(16., 50.));
54
pathBins.push_back(make_pair(20., 50.));
55
pathBins.push_back(make_pair(24., 50.));
56
57
lAna->
SetPathBins
(pathBins);
58
59
lAna->
doTargetAnal
(tar);
60
61
delete
lAna;
62
}
63
64
void
lambdaAnalRun7
(
TString
tar,
TString
dir,
Bool_t
isMc)
65
{
66
//
67
BmnLambdaAnalRun7
* lAna =
new
BmnLambdaAnalRun7
(dir);
68
lAna->
SetIsMc
(isMc);
69
70
vector<TString> targets{
"Pb"
,
"Sn"
,
"Cu"
,
"Al"
};
71
72
// Common cuts ...
73
for
(
TString
target : targets)
74
lAna->
SetCuts
(target, 1.2, 0.3, 2.2, 0.7, 12.);
75
76
// Setting trigg. efficiencies (if available) ...
77
/*
78
lAna->SetTriggerEffData("BT+FD3", "eff_BT+FD3.root");
79
lAna->SetTriggerEffData("BT+FD2", "eff_BT+FD2.root");
80
lAna->SetTriggerEffData("BT+BD3", "eff_BT+BD3.root");
81
lAna->SetTriggerEffData("BT+BD2", "eff_BT+BD2.root");
82
lAna->SetTriggerEffData("BT+BD1+FD2", "eff_BT+BD1+FD2.root");
83
*/
84
85
// Setting Pt and Y bins for lambda's ...
86
vector<pair<Double_t, Double_t>> ptBins;
87
88
ptBins.push_back(make_pair(0.1, 0.35));
89
ptBins.push_back(make_pair(0.35, 0.6));
90
ptBins.push_back(make_pair(0.6, 1.3));
91
lAna->
SetPtBins
(ptBins);
92
93
vector<pair<Double_t, Double_t>> yBins;
94
95
yBins.push_back(make_pair(0.5, 1.3));
96
yBins.push_back(make_pair(1.3, 1.7));
97
yBins.push_back(make_pair(1.7, 2.3));
98
lAna->
SetYBins
(yBins);
99
100
lAna->
doTargetAnal
(tar);
101
102
delete
lAna;
103
}
104
105
// To be used for bin optimization if necessary ...
106
107
void
lambdaAnalRun7
(
TString
dataPath,
Bool_t
doBinOptimizationPt,
Bool_t
doBinOptimizationY,
Double_t
min
,
Double_t
max
)
108
{
109
BmnLambdaAnalRun7
* lAna =
new
BmnLambdaAnalRun7
(dataPath);
110
lAna->
SetNFiles
(10);
111
112
vector<TString> targets{
"Pb"
,
"Sn"
,
"Cu"
,
"Al"
};
113
114
// Common cuts ...
115
for
(
TString
target : targets)
116
lAna->
SetCuts
(target, 1.2, 0.3, 2.2, 0.7, 12.);
117
118
// Setting trigg. efficiencies ...
119
/*
120
lAna->SetTriggerEffData("BT+FD3", "eff_BT+FD3.root");
121
lAna->SetTriggerEffData("BT+FD2", "eff_BT+FD2.root");
122
lAna->SetTriggerEffData("BT+BD3", "eff_BT+BD3.root");
123
lAna->SetTriggerEffData("BT+BD2", "eff_BT+BD2.root");
124
lAna->SetTriggerEffData("BT+BD1+FD2", "eff_BT+BD1+FD2.root");
125
*/
126
127
if
(doBinOptimizationPt && doBinOptimizationY)
128
return
;
129
130
if
(doBinOptimizationPt) {
131
// Optimizing Pt ranges ...
132
vector<pair<Double_t, Double_t>> ptBin;
133
ptBin.push_back(make_pair(
min
,
max
));
134
lAna->
SetPtBins
(ptBin);
135
}
else
if
(doBinOptimizationY) {
136
// Optimizing Y ranges ...
137
vector<pair<Double_t, Double_t>> yBin;
138
yBin.push_back(make_pair(
min
,
max
));
139
lAna->
SetYBins
(yBin);
140
}
141
142
lAna->
doTargetAnal
(targets);
143
144
// Save results for further anal. ...
145
FILE* f = fopen(
Form
(
"%s_min%G_max%G.dat"
, (doBinOptimizationPt) ?
"Pt"
:
"Y"
,
min
,
max
),
"w+"
);
146
147
auto
it = (doBinOptimizationPt) ? lAna->
GetSignalPtBinMap
().begin() : lAna->
GetSignalYBinMap
().begin();
148
fprintf(f,
"min %G max %G signal %G error %G\n"
,
min
,
max
, it->second.first, it->second.second);
149
150
fclose(f);
151
152
delete
lAna;
153
}
154
155
// Lambda anal. for a set of targets
156
157
void
lambdaAnalRun7
(
TString
dataPath)
158
{
159
BmnLambdaAnalRun7
* lAna =
new
BmnLambdaAnalRun7
(dataPath);
160
// lAna->SetNFiles(5);
161
162
vector<TString> targets{
"Pb"
,
"Sn"
,
"Cu"
,
"Al"
};
163
164
// Common cuts ...
165
for
(
TString
target : targets)
166
lAna->
SetCuts
(target, 1.2, 0.3, 2.2, 0.7, 12.);
167
168
// Setting trigg. efficiencies ...
169
/*
170
lAna->SetTriggerEffData("BT+FD3", "eff_BT+FD3.root");
171
lAna->SetTriggerEffData("BT+FD2", "eff_BT+FD2.root");
172
lAna->SetTriggerEffData("BT+BD3", "eff_BT+BD3.root");
173
lAna->SetTriggerEffData("BT+BD2", "eff_BT+BD2.root");
174
lAna->SetTriggerEffData("BT+BD1+FD2", "eff_BT+BD1+FD2.root");
175
*/
176
177
lAna->
doAllTargetsAnal
();
178
179
delete
lAna;
180
}
min
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition
P4_F32vec4.h:30
max
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition
P4_F32vec4.h:31
Bool_t
bool Bool_t
Double_t
double Double_t
Rtypes.h
R__ADD_INCLUDE_PATH
#define R__ADD_INCLUDE_PATH(PATH)
TCanvas.h
TFile.h
TH1F.h
TH2F.h
Form
char * Form(const char *fmt,...)
BmnLambdaAnalRun7
Definition
BmnLambdaAnalRun7.h:65
BmnLambdaAnalRun7::SetIsMc
void SetIsMc(Bool_t flag)
Definition
BmnLambdaAnalRun7.h:111
BmnLambdaAnalRun7::GetSignalYBinMap
map< Int_t, pair< Double_t, Double_t > > GetSignalYBinMap()
Definition
BmnLambdaAnalRun7.h:182
BmnLambdaAnalRun7::SetPathBins
void SetPathBins(vector< pair< Double_t, Double_t > > bins)
Definition
BmnLambdaAnalRun7.h:159
BmnLambdaAnalRun7::doAllTargetsAnal
void doAllTargetsAnal()
Definition
BmnLambdaAnalRun7.cxx:32
BmnLambdaAnalRun7::doTargetAnal
void doTargetAnal(TString target)
Definition
BmnLambdaAnalRun7.cxx:127
BmnLambdaAnalRun7::SetCuts
void SetCuts(TString target, Double_t DCA0, Double_t DCA1, Double_t DCA2, Double_t DCA12, Double_t PATH=-1, Int_t nHitsPos=2, Int_t nHitsNeg=2)
Definition
BmnLambdaAnalRun7.h:115
BmnLambdaAnalRun7::GetSignalPtBinMap
map< Int_t, pair< Double_t, Double_t > > GetSignalPtBinMap()
Definition
BmnLambdaAnalRun7.h:180
BmnLambdaAnalRun7::SetPtBins
void SetPtBins(vector< pair< Double_t, Double_t > > bins)
Definition
BmnLambdaAnalRun7.h:139
BmnLambdaAnalRun7::SetYBins
void SetYBins(vector< pair< Double_t, Double_t > > bins)
Definition
BmnLambdaAnalRun7.h:149
BmnMassSpectrumAnal::SetNFiles
void SetNFiles(Int_t n)
Definition
BmnMassSpectrumAnal.h:82
TString
lambdaAnalRun7
void lambdaAnalRun7(TString tar, TString dirMc, TString dirData)
Definition
lambdaAnalRun7.C:15
TMath
std
Definition
json.hpp:4446
install
macro
physics
decay
lambdaAnalRun7.C
Generated on
for BmnRoot by
1.17.0