BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnLambdaEmbeddingQa.h
Go to the documentation of this file.
1
#ifndef BMNEMBQA_H
2
#define BMNEMBQA_H 1
3
4
#include "
BmnLambdaEmbeddingDrawHistos.h
"
5
6
#include <
BmnEventHeader.h
>
7
#include <
BmnGemStripHit.h
>
8
#include <
BmnGemStripStationSet.h
>
9
#include <
BmnGlobalTrack.h
>
10
#include <
BmnInnerTrackerGeometryDraw.h
>
11
#include <
BmnKalmanFilter.h
>
12
#include <
BmnLambdaEmbeddingMonitor.h
>
13
#include <
BmnLambdaMisc.h
>
14
#include <
BmnNewFieldMap.h
>
15
#include <
BmnSiliconHit.h
>
16
#include <
BmnSiliconStationSet.h
>
17
#include <
BmnStripDigit.h
>
18
#include <
CbmMCTrack.h
>
19
#include <
CbmStsPoint.h
>
20
#include <
DstEventHeader.h
>
21
#include <FairMCPoint.h>
22
#include <FairRunAna.h>
23
#include <FairTrackParam.h>
24
#include <
TBox.h
>
25
#include <
TCanvas.h
>
26
#include <
TChain.h
>
27
#include <
TClonesArray.h
>
28
#include <
TColor.h
>
29
#include <
TGeoManager.h
>
30
#include <
TH2.h
>
31
#include <
TLegend.h
>
32
#include <
TMarker.h
>
33
#include <
TNamed.h
>
34
#include <
TPolyLine.h
>
35
#include <
TProfile.h
>
36
#include <
TProfile2D.h
>
37
#include <
TString.h
>
38
#include <
TStyle.h
>
39
#include <
TSystem.h
>
40
#include <
UniRun.h
>
41
#include <fstream>
42
#include <iostream>
43
44
using namespace
std;
45
46
enum
detector
47
{
48
GEM
,
49
SILICON
50
};
51
52
class
BmnLambdaEmbeddingQa
:
public
TNamed
53
{
54
public
:
55
BmnLambdaEmbeddingQa
();
56
BmnLambdaEmbeddingQa
(
TString
);
57
58
virtual
~BmnLambdaEmbeddingQa
();
59
60
// Types of analysis available ...
61
void
DoDigiAnalysis
();
62
void
DoEffAnalysis
();
63
64
void
DoDrawEventsWithEmbeddedSignals
();
// Draw events with embedded hits from Lambda decay products
65
// void DoInnerTrackerEmbeddingEfficiency(); // Calculate efficiency of embedding
66
void
DoInnerTrackerRecoEfficiency
();
// Calculate some params. showing hit reconstruction and tracking efficiency
67
68
void
DoDrawFoundTracks
(
Bool_t
flag) {
drawFoundTracks
= flag; }
69
70
// Setting prefix name if needed ...
71
void
SetPrefixName
(
TString
name) {
fPrefix
= name; }
72
73
void
ShowLays
(
Int_t
lay1,
Int_t
lay2)
74
{
75
aLaysToShow
[0] = lay1;
76
aLaysToShow
[1] = lay2;
77
}
78
79
void
SetSignalCuts
(
TString
det,
Double_t
min
,
Double_t
max
)
80
{
81
Int_t
idx = det.
Contains
(
"GEM"
) ?
GEM
: det.
Contains
(
"SILICON"
) ?
SILICON
: -1;
82
fSignalWindow
[idx][0] =
min
;
83
fSignalWindow
[idx][1] =
max
;
84
}
85
86
void
DrawHistos6
(
87
TClonesArray
*,
88
TClonesArray
*);
// Function to draw histos from BmnLambdaMisc::CheckStripOverlaps(), temporarily solution
89
90
private
:
91
Int_t
nInputs
;
92
93
FairRunAna*
fRunAna
;
94
95
// Geometries
96
BmnInnerTrackerGeometryDraw
*
geoms
;
97
98
// Files
99
TString
*
fDigi
;
100
TString
*
fDst
;
101
TString
*
fEmb
;
102
TString
*
fPath
;
103
104
// Pointers to be addressed to corresponding objects if an analysis we do uses them
105
BmnFieldMap
*
fMagField
;
106
BmnLambdaEmbeddingMonitor
*
fMon
;
107
DstEventHeader
*
hDst
;
108
BmnEventHeader
*
hDigi
;
109
TClonesArray
*
fGemDigits
;
110
TClonesArray
*
fSiliconDigits
;
111
TClonesArray
*
fGemHits
;
112
TClonesArray
*
fSiliconHits
;
113
TClonesArray
*
fSiliconTracks
;
114
TClonesArray
*
fGlobTracks
;
115
TClonesArray
*
fMcTracks
;
116
TClonesArray
*
fSiliconPoints
;
117
TClonesArray
*
fGemPoints
;
118
119
// Containers to be used for analysis
120
map<Int_t, Double_t>
fSilGemZ
;
// <stat, Z-position map>
121
// Maps to store <stat, (xy)-coordinates> for GEM and SILICON (MC--> 0, RECO --> 1)
122
map<Int_t, vector<pair<Double_t, Double_t>>>
gems
[2];
123
map<Int_t, vector<pair<Double_t, Double_t>>>
silicons
[2];
124
125
// Histos to be shown
126
TH2F
*
hXzMC
;
127
TH2F
*
hXzReco
;
128
TH2F
*
hYzMC
;
129
TH2F
*
hYzReco
;
130
TH2F
**
hGemXYProfiles
;
131
TH2F
**
hSiliconXYProfiles
;
132
TH2F
*
hXzRecoFromTracks
;
133
134
TH1F
*
hProtonMomentaEmb
;
135
TH1F
*
hPionMomentaEmb
;
136
137
TH1F
*
hProtonMomentaReco
;
138
TH1F
*
hPionMomentaReco
;
139
140
TH1F
*
hProtonNhitsEmb
;
141
TH1F
*
hPionNhitsEmb
;
142
143
TH1F
*
hProtonNhitsReco
;
144
TH1F
*
hPionNhitsReco
;
145
146
TH1F
*
hProtonNhitsRecoAll
;
147
TH1F
*
hPionNhitsRecoAll
;
148
149
TProfile
*
pEffProton
;
150
TProfile
*
pEffPion
;
151
152
Int_t
aLaysToShow
[2];
// array of strips lays to be shown in histos
153
154
TH2F
****
155
hStripChannel
;
// Strip vs. Chan for main part of big zone and common ADC [main, common][stat][Right or Left]
156
157
Double_t
fSignalWindow
[2][2];
// two detectors, two limits
158
159
// Options to be reset by user if necessary
160
Bool_t
drawFoundTracks
;
161
162
private
:
163
Bool_t
wasReconstructed
(
BmnGlobalTrack
*,
Double_t
fracLostOrWrongConnectedHits,
Double_t
momResCut);
164
Bool_t
wasReconstructed
(
BmnGlobalTrack
*,
Double_t
momResCut);
165
166
// Int_t DefineSiliconStatByZpoint(Double_t);
167
// Int_t DefineSiliconModuleByStatAndXY(TBox***, Int_t, Double_t, Double_t);
168
void
DrawFoundTracks
();
169
170
// Int_t GetStripBoundValues(TString, Int_t&, Int_t&);
171
172
// Additional prefix, if necessary, in output file names...
173
TString
fPrefix
;
174
175
void
DrawHistos1
();
// Histos taken from DoDrawEventsWithEmbeddedSignals-analysis
176
// void DrawHistos3(); // Histos taken from DoInnerTrackerRecoEfficiency-analysis
177
178
BmnLambdaEmbeddingDrawHistos
*
histoMan
;
179
180
ClassDef
(
BmnLambdaEmbeddingQa
, 1)
181
};
182
183
#endif
BmnEventHeader.h
BmnGemStripHit.h
BmnGemStripStationSet.h
BmnGlobalTrack.h
BmnInnerTrackerGeometryDraw.h
BmnKalmanFilter.h
BmnLambdaEmbeddingDrawHistos.h
BmnLambdaEmbeddingMonitor.h
detector
detector
Definition
BmnLambdaEmbeddingQa.h:47
GEM
@ GEM
Definition
BmnLambdaEmbeddingQa.h:48
SILICON
@ SILICON
Definition
BmnLambdaEmbeddingQa.h:49
BmnLambdaMisc.h
BmnNewFieldMap.h
BmnSiliconHit.h
BmnSiliconStationSet.h
BmnStripDigit.h
CbmMCTrack.h
CbmStsPoint.h
DstEventHeader.h
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
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
TBox.h
TCanvas.h
TChain.h
TClonesArray.h
TColor.h
TGeoManager.h
TH2.h
TLegend.h
TMarker.h
TNamed.h
TPolyLine.h
TProfile2D.h
TProfile.h
TString.h
TStyle.h
TSystem.h
UniRun.h
BmnEventHeader
Definition
BmnEventHeader.h:24
BmnFieldMap
Definition
BmnFieldMap.h:22
BmnGlobalTrack
BmnGlobalTrack.h.
Definition
BmnGlobalTrack.h:14
BmnInnerTrackerGeometryDraw
Definition
BmnInnerTrackerGeometryDraw.h:23
BmnLambdaEmbeddingDrawHistos
Definition
BmnLambdaEmbeddingDrawHistos.h:86
BmnLambdaEmbeddingMonitor
Definition
BmnLambdaEmbeddingMonitor.h:8
BmnLambdaEmbeddingQa::hProtonNhitsReco
TH1F * hProtonNhitsReco
Definition
BmnLambdaEmbeddingQa.h:143
BmnLambdaEmbeddingQa::ShowLays
void ShowLays(Int_t lay1, Int_t lay2)
Definition
BmnLambdaEmbeddingQa.h:73
BmnLambdaEmbeddingQa::hStripChannel
TH2F **** hStripChannel
Definition
BmnLambdaEmbeddingQa.h:155
BmnLambdaEmbeddingQa::fSiliconHits
TClonesArray * fSiliconHits
Definition
BmnLambdaEmbeddingQa.h:112
BmnLambdaEmbeddingQa::hDigi
BmnEventHeader * hDigi
Definition
BmnLambdaEmbeddingQa.h:108
BmnLambdaEmbeddingQa::fDigi
TString * fDigi
Definition
BmnLambdaEmbeddingQa.h:99
BmnLambdaEmbeddingQa::fPath
TString * fPath
Definition
BmnLambdaEmbeddingQa.h:102
BmnLambdaEmbeddingQa::DrawFoundTracks
void DrawFoundTracks()
Definition
BmnLambdaEmbeddingQa.cxx:1111
BmnLambdaEmbeddingQa::wasReconstructed
Bool_t wasReconstructed(BmnGlobalTrack *, Double_t fracLostOrWrongConnectedHits, Double_t momResCut)
Definition
BmnLambdaEmbeddingQa.cxx:501
BmnLambdaEmbeddingQa::histoMan
BmnLambdaEmbeddingDrawHistos * histoMan
Definition
BmnLambdaEmbeddingQa.h:178
BmnLambdaEmbeddingQa::~BmnLambdaEmbeddingQa
virtual ~BmnLambdaEmbeddingQa()
Definition
BmnLambdaEmbeddingQa.cxx:1059
BmnLambdaEmbeddingQa::DoDrawFoundTracks
void DoDrawFoundTracks(Bool_t flag)
Definition
BmnLambdaEmbeddingQa.h:68
BmnLambdaEmbeddingQa::hYzMC
TH2F * hYzMC
Definition
BmnLambdaEmbeddingQa.h:128
BmnLambdaEmbeddingQa::fPrefix
TString fPrefix
Definition
BmnLambdaEmbeddingQa.h:173
BmnLambdaEmbeddingQa::hXzMC
TH2F * hXzMC
Definition
BmnLambdaEmbeddingQa.h:126
BmnLambdaEmbeddingQa::DoInnerTrackerRecoEfficiency
void DoInnerTrackerRecoEfficiency()
Definition
BmnLambdaEmbeddingQa.cxx:651
BmnLambdaEmbeddingQa::fSiliconTracks
TClonesArray * fSiliconTracks
Definition
BmnLambdaEmbeddingQa.h:113
BmnLambdaEmbeddingQa::pEffPion
TProfile * pEffPion
Definition
BmnLambdaEmbeddingQa.h:150
BmnLambdaEmbeddingQa::aLaysToShow
Int_t aLaysToShow[2]
Definition
BmnLambdaEmbeddingQa.h:152
BmnLambdaEmbeddingQa::geoms
BmnInnerTrackerGeometryDraw * geoms
Definition
BmnLambdaEmbeddingQa.h:96
BmnLambdaEmbeddingQa::fGemPoints
TClonesArray * fGemPoints
Definition
BmnLambdaEmbeddingQa.h:117
BmnLambdaEmbeddingQa::hProtonMomentaEmb
TH1F * hProtonMomentaEmb
Definition
BmnLambdaEmbeddingQa.h:134
BmnLambdaEmbeddingQa::hPionMomentaReco
TH1F * hPionMomentaReco
Definition
BmnLambdaEmbeddingQa.h:138
BmnLambdaEmbeddingQa::drawFoundTracks
Bool_t drawFoundTracks
Definition
BmnLambdaEmbeddingQa.h:160
BmnLambdaEmbeddingQa::hSiliconXYProfiles
TH2F ** hSiliconXYProfiles
Definition
BmnLambdaEmbeddingQa.h:131
BmnLambdaEmbeddingQa::fMcTracks
TClonesArray * fMcTracks
Definition
BmnLambdaEmbeddingQa.h:115
BmnLambdaEmbeddingQa::pEffProton
TProfile * pEffProton
Definition
BmnLambdaEmbeddingQa.h:149
BmnLambdaEmbeddingQa::hGemXYProfiles
TH2F ** hGemXYProfiles
Definition
BmnLambdaEmbeddingQa.h:130
BmnLambdaEmbeddingQa::hPionNhitsReco
TH1F * hPionNhitsReco
Definition
BmnLambdaEmbeddingQa.h:144
BmnLambdaEmbeddingQa::fEmb
TString * fEmb
Definition
BmnLambdaEmbeddingQa.h:101
BmnLambdaEmbeddingQa::DoEffAnalysis
void DoEffAnalysis()
Definition
BmnLambdaEmbeddingQa.cxx:146
BmnLambdaEmbeddingQa::fGemHits
TClonesArray * fGemHits
Definition
BmnLambdaEmbeddingQa.h:111
BmnLambdaEmbeddingQa::hPionMomentaEmb
TH1F * hPionMomentaEmb
Definition
BmnLambdaEmbeddingQa.h:135
BmnLambdaEmbeddingQa::fSiliconPoints
TClonesArray * fSiliconPoints
Definition
BmnLambdaEmbeddingQa.h:116
BmnLambdaEmbeddingQa::SetPrefixName
void SetPrefixName(TString name)
Definition
BmnLambdaEmbeddingQa.h:71
BmnLambdaEmbeddingQa::hDst
DstEventHeader * hDst
Definition
BmnLambdaEmbeddingQa.h:107
BmnLambdaEmbeddingQa::hPionNhitsRecoAll
TH1F * hPionNhitsRecoAll
Definition
BmnLambdaEmbeddingQa.h:147
BmnLambdaEmbeddingQa::nInputs
Int_t nInputs
Definition
BmnLambdaEmbeddingQa.h:91
BmnLambdaEmbeddingQa::hXzReco
TH2F * hXzReco
Definition
BmnLambdaEmbeddingQa.h:127
BmnLambdaEmbeddingQa::hProtonNhitsRecoAll
TH1F * hProtonNhitsRecoAll
Definition
BmnLambdaEmbeddingQa.h:146
BmnLambdaEmbeddingQa::fRunAna
FairRunAna * fRunAna
Definition
BmnLambdaEmbeddingQa.h:93
BmnLambdaEmbeddingQa::fMon
BmnLambdaEmbeddingMonitor * fMon
Definition
BmnLambdaEmbeddingQa.h:106
BmnLambdaEmbeddingQa::fGlobTracks
TClonesArray * fGlobTracks
Definition
BmnLambdaEmbeddingQa.h:114
BmnLambdaEmbeddingQa::DrawHistos6
void DrawHistos6(TClonesArray *, TClonesArray *)
Definition
BmnLambdaEmbeddingQa.cxx:1312
BmnLambdaEmbeddingQa::fSilGemZ
map< Int_t, Double_t > fSilGemZ
Definition
BmnLambdaEmbeddingQa.h:120
BmnLambdaEmbeddingQa::DoDrawEventsWithEmbeddedSignals
void DoDrawEventsWithEmbeddedSignals()
Definition
BmnLambdaEmbeddingQa.cxx:837
BmnLambdaEmbeddingQa::SetSignalCuts
void SetSignalCuts(TString det, Double_t min, Double_t max)
Definition
BmnLambdaEmbeddingQa.h:79
BmnLambdaEmbeddingQa::fSiliconDigits
TClonesArray * fSiliconDigits
Definition
BmnLambdaEmbeddingQa.h:110
BmnLambdaEmbeddingQa::fSignalWindow
Double_t fSignalWindow[2][2]
Definition
BmnLambdaEmbeddingQa.h:157
BmnLambdaEmbeddingQa::hYzReco
TH2F * hYzReco
Definition
BmnLambdaEmbeddingQa.h:129
BmnLambdaEmbeddingQa::gems
map< Int_t, vector< pair< Double_t, Double_t > > > gems[2]
Definition
BmnLambdaEmbeddingQa.h:122
BmnLambdaEmbeddingQa::BmnLambdaEmbeddingQa
BmnLambdaEmbeddingQa()
Definition
BmnLambdaEmbeddingQa.cxx:7
BmnLambdaEmbeddingQa::fMagField
BmnFieldMap * fMagField
Definition
BmnLambdaEmbeddingQa.h:105
BmnLambdaEmbeddingQa::hXzRecoFromTracks
TH2F * hXzRecoFromTracks
Definition
BmnLambdaEmbeddingQa.h:132
BmnLambdaEmbeddingQa::hProtonMomentaReco
TH1F * hProtonMomentaReco
Definition
BmnLambdaEmbeddingQa.h:137
BmnLambdaEmbeddingQa::fDst
TString * fDst
Definition
BmnLambdaEmbeddingQa.h:100
BmnLambdaEmbeddingQa::fGemDigits
TClonesArray * fGemDigits
Definition
BmnLambdaEmbeddingQa.h:109
BmnLambdaEmbeddingQa::hProtonNhitsEmb
TH1F * hProtonNhitsEmb
Definition
BmnLambdaEmbeddingQa.h:140
BmnLambdaEmbeddingQa::DrawHistos1
void DrawHistos1()
Definition
BmnLambdaEmbeddingQa.cxx:1181
BmnLambdaEmbeddingQa::hPionNhitsEmb
TH1F * hPionNhitsEmb
Definition
BmnLambdaEmbeddingQa.h:141
BmnLambdaEmbeddingQa::silicons
map< Int_t, vector< pair< Double_t, Double_t > > > silicons[2]
Definition
BmnLambdaEmbeddingQa.h:123
BmnLambdaEmbeddingQa::DoDigiAnalysis
void DoDigiAnalysis()
Definition
BmnLambdaEmbeddingQa.cxx:539
DstEventHeader
Definition
DstEventHeader.h:10
TClonesArray
TH1F
TH2F
TNamed::TNamed
TNamed()
TObject::TClonesArray
friend friend class TClonesArray
TProfile
TString
TString::Contains
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
physics
embedding
BmnLambdaEmbeddingQa.h
Generated on
for BmnRoot by
1.17.0