]>
Commit | Line | Data |
---|---|---|
59697224 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* $Id$ */ | |
17 | ||
18 | /////////////////////////////////////////////////////////////////////////////// | |
19 | // // | |
20 | // base class for reconstruction algorithms // | |
21 | // // | |
c757bafd | 22 | // Derived classes should implement a default constructor and // |
23 | // the virtual methods // | |
59697224 | 24 | // - Reconstruct : to perform the local reconstruction for all events // |
25 | // - FillESD : to fill the ESD for the current event // | |
26 | // // | |
27 | // The reconstructor classes for the barrel detectors should in addition // | |
28 | // implement the method // | |
29 | // - CreateTracker : to create a tracker object for the barrel detector // | |
30 | // // | |
31 | // The ITS reconstructor should in addition implement the method // | |
32 | // - CreateVertexer : to create an object for the vertex finding // | |
33 | // // | |
34 | /////////////////////////////////////////////////////////////////////////////// | |
35 | ||
36 | ||
f37d970d | 37 | #include "AliLog.h" |
59697224 | 38 | #include "AliReconstructor.h" |
7e88424f | 39 | #include <TClass.h> |
c757bafd | 40 | #include <TString.h> |
59697224 | 41 | |
42 | ||
43 | ClassImp(AliReconstructor) | |
c757bafd | 44 | |
820b4d9e | 45 | const AliDetectorRecoParam* AliReconstructor::fgRecoParam[AliReconstruction::kNDetectors] = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL |
46 | // #ifdef MFT_UPGRADE | |
47 | // ,NULL | |
48 | // #endif | |
49 | ,NULL // AU | |
50 | }; | |
c757bafd | 51 | |
b26c3770 | 52 | //_____________________________________________________________________________ |
53 | void AliReconstructor::ConvertDigits(AliRawReader* /*rawReader*/, | |
54 | TTree* /*digitsTree*/) const | |
55 | { | |
56 | // convert raw data digits into digit objects in a root tree | |
57 | ||
58 | AliError("conversion of raw data digits into digit objects not implemented"); | |
59 | } | |
60 | ||
61 | ||
62 | //_____________________________________________________________________________ | |
63 | void AliReconstructor::Reconstruct(TTree* /*digitsTree*/, | |
64 | TTree* /*clustersTree*/) const | |
65 | { | |
66 | // run the local reconstruction | |
67 | ||
68 | AliError("local event reconstruction not implemented"); | |
69 | } | |
70 | ||
71 | //_____________________________________________________________________________ | |
72 | void AliReconstructor::Reconstruct(AliRawReader* /*rawReader*/, | |
73 | TTree* /*clustersTree*/) const | |
74 | { | |
75 | // run the local reconstruction with raw data input | |
76 | ||
77 | AliError("local event reconstruction not implemented for raw data input"); | |
78 | } | |
79 | ||
b26c3770 | 80 | //_____________________________________________________________________________ |
81 | void AliReconstructor::FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, | |
af885e0f | 82 | AliESDEvent* /*esd*/) const |
b26c3770 | 83 | { |
84 | // fill the ESD. | |
85 | // by default nothing is done | |
86 | ||
87 | } | |
88 | ||
89 | //_____________________________________________________________________________ | |
90 | void AliReconstructor::FillESD(AliRawReader* /*rawReader*/, | |
af885e0f | 91 | TTree* clustersTree, AliESDEvent* esd) const |
b26c3770 | 92 | { |
93 | // fill the ESD in case of raw data input. | |
94 | // by default the FillESD method for MC is called | |
95 | ||
96 | FillESD((TTree*)NULL, clustersTree, esd); | |
97 | } | |
98 | ||
c757bafd | 99 | //_____________________________________________________________________________ |
100 | const char* AliReconstructor::GetDetectorName() const | |
101 | { | |
102 | // get the name of the detector | |
103 | ||
104 | static TString detName; | |
105 | detName = GetName(); | |
106 | detName.Remove(0, 3); | |
107 | detName.Remove(detName.Index("Reconstructor")); | |
f9fc20b4 | 108 | detName.ReplaceAll("Upgrade",""); |
c757bafd | 109 | return detName.Data(); |
110 | } | |
7e88424f | 111 | |
112 | //_____________________________________________________________________________ | |
113 | void AliReconstructor::SetRecoParam(const AliDetectorRecoParam *par) | |
114 | { | |
115 | // To be implemented by the detectors. | |
116 | // As soon as we manage to remove the static members | |
117 | // and method in the detector reconstructors, we will | |
118 | // implemented this method in the base class and remove | |
119 | // the detectors implementations. | |
120 | Int_t iDet = AliReconstruction::GetDetIndex(GetDetectorName()); | |
121 | ||
122 | if (iDet >= 0) | |
123 | fgRecoParam[iDet] = par; | |
124 | else | |
125 | AliError(Form("Invalid detector index for (%s)",GetDetectorName())); | |
126 | ||
127 | return; | |
128 | } | |
129 | ||
130 | //_____________________________________________________________________________ | |
131 | const AliDetectorRecoParam* AliReconstructor::GetRecoParam(Int_t iDet) | |
132 | { | |
133 | // Get the current reconstruciton parameters | |
134 | // for a given detector | |
ac4a7581 | 135 | if (iDet >= 0 && iDet < AliReconstruction::kNDetectors) |
7e88424f | 136 | return fgRecoParam[iDet]; |
137 | else { | |
138 | AliErrorClass(Form("Invalid detector index (%d)",iDet)); | |
139 | return NULL; | |
140 | } | |
141 | } | |
10d100d4 | 142 | |
143 | //_____________________________________________________________________________ | |
d999f2e6 | 144 | void AliReconstructor::GetPidSettings(AliESDpid */*esdPID*/) { |
10d100d4 | 145 | // |
146 | // Function to set Pid settings in esdPID | |
147 | // based on detector-specific AliRecoParams | |
148 | // to be implemented by detectors separately (e.g TOF) | |
149 | // | |
150 | return; | |
151 | } |