PandaRoot
PndSciTAnaIdeal.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
7 // -------------------------------------------------------------------------
8 #ifndef PNDTOFANAIDEAL_H
9 #define PNDTOFANAIDEAL_H
10 
11 #include "FairTask.h"
12 //#include "PndGeoHypPar.h"
13 #include "PndSciTPoint.h"
14 #include "TVector3.h"
15 #include "TRandom.h"
16 #include "TH1.h"
17 #include "TH2.h"
18 #include "TCanvas.h"
19 #include "FairGeoVector.h"
20 #include "FairGeoTransform.h"
21 #include "TGeoMatrix.h"
22 #include "TGeoBBox.h"
23 #include <iostream>
24 #include "GFTrackCand.h"
25 #include "TFile.h"
26 #include "TTree.h"
27 
28 #include "PndRiemannTrack.h"
29 #include <string>
30 
31 #include <map>
32 #include <vector>
33 class TClonesArray;
34 
35 class PndSciTAnaIdeal : public FairTask {
36  public:
39 
42 
44  virtual void SetParContainers();
45  virtual InitStatus Init();
46  virtual InitStatus ReInit();
47  void SetVerbose(int val) { fVerbose = val; }
48  void smear(TVector3 &pos, TVector3 &dpos);
49  void WriteHistograms();
50  void SetTreeFName(const Char_t *Name) { fFileName = Name; };
51  void SetRPreFitter(bool rie) { friemann = rie; };
52  void SetLHKaonCut(bool cut) { fLHcut = cut; };
53  void SetSciFDT(Double_t dt) { fScFtime = dt; };
54  void SetCTrack(Bool_t stt) { fstt = stt; };
55 
57  virtual void Exec(Option_t *opt);
58  virtual void Finish();
59 
60  private:
61  PndHypGeoHandling *fGeoH;
62 
63  TString fBranchName;
64  TString fBranchName2;
65  TString fTrackCand;
66  TString fBranchName3;
67  TString fBranchName4;
68  TString fTpcBranch;
69 
71  TClonesArray *fPointArray;
72  TClonesArray *fHPointArray;
73  TClonesArray *fSTPointArray;
74  TClonesArray *fTrigArray;
75  TClonesArray *fsciFPointArray;
76  TClonesArray *fTrackCandArray;
77  TClonesArray *fHitOutputArray;
78  TGeoHMatrix *fCurrentTransMat;
79  PndHypPoint *fCurrentHypPoint;
80  TClonesArray *fTpcArray;
81  TClonesArray *fMicroCandidates;
82 
83  Int_t GetChargeIon(Int_t ion);
84  PndRiemannTrack *GetRiemannTrack(GFTrackCand *cand);
85  Double_t GetDPhi(Double_t *par, TVector3 &v1, TVector3 &v2);
86  void SetSciTEventCorr(Int_t ev, Int_t mult);
87 
88  // void AddAndExpand(Int_t trackID, Int_t detnum, Int_t iHit);
90  TClonesArray *fmcArray;
91  // std::map<Int_t, GFTrackCand*> fTrackCandMap;
92  int evt;
93  double fQ;
94 
95  TH2F *histo;
96  TH2F *map1;
97  TH2F *map2;
98  TH2F *map3;
99  TH2F *map4;
100  TH2F *histpi;
101  TH2F *histk;
102  TH2F *histp;
103  TH1F *Dpi1;
104  TH1F *Dpi2;
105  TH1F *Dp2;
106  TH1F *Dpix;
107  TVector3 fvecp;
108  Bool_t friemann;
109  Bool_t fLHcut;
110 
111  Bool_t fstt;
112  Double_t fScFtime;
113 
114  TFile *fFile;
115  int fVerbose;
116  TTree *t;
117  TClonesArray *fEvt;
118  Int_t activeCnt;
119  Double_t weight;
120  Double_t seed;
121  HypStatDecay *fread;
122  const Char_t *fFileName;
123  // PndGeoSciTPar* fGeoPar;
124 
126  void InitTransMat();
127  void smear(TVector3 &pos);
128  void smearLocal(TVector3 &pos);
129  void Register();
130 
131  void Reset();
132 
133  void ProduceHits();
134 
135  ClassDef(PndSciTAnaIdeal, 1);
136 };
137 
138 #endif
virtual void Finish()
void SetRPreFitter(bool rie)
void SetVerbose(int val)
virtual void Exec(Option_t *opt)
Class to access the naming information of the MVD.
void SetTreeFName(const Char_t *Name)
void SetSciFDT(Double_t dt)
void SetLHKaonCut(bool cut)
Track candidate – a list of cluster indices.
Definition: GFTrackCand.h:55
void SetCTrack(Bool_t stt)
void WriteHistograms()
void smear(TVector3 &pos, TVector3 &dpos)
virtual InitStatus ReInit()
virtual InitStatus Init()
virtual void SetParContainers()