]>
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; | |
10 | ||
11 | class AliToyMCReconstruction : public TObject { | |
12 | public: | |
13 | AliToyMCReconstruction(); | |
14 | virtual ~AliToyMCReconstruction(); | |
15 | ||
16 | enum ECorrType { | |
17 | kNoCorrection = 0, | |
18 | kTPCCenter, | |
19 | kAverageEta, | |
20 | kIdeal | |
21 | }; | |
22 | ||
23 | // reconstruction settings | |
24 | void SetRecoSettings(Int_t clusterType, Int_t seedingRow, Int_t seedingDist, ECorrType correctionType) | |
25 | { fClusterType=clusterType; fSeedingRow=seedingRow, fSeedingDist=seedingDist, fCorrectionType=correctionType; } | |
26 | ||
27 | void SetClusterType(Int_t type) { fClusterType = type; } | |
28 | Int_t GetClusterType() const { return fClusterType; } | |
29 | ||
30 | void SetSeedingRow(Int_t row) { fSeedingRow = row; } | |
31 | Int_t GetSeedingRow() const { return fSeedingRow; } | |
32 | ||
33 | void SetSeedingDist(Int_t dist) { fSeedingDist = dist; } | |
34 | Int_t GetSeedingDist() const { return fSeedingDist; } | |
35 | ||
36 | void SetCorrType(ECorrType type) { fCorrectionType = type; } | |
37 | ECorrType GetCorrectionType() const { return fCorrectionType; } | |
38 | ||
39 | void SetTree(TTree *tree) { fTree=tree; } | |
40 | TTree* GetTree() const { return fTree; } | |
41 | ||
42 | AliExternalTrackParam* GetSeedFromTrack(const AliToyMCTrack * const tr); | |
43 | AliExternalTrackParam* GetFittedTrackFromSeed(const AliToyMCTrack *tr, const AliExternalTrackParam *seed); | |
44 | ||
45 | void InitSpaceCharge(); | |
46 | ||
47 | Double_t GetVDrift() const; | |
48 | Double_t GetZLength(Int_t roc) const; | |
49 | ||
50 | private: | |
51 | AliToyMCReconstruction(const AliToyMCReconstruction &rec); | |
52 | AliToyMCReconstruction& operator= (AliToyMCReconstruction& rec); | |
53 | ||
54 | void SetTrackPointFromCluster(const AliTPCclusterMI *cl, AliTrackPoint &p); | |
55 | void ClusterToSpacePoint(const AliTPCclusterMI *cl, Float_t xyz[3]); | |
56 | ||
57 | // reco settings | |
58 | Int_t fSeedingRow; // first row used for seeding | |
59 | Int_t fSeedingDist; // distance of seeds | |
60 | Int_t fClusterType; // cluster type to use | |
61 | ECorrType fCorrectionType; // type of space point correction | |
62 | Bool_t fDoTrackFit; // do track fitting | |
63 | Bool_t fUseMaterial; // use material budget in tracking | |
64 | ||
65 | // current reconstruction info | |
66 | Double_t fTime0; // current time0 used for reconstruction | |
67 | ||
68 | TTreeSRedirector *fStreamer; // debug streamer | |
69 | TTree *fTree; // input tree with ToyMC info | |
70 | ||
71 | AliTPCParam *fTPCParam; // tpc reco parameters | |
72 | AliTPCSpaceCharge3D *fSpaceCharge; // space charge | |
73 | ||
74 | ClassDef(AliToyMCReconstruction,0) | |
75 | }; | |
76 | ||
77 | ||
78 | #endif |