12 #ifndef PndTrackingQATaskTimebased_H 13 #define PndTrackingQATaskTimebased_H 43 virtual InitStatus
Init();
46 virtual void Exec(Option_t *opt);
55 fPndTrackOrTrackCand = pndTrackData;
56 fTrackBranchName = name;
75 fSecondaryDefinitionPCAXY = kTRUE;
83 const TString fHypoName[5] = {
"Electron",
"Muon",
"Pion",
"Kaon",
"Proton"};
93 virtual void FillQualyHisto(std::map<Int_t, Int_t> trackQualifikation, Int_t nGhosts, Int_t nClones);
94 virtual void FillQualyHistoTimeBased(std::map<FairLink, Int_t> trackQualifikation, Int_t nGhosts);
95 virtual void FillMCStatus(std::map<Int_t, Int_t> trackMCStatus);
96 virtual void FillMCStatusTimeBased(std::map<FairLink, Int_t> trackMCStatus);
97 virtual void FillEfficiencies(std::map<Int_t, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
98 virtual void FillEfficienciesTimeBased(std::map<FairLink, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
99 virtual void MapToHist(std::map<Int_t, Double_t>, TH1 *);
100 virtual void MapToHistTimeBased(std::map<FairLink, Double_t>, TH1 *);
102 virtual void SetQualyHisto(TH1 *histo, Bool_t relative, Int_t base = 1);
104 virtual Int_t GetSumOfAllValidMCHits(FairMultiLinkedData *trackData);
106 void AssociateRecoTracksToMCTracks();
109 Int_t GetMCInfoIdFromIdealTrackId(
int idealtrackid) {
return fMCInfoIdIdealId[idealtrackid]; }
111 void InitializeHistograms();
112 void LabelQualyHistogram(TH1 *);
113 void ColorHistogram();
114 std::vector<TString> fBranchNames;
115 TString fMCInfoBranchName, fRecoInfoBranchName;
117 std::map<TString, FairMultiLinkedData> fMapLinkData;
119 std::map<TString, TH2 *> fMapEfficiencies;
121 std::map<int, int> fMCInfoIdIdealId;
122 std::map<FairLink, int> fTimeBasedMCInfoIdIdealId;
126 Double_t clonesTimeBasedTotal;
127 Int_t fTotClonesTimeBased;
129 TClonesArray *fTrack;
130 TClonesArray *fMCTrack;
131 TClonesArray *fSttHitArray;
132 TClonesArray *fMCTrackInfo;
133 TClonesArray *fRecoTrackInfo;
134 TClonesArray *fIdealTrack;
135 TClonesArray *fSttTubeArray;
137 FairRootManager *ioman;
139 std::map<Int_t, Int_t> fMapTrackQualifikation;
141 TString fTrackBranchName;
142 TString fIdealTrackBranchName;
143 Bool_t fPndTrackOrTrackCand;
146 TString fPossibleTrackFunctorName;
150 std::map<FairLink, Int_t> fTimeBasedMapTrackMCStatusForCloneCalc;
155 TH1 *fIdealTracksPerEvent;
159 TH1 *fIdealPrimTracksPerEvent;
160 TH1 *fIdealSecTracksPerEvent;
168 THStack *fQualyStack;
170 TH1 *fQualyHisto_neg;
171 TH1 *fQualyHisto_pos;
172 TH1 *fQualyHisto_all;
173 TH1 *fQualyHisto_rel_all;
174 TH1 *fQualyHisto_rel_possible;
176 TH1 *fEventPurityHisto;
179 bool fSecondaryDefinitionPCAXY;
void SetIdealTrackBranchName(TString name)
void SetOutputMCInfoBranchName(TString name)
void SetTrackBranchName(TString name, Bool_t pndTrackData=kTRUE)
Sets the branch name of the track data which should be analyzed.
virtual ~PndTrackingQATaskTimebased()
void SetRunTimeBased(bool runTimeBased)
void AddHitsBranchName(TString name)
Adds branch names of detector data which should be taken into account in the analysis.
PndTrackingQATaskTimebased(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData=kTRUE)
void SetSecondaryDefinitionPCAXY(double dPCA)
virtual void Exec(Option_t *opt)
virtual void SetParContainers()
void SetOutputRecoInfoBranchName(TString name)
virtual InitStatus Init()
void SetFunctorName(TString name)