FairRoot/PandaRoot
PndDrcLutReco.h
Go to the documentation of this file.
1 // -----------------------------------------
2 // PndDrcLutReco.h
3 //
4 // Created on: 13.07.2013
5 // Author: R.Dzhygadlo at gsi.de
6 // -----------------------------------------
7 // Class for reconstruction in DIRC using look-up table method
8 
9 #ifndef PNDDRCLUTRECO_H
10 #define PNDDRCLUTRECO_H
11 
12 #include "FairTask.h"
13 #include "TClonesArray.h"
14 #include "PndMCTrack.h"
15 #include "PndDrcBarPoint.h"
16 #include "PndDrcEVPoint.h"
17 #include "PndDrcPDPoint.h"
18 #include "PndDrcHit.h"
19 #include "PndDrcPDHit.h"
20 #include "PndDrcDigi.h"
21 #include "PndGeoDrc.h"
22 
23 #include "TString.h"
24 #include "TFile.h"
25 #include "TH1.h"
26 #include "TF1.h"
27 #include "TSpectrum.h"
28 
29 #include "PndDrcTrackInfo.h"
30 #include "PndDrcPhotonInfo.h"
31 #include "PndDrcAmbiguityInfo.h"
32 
33 
34 class PndDrcLutReco : public FairTask {
35 
36 public:
37 
38  // Default constructor
39  PndDrcLutReco();
40 
41  // Standard constructors
42  PndDrcLutReco(Int_t verbose);
43  PndDrcLutReco(Int_t verbose, TString infilename);
44 
45  // Destructor
46  virtual ~PndDrcLutReco();
47 
48  virtual InitStatus Init();
49 
50  // Executed task
51  virtual void Exec(Option_t* option);
52 
53  // Finish task
54  virtual void Finish();
55 
56  void SetOutputFile(TString infilename = "luttab.root"){fInputFile = infilename;}
57 
58 private:
59 
60  void LoopOverMcTracks();
61  void FillAmbiguities(PndDrcPhotonInfo *photoninfo, Int_t barId, Int_t recalculatedSensorId, Double_t directz, Double_t barHitTime);
62  void DetermineCherenkov(PndDrcTrackInfo *trackinfo, Int_t boxId);
63  void DetermineBarId(Double_t phi, Double_t &boxPhi, Int_t &boxId, Int_t &barId);
65  Int_t FindPdg(Double_t mom, Double_t cangle);
67  Int_t fDetectorID;
69 
70  TClonesArray* fMCArray; // DRC MCPoints in the photon detector
71  TClonesArray *fBarPointArray;
72  TClonesArray *fEVPointArray;
73  TClonesArray* fPDPointArray; // DRC points in the photon detector
74  TClonesArray* fDigiArray;
75  TClonesArray* fPDHitArray; // DRC Hits in the photon detector
76  TClonesArray *fLut[5];
77  TClonesArray *fDrcTrackInfoArray;
78 
79  TFile *fFile;
80  TTree *fTree;
81 
88 
89  // Set the parameters to the default values.
90  void SetDefaultParameters();
91 
92  // Verbosity level
93  Int_t fVerbose;
94  Int_t nevents;
97  TH1F *fHist;
98  TH1F *fHist2;
99  TF1 *fFit;
100  TSpectrum *fSpect;
101 
102  ClassDef(PndDrcLutReco,1)
103 
104 };
105 
106 #endif
TClonesArray * fDrcTrackInfoArray
Definition: PndDrcLutReco.h:77
TClonesArray * fEVPointArray
Definition: PndDrcLutReco.h:72
Double_t fBboxNum
Definition: PndDrcLutReco.h:68
TSpectrum * fSpect
#define verbose
virtual ~PndDrcLutReco()
void DetermineBarId(Double_t phi, Double_t &boxPhi, Int_t &boxId, Int_t &barId)
TClonesArray * fPDHitArray
Definition: PndDrcLutReco.h:75
Double_t mom
Definition: plot_dirc.C:14
virtual void Finish()
TClonesArray * fMCArray
Definition: PndDrcLutReco.h:70
void LoopOverMcTracks()
PndDrcPDHit * fPDHit
Definition: PndDrcLutReco.h:87
Double_t fBarPhi
Definition: PndDrcLutReco.h:68
virtual void Exec(Option_t *option)
TClonesArray * fPDPointArray
Definition: PndDrcLutReco.h:73
PndDrcEVPoint * fEVPoint
Definition: PndDrcLutReco.h:84
Double_t
TClonesArray * fDigiArray
Definition: PndDrcLutReco.h:74
TClonesArray * fBarPointArray
Definition: PndDrcLutReco.h:71
void SetDefaultParameters()
void FillAmbiguities(PndDrcPhotonInfo *photoninfo, Int_t barId, Int_t recalculatedSensorId, Double_t directz, Double_t barHitTime)
Int_t FindPdg(Double_t mom, Double_t cangle)
PndMCTrack * fMCTrack
Definition: PndDrcLutReco.h:82
TString fInputFile
Definition: PndDrcLutReco.h:95
Double_t fDphi
Definition: PndDrcLutReco.h:68
Double_t fPipehAngle
Definition: PndDrcLutReco.h:68
TClonesArray * fLut[5]
Definition: PndDrcLutReco.h:76
PndDrcDigi * fDigi
Definition: PndDrcLutReco.h:86
virtual InitStatus Init()
PndDrcBarPoint * fBarPoint
Definition: PndDrcLutReco.h:83
PndGeoDrc * fGeo
Definition: PndDrcLutReco.h:66
PndDrcPDPoint * fPDPoint
Definition: PndDrcLutReco.h:85
void DetermineCherenkov(PndDrcTrackInfo *trackinfo, Int_t boxId)
Double_t FindPeak()
void SetOutputFile(TString infilename="luttab.root")
Definition: PndDrcLutReco.h:56