13#include "TDatabasePDG.h"
14#include "TParticlePDG.h"
15#include <unordered_map>
17#include "BmnGlobalTrack.h"
29using std::unordered_map;
42 BmnPidQa(TString name, TString storageName =
"canvStorage");
57 virtual void Exec(Option_t* opt);
92 void ReadDataBranches();
104 const string& xTitle,
105 const string& yTitle,
106 const string& zTitle,
114 void CreateTrackHitsHistogram(
const string& detName);
116 void ReadEventHeader();
119 void CreateHistograms();
120 void ProcessGlobal();
123 TString fStorageName;
138 Double_t fBetaRangeMin;
139 Double_t fBetaRangeMax;
140 Int_t fBetaRangeBins;
143 Double_t fVelocRangeMin;
144 Double_t fVelocRangeMax;
145 Int_t fVelocRangeBins;
147 Double_t fTimeRangeMin;
148 Double_t fTimeRangeMax;
149 Int_t fTimeRangeBins;
151 Double_t fMassRangeMin;
152 Double_t fMassRangeMax;
153 Int_t fMassRangeBins;
155 Double_t fNHitsRangeMin;
156 Double_t fNHitsRangeMax;
157 Int_t fNHitsRangeBins;
159 TDatabasePDG* db =
nullptr;
161 vector<TParticlePDG*> fParticles;
163 unordered_map<Double_t, string> fMassTable;
165 string GetParticleName(Double_t mass);
167 void MassTablePrint();
173 unordered_map<string, vector<Int_t> > fPidStatistics400, fPidStatistics700;
174 void PidStatisticsPrint400();
175 void PidStatisticsPrint700();
178 TClonesArray* fMCTracks;
179 TClonesArray* fGlobalTracks;
180 TClonesArray* fGlobalTrackMatches;
181 TClonesArray* fTof400Hits;
182 TClonesArray* fTof700Hits;
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
void SetPRange(Int_t bins, Int_t min, Int_t max)
virtual InitStatus Init()
Derived from FairTask.
void SetOutputDir(const std::string &dir)
virtual void Finish()
Derived from FairTask.
BmnPidQa(TString name, TString storageName="canvStorage")
Constructor.
Bool_t GetOnlyPrimes() const
virtual ~BmnPidQa()
Destructor.
TParticlePDG * GetParticleExtend(Int_t pdgCode)
void SetOnlyPrimes(const Bool_t prime)
virtual void Exec(Option_t *opt)
Derived from FairTask.