12 #ifndef PndTrackingQATask_H 13 #define PndTrackingQATask_H 36 PndTrackingQATask(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData = kTRUE);
43 virtual InitStatus
Init();
46 virtual void Exec(Option_t *opt);
55 fPndTrackOrTrackCand = pndTrackData;
56 fTrackBranchName = name;
74 const TString fHypoName[5] = {
"Electron",
"Muon",
"Pion",
"Kaon",
"Proton"};
84 virtual void FillQualyHisto(std::map<Int_t, Int_t> trackQualifikation, Int_t nGhosts, Int_t nClones);
85 virtual void FillQualyHistoTimeBased(std::map<FairLink, Int_t> trackQualifikation, Int_t nGhosts);
86 virtual void FillMCStatus(std::map<Int_t, Int_t> trackMCStatus);
87 virtual void FillMCStatusTimeBased(std::map<FairLink, Int_t> trackMCStatus);
88 virtual void FillEfficiencies(std::map<Int_t, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
89 virtual void FillEfficienciesTimeBased(std::map<FairLink, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
90 virtual void MapToHist(std::map<Int_t, Double_t>, TH1 *);
91 virtual void MapToHistTimeBased(std::map<FairLink, Double_t>, TH1 *);
93 virtual void SetQualyHisto(TH1 *histo, Bool_t relative, Int_t base = 1);
95 virtual Int_t GetSumOfAllValidMCHits(FairMultiLinkedData *trackData);
97 void AssociateRecoTracksToMCTracks();
100 Int_t GetMCInfoIdFromIdealTrackId(
int idealtrackid) {
return fMCInfoIdIdealId[idealtrackid]; }
102 void InitializeHistograms();
103 void LabelQualyHistogram(TH1 *);
104 void ColorHistogram();
105 std::vector<TString> fBranchNames;
106 TString fMCInfoBranchName, fRecoInfoBranchName;
108 std::map<TString, FairMultiLinkedData> fMapLinkData;
110 std::map<TString, TH2 *> fMapEfficiencies;
112 std::map<int, int> fMCInfoIdIdealId;
113 std::map<FairLink, int> fTimeBasedMCInfoIdIdealId;
117 Double_t clonesTimeBasedTotal;
118 Int_t fTotClonesTimeBased;
120 TClonesArray *fTrack;
121 TClonesArray *fMCTrack;
122 TClonesArray *fSttHitArray;
123 TClonesArray *fMCTrackInfo;
124 TClonesArray *fRecoTrackInfo;
125 TClonesArray *fIdealTrack;
126 TClonesArray *fSttTubeArray;
128 FairRootManager *ioman;
130 std::map<Int_t, Int_t> fMapTrackQualifikation;
132 TString fTrackBranchName;
133 TString fIdealTrackBranchName;
134 Bool_t fPndTrackOrTrackCand;
137 TString fPossibleTrackFunctorName;
141 std::map<FairLink, Int_t> fTimeBasedMapTrackMCStatusForCloneCalc;
146 TH1 *fIdealTracksPerEvent;
150 TH1 *fIdealPrimTracksPerEvent;
151 TH1 *fIdealSecTracksPerEvent;
159 THStack *fQualyStack;
161 TH1 *fQualyHisto_neg;
162 TH1 *fQualyHisto_pos;
163 TH1 *fQualyHisto_all;
164 TH1 *fQualyHisto_rel_all;
165 TH1 *fQualyHisto_rel_possible;
167 TH1 *fEventPurityHisto;
void SetTrackBranchName(TString name, Bool_t pndTrackData=kTRUE)
Sets the branch name of the track data which should be analyzed.
virtual void Exec(Option_t *opt)
void SetOutputRecoInfoBranchName(TString name)
PndTrackingQATask(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData=kTRUE)
virtual ~PndTrackingQATask()
void SetIdealTrackBranchName(TString name)
void SetFunctorName(TString name)
void SetRunTimeBased(bool runTimeBased)
virtual InitStatus Init()
void SetOutputMCInfoBranchName(TString name)
void AddHitsBranchName(TString name)
Adds branch names of detector data which should be taken into account in the analysis.
virtual void SetParContainers()