PandaRoot
PndCATracking.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 //-----------------------------------------------------------
3 //*******************************************************************************
4 // List of most recent changes: *
5 // 29-05-17 Correction of booking and saving of histograms (Irina Rostovtseva) *
6 // *
7 //*******************************************************************************
8 
9 #ifndef PndCATracking_HH
10 #define PndCATracking_HH
11 
12 #include "PndPersistencyTask.h"
13 
14 #include "TString.h"
15 #include "PndCAGBHit.h"
16 
17 #include <vector>
18 #include <fstream>
19 #include <map>
20 
21 using std::map;
22 
23 class TClonesArray;
24 class PndCATrackParam;
25 class FairTrackParP;
26 class PndGeoHandling;
27 class PndCAPerformance;
28 
30  public:
31  // Constructors/Destructors ---------
32  PndCATracking(const char *name = "TrackingCA", Int_t iVerbose = 0);
34 
36  static PndCAPerformance &Instance();
37 
38  void SetMvdPixelHitsBranchName(const TString &name) { fMvdPixelHitsBranchName = name; }
39  void SetMvdStripHitsBranchName(const TString &name) { fMvdStripHitsBranchName = name; }
40  void SetSttHitsBranchName(const TString &name) { fSttHitsBranchName = name; }
41 
42  virtual InitStatus Init();
43  void SetParContainers();
44  virtual void Exec(Option_t *opt);
45  virtual void Finish();
46 
47  private:
48  TString fMvdPixelHitsBranchName;
49  TString fMvdStripHitsBranchName;
50  TString fMvdPixelClusterBranchName;
51  TString fMvdStripClusterBranchName;
52  TString fMvdPixelDigiBranchName;
53  TString fMvdStripDigiBranchName;
54  TString fSttHitsBranchName;
55 
56  TString fMvdPointsBranchName;
57  TString fSttPointsBranchName;
58  TString fMCTracksBranchName;
59 
60  // hits
61  TClonesArray *fMvdPixelHitsArray;
62  TClonesArray *fMvdStripHitsArray;
63  TClonesArray *fMvdPixelClusterArray;
64  TClonesArray *fMvdStripClusterArray;
65  TClonesArray *fMvdPixelDigiArray;
66  TClonesArray *fMvdStripDigiArray;
67  TClonesArray *fSttHitsArray;
68 
69  TClonesArray *fMvdPointsArray; // MVD MC points
70  TClonesArray *fSttPointsArray; // STT MC points
71  TClonesArray *fMCTrackArray;
72 
73  // STT Map
74  TClonesArray *fTubeArray;
75  // for MVD geometry extraction
76  PndGeoHandling *fGeoH;
77 
79  TClonesArray *fSttMvdPndTrackArray;
80 
81 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
82  PndCAPerformance *perf;
83 #endif
84 
85  bool fDoPerformance;
86  void WriteMVDHits(std::vector<PndCAGBHit> &vHits, std::fstream &outH, std::fstream &outHL, std::fstream &outMCT, std::fstream &outMCP, int &iHit,
87  map<int, unsigned int> &nHitsInMCTrack, bool isPixel);
88 
89  static void CATrackParToFairTrackParP(FairTrackParP *fairParam, const PndCATrackParam *caParam);
90 
91  ClassDef(PndCATracking, 1);
92 };
93 
94 #endif
void SetMvdPixelHitsBranchName(const TString &name)
Definition: PndCATracking.h:38
virtual void Exec(Option_t *opt)
void SetSttHitsBranchName(const TString &name)
Definition: PndCATracking.h:40
void SetMvdStripHitsBranchName(const TString &name)
Definition: PndCATracking.h:39
virtual InitStatus Init()
virtual void Finish()
Class to access the naming information of the MVD.
void SetParContainers()
static PndCAPerformance & Instance()
Instance.
PndCATracking(const char *name="TrackingCA", Int_t iVerbose=0)