24 #ifndef PndTrackingQATaskTimebased_H 25 #define PndTrackingQATaskTimebased_H 55 virtual InitStatus
Init();
58 virtual void Exec(Option_t *opt);
67 fPndTrackOrTrackCand = pndTrackData;
68 fTrackBranchName = name;
87 fSecondaryDefinitionPCAXY = kTRUE;
95 const TString fHypoName[5] = {
"Electron",
"Muon",
"Pion",
"Kaon",
"Proton"};
105 virtual void FillQualyHisto(std::map<Int_t, Int_t> trackQualifikation, Int_t nGhosts, Int_t nClones);
106 virtual void FillQualyHistoTimeBased(std::map<FairLink, Int_t> trackQualifikation, Int_t nGhosts);
107 virtual void FillMCStatus(std::map<Int_t, Int_t> trackMCStatus);
108 virtual void FillMCStatusTimeBased(std::map<FairLink, Int_t> trackMCStatus);
109 virtual void FillEfficiencies(std::map<Int_t, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
110 virtual void FillEfficienciesTimeBased(std::map<FairLink, std::map<TString, std::pair<Double_t, Int_t>>> efficiencies);
111 virtual void MapToHist(std::map<Int_t, Double_t>, TH1 *);
112 virtual void MapToHistTimeBased(std::map<FairLink, Double_t>, TH1 *);
114 virtual void SetQualyHisto(TH1 *histo, Bool_t relative, Int_t base = 1);
116 virtual Int_t GetSumOfAllValidMCHits(FairMultiLinkedData *trackData);
118 void AssociateRecoTracksToMCTracks();
121 Int_t GetMCInfoIdFromIdealTrackId(
int idealtrackid) {
return fMCInfoIdIdealId[idealtrackid]; }
123 void InitializeHistograms();
124 void LabelQualyHistogram(TH1 *);
125 void ColorHistogram();
126 std::vector<TString> fBranchNames;
127 TString fMCInfoBranchName, fRecoInfoBranchName;
129 std::map<TString, FairMultiLinkedData> fMapLinkData;
131 std::map<TString, TH2 *> fMapEfficiencies;
133 std::map<int, int> fMCInfoIdIdealId;
134 std::map<FairLink, int> fTimeBasedMCInfoIdIdealId;
138 Double_t clonesTimeBasedTotal;
139 Int_t fTotClonesTimeBased;
141 TClonesArray *fTrack;
142 TClonesArray *fMCTrack;
143 TClonesArray *fSttHitArray;
144 TClonesArray *fMCTrackInfo;
145 TClonesArray *fRecoTrackInfo;
146 TClonesArray *fIdealTrack;
147 TClonesArray *fSttTubeArray;
149 FairRootManager *ioman;
151 std::map<Int_t, Int_t> fMapTrackQualifikation;
153 TString fTrackBranchName;
154 TString fIdealTrackBranchName;
155 Bool_t fPndTrackOrTrackCand;
158 TString fPossibleTrackFunctorName;
162 std::map<FairLink, Int_t> fTimeBasedMapTrackMCStatusForCloneCalc;
167 TH1 *fIdealTracksPerEvent;
171 TH1 *fIdealPrimTracksPerEvent;
172 TH1 *fIdealSecTracksPerEvent;
180 THStack *fQualyStack;
182 TH1 *fQualyHisto_neg;
183 TH1 *fQualyHisto_pos;
184 TH1 *fQualyHisto_all;
185 TH1 *fQualyHisto_rel_all;
186 TH1 *fQualyHisto_rel_possible;
188 TH1 *fEventPurityHisto;
191 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)