]>
Commit | Line | Data |
---|---|---|
d1cf83f5 | 1 | #ifndef AliToyMCReconstruction_H |
2 | #define AliToyMCReconstruction_H | |
3 | ||
4 | #include <TObject.h> | |
5 | ||
6 | class TTree; | |
7 | ||
8 | class TTreeSRedirector; | |
9 | class AliExternalTrackParam; | |
4a777885 | 10 | class AliToyMCEvent; |
d1cf83f5 | 11 | |
12 | class AliToyMCReconstruction : public TObject { | |
13 | public: | |
14 | AliToyMCReconstruction(); | |
15 | virtual ~AliToyMCReconstruction(); | |
16 | ||
17 | enum ECorrType { | |
18 | kNoCorrection = 0, | |
19 | kTPCCenter, | |
20 | kAverageEta, | |
21 | kIdeal | |
22 | }; | |
23 | ||
4a777885 | 24 | void RunReco(const char* file, Int_t nmaxEv=-1); |
25 | ||
d1cf83f5 | 26 | // reconstruction settings |
27 | void SetRecoSettings(Int_t clusterType, Int_t seedingRow, Int_t seedingDist, ECorrType correctionType) | |
28 | { fClusterType=clusterType; fSeedingRow=seedingRow, fSeedingDist=seedingDist, fCorrectionType=correctionType; } | |
29 | ||
30 | void SetClusterType(Int_t type) { fClusterType = type; } | |
31 | Int_t GetClusterType() const { return fClusterType; } | |
32 | ||
33 | void SetSeedingRow(Int_t row) { fSeedingRow = row; } | |
34 | Int_t GetSeedingRow() const { return fSeedingRow; } | |
35 | ||
36 | void SetSeedingDist(Int_t dist) { fSeedingDist = dist; } | |
37 | Int_t GetSeedingDist() const { return fSeedingDist; } | |
38 | ||
39 | void SetCorrType(ECorrType type) { fCorrectionType = type; } | |
40 | ECorrType GetCorrectionType() const { return fCorrectionType; } | |
41 | ||
600eaa0d | 42 | void SetUseMaterialBudget(Bool_t mat) { fUseMaterial = mat; } |
43 | Bool_t GetUseMaterialBudget() const { return fUseMaterial; } | |
44 | ||
45 | void SetIdealTracking(Bool_t tr) { fIdealTracking = tr; } | |
46 | Bool_t GetIdealTracking() const { return fIdealTracking; } | |
47 | ||
d1cf83f5 | 48 | void SetTree(TTree *tree) { fTree=tree; } |
49 | TTree* GetTree() const { return fTree; } | |
50 | ||
51 | AliExternalTrackParam* GetSeedFromTrack(const AliToyMCTrack * const tr); | |
52 | AliExternalTrackParam* GetFittedTrackFromSeed(const AliToyMCTrack *tr, const AliExternalTrackParam *seed); | |
53 | ||
54 | void InitSpaceCharge(); | |
55 | ||
56 | Double_t GetVDrift() const; | |
57 | Double_t GetZLength(Int_t roc) const; | |
58 | ||
59 | private: | |
60 | AliToyMCReconstruction(const AliToyMCReconstruction &rec); | |
61 | AliToyMCReconstruction& operator= (AliToyMCReconstruction& rec); | |
62 | ||
63 | void SetTrackPointFromCluster(const AliTPCclusterMI *cl, AliTrackPoint &p); | |
64 | void ClusterToSpacePoint(const AliTPCclusterMI *cl, Float_t xyz[3]); | |
65 | ||
66 | // reco settings | |
67 | Int_t fSeedingRow; // first row used for seeding | |
68 | Int_t fSeedingDist; // distance of seeds | |
69 | Int_t fClusterType; // cluster type to use | |
70 | ECorrType fCorrectionType; // type of space point correction | |
71 | Bool_t fDoTrackFit; // do track fitting | |
72 | Bool_t fUseMaterial; // use material budget in tracking | |
600eaa0d | 73 | Bool_t fIdealTracking; // use ideal coordinates for tracking |
d1cf83f5 | 74 | |
75 | // current reconstruction info | |
76 | Double_t fTime0; // current time0 used for reconstruction | |
600eaa0d | 77 | Bool_t fCreateT0seed; // if current seed is the T0 seed |
d1cf83f5 | 78 | |
79 | TTreeSRedirector *fStreamer; // debug streamer | |
80 | TTree *fTree; // input tree with ToyMC info | |
4a777885 | 81 | AliToyMCEvent *fEvent; // input event |
d1cf83f5 | 82 | |
83 | AliTPCParam *fTPCParam; // tpc reco parameters | |
84 | AliTPCSpaceCharge3D *fSpaceCharge; // space charge | |
85 | ||
86 | ClassDef(AliToyMCReconstruction,0) | |
87 | }; | |
88 | ||
89 | ||
90 | #endif |