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