PandaRoot
PndCATracking.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-----------------------------------------------------------
14 //-----------------------------------------------------------
15 //*******************************************************************************
16 // List of most recent changes: *
17 // 29-05-17 Correction of booking and saving of histograms (Irina Rostovtseva) *
18 // *
19 //*******************************************************************************
20 
21 #ifndef PndCATracking_HH
22 #define PndCATracking_HH
23 
24 #include "PndPersistencyTask.h"
25 
26 #include "TString.h"
27 #include "PndCAGBHit.h"
28 
29 #include <vector>
30 #include <fstream>
31 #include <map>
32 
33 using std::map;
34 
35 class TClonesArray;
36 class PndCATrackParam;
37 class FairTrackParP;
38 class PndGeoHandling;
39 class PndCAPerformance;
40 
42  public:
43  // Constructors/Destructors ---------
44  PndCATracking(const char *name = "TrackingCA", Int_t iVerbose = 0);
46 
48  static PndCAPerformance &Instance();
49 
50  void SetMvdPixelHitsBranchName(const TString &name) { fMvdPixelHitsBranchName = name; }
51  void SetMvdStripHitsBranchName(const TString &name) { fMvdStripHitsBranchName = name; }
52  void SetSttHitsBranchName(const TString &name) { fSttHitsBranchName = name; }
53 
54  virtual InitStatus Init();
55  void SetParContainers();
56  virtual void Exec(Option_t *opt);
57  virtual void Finish();
58 
59  private:
60  TString fMvdPixelHitsBranchName;
61  TString fMvdStripHitsBranchName;
62  TString fMvdPixelClusterBranchName;
63  TString fMvdStripClusterBranchName;
64  TString fMvdPixelDigiBranchName;
65  TString fMvdStripDigiBranchName;
66  TString fSttHitsBranchName;
67 
68  TString fMvdPointsBranchName;
69  TString fSttPointsBranchName;
70  TString fMCTracksBranchName;
71 
72  // hits
73  TClonesArray *fMvdPixelHitsArray;
74  TClonesArray *fMvdStripHitsArray;
75  TClonesArray *fMvdPixelClusterArray;
76  TClonesArray *fMvdStripClusterArray;
77  TClonesArray *fMvdPixelDigiArray;
78  TClonesArray *fMvdStripDigiArray;
79  TClonesArray *fSttHitsArray;
80 
81  TClonesArray *fMvdPointsArray; // MVD MC points
82  TClonesArray *fSttPointsArray; // STT MC points
83  TClonesArray *fMCTrackArray;
84 
85  // STT Map
86  TClonesArray *fTubeArray;
87  // for MVD geometry extraction
88  PndGeoHandling *fGeoH;
89 
91  TClonesArray *fSttMvdPndTrackArray;
92 
93 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
94  PndCAPerformance *perf;
95 #endif
96 
97  bool fDoPerformance;
98  void WriteMVDHits(std::vector<PndCAGBHit> &vHits, std::fstream &outH, std::fstream &outHL, std::fstream &outMCT, std::fstream &outMCP, int &iHit,
99  map<int, unsigned int> &nHitsInMCTrack, bool isPixel);
100 
101  static void CATrackParToFairTrackParP(FairTrackParP *fairParam, const PndCATrackParam *caParam);
102 
103  ClassDef(PndCATracking, 1);
104 };
105 
106 #endif
void SetMvdPixelHitsBranchName(const TString &name)
Definition: PndCATracking.h:50
virtual void Exec(Option_t *opt)
void SetSttHitsBranchName(const TString &name)
Definition: PndCATracking.h:52
void SetMvdStripHitsBranchName(const TString &name)
Definition: PndCATracking.h:51
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)