FairRoot/PandaRoot
PndTrackingQualityBarrelTaskNewLinks.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PNDMCMATCHSELECTORTASK header file -----
3 // ----- Created 18/01/10 by T.Stockmanns -----
4 // -------------------------------------------------------------------------
5 
6 
14 #ifndef PndTrackingQualityBarrelTaskNewLinks_H
15 #define PndTrackingQualityBarrelTaskNewLinks_H
16 
17 
18 // framework includes
19 #include "FairTask.h"
20 #include "PndDetectorList.h"
21 #include "PndTrackCand.h"
23 #include "PndGeoSttPar.h"
24 #include "TH2.h"
25 #include "THStack.h"
26 #include "RhoHistogram/RhoTuple.h"
27 
28 
29 #include <vector>
30 #include <map>
31 
32 class TClonesArray;
33 class PndTrack;
34 
35 class PndTrackingQualityBarrelTaskNewLinks : public FairTask
36 {
37  public:
38 
40  PndTrackingQualityBarrelTaskNewLinks(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData = kTRUE);
41 
44 
45 
47  virtual void SetParContainers();
48  virtual InitStatus Init();
49 
50 
51 
53  virtual void Exec(Option_t* opt);
54 
55  virtual void Finish();
56 
58 
60  void SetTrackBranchName(TString name, Bool_t pndTrackData = kTRUE) {fPndTrackOrTrackCand = pndTrackData; fTrackBranchName = name;} //alternatively PndTrackCandData can be analysed. Therefore pndTrackData has to be set to kFALSE
61 
63  void AddHitsBranchName(TString name){ fBranchNames.push_back(name);}
64 
67 
68  private:
69 //
70 // virtual void FillMapTrackQualifikation();
71 
72 
82  virtual void FillQualyHisto(std::map<Int_t, Int_t> trackQualifikation, Int_t nGhosts);
83  virtual void FillMCStatus(std::map<Int_t, Int_t> trackMCStatus);
84  virtual void FillEfficiencies(std::map<Int_t, std::map<TString, std::pair<Double_t, Int_t > > > efficiencies);
85  virtual void MapToHist(std::map<Int_t, Double_t>, TH1*);
86 
87  virtual Int_t GetSumOfAllValidMCHits(FairMultiLinkedData* trackData);
88 
89 
91 
92 
94  Int_t GetMCInfoIdFromIdealTrackId(int idealtrackid) { return fMCInfoIdIdealId[idealtrackid]; }
95 
96  void InitializeHistograms();
97  void LabelQualyHistogram(TH1 *);
98  void ColorHistogram();
99  std::vector<TString> fBranchNames;
101 
102  std::map<TString, FairMultiLinkedData> fMapLinkData;
103 // std::map<TString, Double_t> fPossibleTrackParameter;
104  std::map<TString, TH2*> fMapEfficiencies;
105 
106  std::map< int, int > fMCInfoIdIdealId;
107 
108  Int_t fNGhosts;
109 
110  TClonesArray* fTrack;
111  TClonesArray* fMCTrack;
112  TClonesArray* fTrackCand;
113  // TClonesArray* fIdealTrackCand;
114  TClonesArray *fSttHitArray;
115  TClonesArray* fMCTrackInfo;
116  TClonesArray* fRecoTrackInfo;
117  TClonesArray* fIdealTrack;
118  TClonesArray* fSttTubeArray;
119 
120  FairRootManager* ioman;
121 
122  std::map<Int_t, Int_t> fMapTrackQualifikation;
123 
126  Bool_t fPndTrackOrTrackCand; //kTRUE if track and kFALSE if track cand
128 
130 
131  TH1* fPHisto;
133  TH1* fPtHisto;
136  THStack * fQualyStack;
141 
142  Int_t fEventNr;
143 
144  void Register();
145 
146  void Reset();
147 
148 
150 
151 };
152 
153 #endif
PndTransMap * map
Definition: sim_emc_apd.C:99
TString name