]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDReconstructor.cxx
Classes moved to STEERBase.
[u/mrichter/AliRoot.git] / TRD / AliTRDReconstructor.cxx
CommitLineData
121a60bd 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// //
4fad09c9 20// Class for TRD reconstruction //
121a60bd 21// //
22///////////////////////////////////////////////////////////////////////////////
23
e3b2b5e5 24#include <TFile.h>
121a60bd 25
121a60bd 26#include "AliRunLoader.h"
3bc9d03e 27#include "AliRawReader.h"
28#include "AliLog.h"
3bc9d03e 29#include "AliESDTrdTrack.h"
af885e0f 30#include "AliESDEvent.h"
3bc9d03e 31
32#include "AliTRDReconstructor.h"
121a60bd 33#include "AliTRDclusterizerV1.h"
ca21baaa 34#include "AliTRDclusterizerV2.h"
35//#include "AliTRDclusterizerV2xMP.h"
121a60bd 36#include "AliTRDtracker.h"
b0f03c34 37#include "AliTRDpidESD.h"
e3b2b5e5 38#include "AliTRDgtuTrack.h"
a8fbb161 39#include "AliTRDrawData.h"
40#include "AliTRDdigitsManager.h"
121a60bd 41
42ClassImp(AliTRDReconstructor)
43
3bc9d03e 44Bool_t AliTRDReconstructor::fgkSeedingOn = kFALSE;
45Int_t AliTRDReconstructor::fgStreamLevel = 0; // Stream (debug) level
0397ce53 46
121a60bd 47//_____________________________________________________________________________
a8fbb161 48void AliTRDReconstructor::ConvertDigits(AliRawReader *rawReader
49 , TTree *digitsTree) const
121a60bd 50{
3bc9d03e 51 //
25ca55ce 52 // Convert raw data digits into digit objects in a root tree
3bc9d03e 53 //
121a60bd 54
ca21baaa 55 AliInfo("Convert raw data digits into digit objects [RawReader -> Digit TTree]");
56
a8fbb161 57 AliTRDrawData rawData;
3a0f6479 58 rawReader->Reset();
59 rawReader->Select("TRD");
a8fbb161 60 AliTRDdigitsManager *manager = rawData.Raw2Digits(rawReader);
61 manager->MakeBranch(digitsTree);
62 manager->WriteDigits();
0ee00e25 63
121a60bd 64}
65
66//_____________________________________________________________________________
3bc9d03e 67void AliTRDReconstructor::Reconstruct(AliRunLoader *runLoader
68 , AliRawReader *rawReader) const
928e9fae 69{
3bc9d03e 70 //
71 // Reconstruct clusters
72 //
928e9fae 73
ca21baaa 74 AliInfo("Reconstruct TRD clusters from RAW data [RunLoader, RawReader]");
928e9fae 75
3bc9d03e 76 AliLoader *loader = runLoader->GetLoader("TRDLoader");
928e9fae 77 loader->LoadRecPoints("recreate");
78
928e9fae 79 runLoader->CdGAFile();
928e9fae 80 Int_t nEvents = runLoader->GetNumberOfEvents();
81
3a0f6479 82 rawReader->Reset();
83 rawReader->Select("TRD");
84
928e9fae 85 for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
ca21baaa 86
928e9fae 87 if (!rawReader->NextEvent()) break;
ca21baaa 88
89 // Old (slow) cluster finder
90 //AliTRDclusterizerV1 clusterer("clusterer","TRD clusterizer");
91 //clusterer.Open(runLoader->GetFileName(),iEvent);
92 //clusterer.ReadDigits(rawReader);
93 //clusterer.MakeClusters();
94
95 // New (fast) cluster finder
96 AliTRDclusterizerV2 clusterer("clusterer","TRD clusterizer");
3bc9d03e 97 clusterer.Open(runLoader->GetFileName(),iEvent);
ca21baaa 98 clusterer.Raw2ClustersChamber(rawReader);
99
928e9fae 100 clusterer.WriteClusters(-1);
ca21baaa 101
928e9fae 102 }
103
104 loader->UnloadRecPoints();
0ee00e25 105
25ca55ce 106}
a8fbb161 107
25ca55ce 108//_____________________________________________________________________________
109void AliTRDReconstructor::Reconstruct(AliRawReader *rawReader
110 , TTree *clusterTree) const
111{
112 //
113 // Reconstruct clusters
114 //
115
ca21baaa 116 AliInfo("Reconstruct TRD clusters from RAW data [RawReader -> Cluster TTree]");
25ca55ce 117
3a0f6479 118 rawReader->Reset();
119 rawReader->Select("TRD");
120
ca21baaa 121 // Old (slow) cluster finder
122 //AliTRDclusterizerV1 clusterer("clusterer","TRD clusterizer");
123 //clusterer.OpenOutput(clusterTree);
124 //clusterer.ReadDigits(rawReader);
125 //clusterer.MakeClusters();
126
127 // New (fast) cluster finder
128 AliTRDclusterizerV2 clusterer("clusterer","TRD clusterizer");
25ca55ce 129 clusterer.OpenOutput(clusterTree);
ca21baaa 130 clusterer.SetAddLabels(kFALSE);
131 clusterer.Raw2ClustersChamber(rawReader);
25ca55ce 132
25ca55ce 133}
134
135//_____________________________________________________________________________
a8fbb161 136void AliTRDReconstructor::Reconstruct(TTree *digitsTree
137 , TTree *clusterTree) const
25ca55ce 138{
139 //
140 // Reconstruct clusters
141 //
ca21baaa 142 AliInfo("Reconstruct TRD clusters from Digits [Digit TTree -> Cluster TTree]");
25ca55ce 143
144 AliTRDclusterizerV1 clusterer("clusterer","TRD clusterizer");
ca21baaa 145 //AliTRDclusterizerV2 clusterer("clusterer","TRD clusterizer");
25ca55ce 146 clusterer.OpenOutput(clusterTree);
147 clusterer.ReadDigits(digitsTree);
148 clusterer.MakeClusters();
25ca55ce 149
25ca55ce 150}
151
152//_____________________________________________________________________________
153void AliTRDReconstructor::Reconstruct(AliRunLoader *runLoader) const
154{
155 //
156 // Reconstruct clusters
157 //
158
ca21baaa 159 AliInfo("Reconstruct TRD clusters [AliRunLoader]");
25ca55ce 160 AliLoader *loader = runLoader->GetLoader("TRDLoader");
161 loader->LoadRecPoints("recreate");
162
163 runLoader->CdGAFile();
164 Int_t nEvents = runLoader->GetNumberOfEvents();
165
166 for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
167 AliTRDclusterizerV1 clusterer("clusterer","TRD clusterizer");
ca21baaa 168 //AliTRDclusterizerV2 clusterer("clusterer","TRD clusterizer");
25ca55ce 169 clusterer.Open(runLoader->GetFileName(),iEvent);
170 clusterer.ReadDigits();
171 clusterer.MakeClusters();
172 clusterer.WriteClusters(-1);
173 }
174
175 loader->UnloadRecPoints();
176
928e9fae 177}
178
179//_____________________________________________________________________________
3bc9d03e 180AliTracker *AliTRDReconstructor::CreateTracker(AliRunLoader *runLoader) const
121a60bd 181{
3bc9d03e 182 //
183 // Create a TRD tracker
184 //
121a60bd 185
186 runLoader->CdGAFile();
3bc9d03e 187
121a60bd 188 return new AliTRDtracker(gFile);
3bc9d03e 189
121a60bd 190}
191
25ca55ce 192//_____________________________________________________________________________
193void AliTRDReconstructor::FillESD(AliRunLoader* /*runLoader*/
194 , AliRawReader* /*rawReader*/
eee6e868 195 , AliESDEvent* /*esd*/) const
25ca55ce 196{
197 //
198 // Make PID
199 //
200
eee6e868 201 //AliTRDpidESD trdPID;
202 //trdPID.MakePID(esd);
25ca55ce 203
25ca55ce 204}
205
206//_____________________________________________________________________________
207void AliTRDReconstructor::FillESD(AliRawReader* /*rawReader*/
208 , TTree* /*clusterTree*/
eee6e868 209 , AliESDEvent* /*esd*/) const
25ca55ce 210{
211 //
212 // Make PID
213 //
214
eee6e868 215 //AliTRDpidESD trdPID;
216 //trdPID.MakePID(esd);
25ca55ce 217
25ca55ce 218}
219
220//_____________________________________________________________________________
221void AliTRDReconstructor::FillESD(TTree* /*digitsTree*/
222 , TTree* /*clusterTree*/
ca21baaa 223 , AliESDEvent* /*esd*/) const
25ca55ce 224{
225 //
226 // Make PID
227 //
228
eee6e868 229 //AliTRDpidESD trdPID;
230 //trdPID.MakePID(esd);
25ca55ce 231
25ca55ce 232}
233
121a60bd 234//_____________________________________________________________________________
36698bd7 235void AliTRDReconstructor::FillESD(AliRunLoader* /*runLoader*/
eee6e868 236 , AliESDEvent* /*esd*/) const
121a60bd 237{
3bc9d03e 238 //
239 // Make PID
240 //
b0f03c34 241
eee6e868 242 //AliTRDpidESD trdPID;
243 //trdPID.MakePID(esd);
0ee00e25 244
121a60bd 245}