]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliReconstructor.cxx
Adding functionality to create AOD.par files.
[u/mrichter/AliRoot.git] / STEER / AliReconstructor.cxx
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 //                                                                           //
22 // Derived classes should implement a default constructor and                //
23 // the virtual methods                                                       //
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
37 #include "AliLog.h"
38 #include "AliReconstructor.h"
39 #include <TString.h>
40
41
42 ClassImp(AliReconstructor)
43
44
45 //_____________________________________________________________________________
46 void AliReconstructor::ConvertDigits(AliRawReader* /*rawReader*/, 
47                                      TTree* /*digitsTree*/) const
48 {
49 // convert raw data digits into digit objects in a root tree
50
51   AliError("conversion of raw data digits into digit objects not implemented");
52 }
53
54
55 //_____________________________________________________________________________
56 void AliReconstructor::Reconstruct(TTree* /*digitsTree*/,
57                                    TTree* /*clustersTree*/) const
58 {
59 // run the local reconstruction
60
61   AliError("local event reconstruction not implemented");
62 }
63
64 //_____________________________________________________________________________
65 void AliReconstructor::Reconstruct(AliRawReader* /*rawReader*/, 
66                                    TTree* /*clustersTree*/) const
67 {
68 // run the local reconstruction with raw data input
69
70   AliError("local event reconstruction not implemented for raw data input");
71 }
72
73 //_____________________________________________________________________________
74 void AliReconstructor::Reconstruct(AliRunLoader* /*runLoader*/) const
75 {
76 // run the local reconstruction
77
78   AliError("local reconstruction not implemented");
79 }
80
81 //_____________________________________________________________________________
82 void AliReconstructor::Reconstruct(AliRunLoader* /*runLoader*/, 
83                                    AliRawReader* /*rawReader*/) const
84 {
85 // run the local reconstruction with raw data input
86
87   AliError("local reconstruction not implemented for raw data input");
88 }
89
90
91 //_____________________________________________________________________________
92 void AliReconstructor::FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/,
93                                AliESD* /*esd*/) const
94 {
95 // fill the ESD.
96 // by default nothing is done
97
98 }
99
100 //_____________________________________________________________________________
101 void AliReconstructor::FillESD(AliRawReader* /*rawReader*/, 
102                                TTree* clustersTree, AliESD* esd) const
103 {
104 // fill the ESD in case of raw data input.
105 // by default the FillESD method for MC is called
106
107   FillESD((TTree*)NULL, clustersTree, esd);
108 }
109
110 //_____________________________________________________________________________
111 void AliReconstructor::FillESD(AliRunLoader* /*runLoader*/, 
112                                AliESD* /*esd*/) const
113 {
114 // fill the ESD.
115 // by default nothing is done
116
117 }
118
119 //_____________________________________________________________________________
120 void AliReconstructor::FillESD(AliRunLoader* runLoader, 
121                                AliRawReader* /*rawReader*/, AliESD* esd) const
122 {
123 // fill the ESD in case of raw data input.
124 // by default the FillESD method for MC is called
125
126   FillESD(runLoader, esd);
127 }
128
129
130 //_____________________________________________________________________________
131 const char* AliReconstructor::GetDetectorName() const
132 {
133 // get the name of the detector
134
135   static TString detName;
136   detName = GetName();
137   detName.Remove(0, 3);
138   detName.Remove(detName.Index("Reconstructor"));
139   return detName.Data();
140 }