BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnPtAnalysis.h
Go to the documentation of this file.
1
// BmnPtAnalysis: example analysis task - transverse momentum spectrum of primary global tracks
2
class
BmnPtAnalysis
:
public
FairTask
3
{
4
public
:
5
BmnPtAnalysis
()
6
:
FairTask
(
"BmnPtAnalysis"
)
7
{}
8
9
InitStatus
Init
()
override
10
{
11
// get the DST branches from the input of FairRunAna
12
FairRootManager* ioman = FairRootManager::Instance();
13
fGlobalTracks
= (
TClonesArray
*)ioman->GetObject(
"BmnGlobalTrack"
);
14
fInnerTracks
= (
TClonesArray
*)ioman->GetObject(
"StsVector"
);
15
fVertex
= (
CbmVertex
*)ioman->GetObject(
"MpdVertex."
);
16
if
(!
fGlobalTracks
|| !
fInnerTracks
|| !
fVertex
) {
17
LOG(error) <<
"BmnPtAnalysis::Init(): DST branches not found, the task is deactivated"
;
18
return
kERROR;
19
}
20
fHistPt
=
new
TH1D
(
"hPt"
,
"p_{T} of primary tracks;p_{T}, GeV/c;tracks"
, 100, 0., 3.);
21
return
kSUCCESS;
22
}
23
24
void
Exec
(
Option_t
*
/*option*/
)
override
25
{
26
if
(
fVertex
->GetNTracks() < 2)
27
return
;
28
for
(
Int_t
i
= 0;
i
<
fGlobalTracks
->GetEntriesFast();
i
++) {
29
BmnGlobalTrack
* track = (
BmnGlobalTrack
*)
fGlobalTracks
->UncheckedAt(
i
);
30
CbmStsTrack
* inner = (
CbmStsTrack
*)
fInnerTracks
->UncheckedAt(track->
GetGemTrackIndex
());
31
if
(!inner->
FromVertex
())
// keep the tracks used in the primary vertex fit
32
continue
;
33
fHistPt
->Fill(track->
GetPt
());
34
}
35
}
36
37
void
Finish
()
override
38
{
39
// write the results to the output file of run_ana_bmn.C
40
FairRootManager::Instance()->GetSink()->WriteObject(
fHistPt
,
"hPt"
);
41
}
42
43
private
:
44
TClonesArray
*
fGlobalTracks
=
nullptr
;
45
TClonesArray
*
fInnerTracks
=
nullptr
;
46
CbmVertex
*
fVertex
=
nullptr
;
47
TH1D
*
fHistPt
=
nullptr
;
48
49
ClassDefOverride
(
BmnPtAnalysis
, 1);
50
};
i
int i
Definition
P4_F32vec4.h:22
Int_t
int Int_t
Option_t
const char Option_t
ClassDefOverride
#define ClassDefOverride(name, id)
BmnGlobalTrack
BmnGlobalTrack.h.
Definition
BmnGlobalTrack.h:14
BmnGlobalTrack::GetPt
Float_t GetPt()
Definition
BmnGlobalTrack.cxx:126
BmnGlobalTrack::GetGemTrackIndex
Int_t GetGemTrackIndex() const
Accessors.
Definition
BmnGlobalTrack.h:34
BmnPtAnalysis
Definition
BmnPtAnalysis.h:3
BmnPtAnalysis::fHistPt
TH1D * fHistPt
Definition
BmnPtAnalysis.h:47
BmnPtAnalysis::BmnPtAnalysis
BmnPtAnalysis()
Definition
BmnPtAnalysis.h:5
BmnPtAnalysis::Exec
void Exec(Option_t *) override
Definition
BmnPtAnalysis.h:24
BmnPtAnalysis::Init
InitStatus Init() override
Definition
BmnPtAnalysis.h:9
BmnPtAnalysis::fVertex
CbmVertex * fVertex
Definition
BmnPtAnalysis.h:46
BmnPtAnalysis::Finish
void Finish() override
Definition
BmnPtAnalysis.h:37
BmnPtAnalysis::fGlobalTracks
TClonesArray * fGlobalTracks
Definition
BmnPtAnalysis.h:44
BmnPtAnalysis::fInnerTracks
TClonesArray * fInnerTracks
Definition
BmnPtAnalysis.h:45
CbmStsTrack
Definition
CbmStsTrack.h:28
CbmStsTrack::FromVertex
int FromVertex() const
Definition
CbmStsTrack.h:76
CbmVertex
CbmVertex.h.
Definition
CbmVertex.h:21
FairTask
TClonesArray
TH1D
services
format_docs
dst
BmnPtAnalysis.h
Generated on
for BmnRoot by
1.17.0