BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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
2class BmnPtAnalysis : public FairTask
3{
4 public:
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:
46 CbmVertex* fVertex = nullptr;
47 TH1D* fHistPt = nullptr;
48
50};
int i
Definition P4_F32vec4.h:22
int Int_t
const char Option_t
#define ClassDefOverride(name, id)
BmnGlobalTrack.h.
Int_t GetGemTrackIndex() const
Accessors.
void Exec(Option_t *) override
InitStatus Init() override
CbmVertex * fVertex
void Finish() override
TClonesArray * fGlobalTracks
TClonesArray * fInnerTracks
int FromVertex() const
Definition CbmStsTrack.h:76
CbmVertex.h.
Definition CbmVertex.h:21