1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////////
20 // class for TRD reconstruction //
22 ///////////////////////////////////////////////////////////////////////////////
25 #include "AliTRDReconstructor.h"
26 #include "AliRunLoader.h"
27 #include "AliTRDparameter.h"
28 #include "AliTRDclusterizerV1.h"
29 #include "AliTRDtracker.h"
30 #include "AliTRDpidESD.h"
34 ClassImp(AliTRDReconstructor)
37 //_____________________________________________________________________________
38 void AliTRDReconstructor::Reconstruct(AliRunLoader* runLoader) const
40 // reconstruct clusters
42 AliLoader *loader=runLoader->GetLoader("TRDLoader");
43 loader->LoadRecPoints("recreate");
45 AliTRDclusterizerV1 clusterer("clusterer", "TRD clusterizer");
46 runLoader->CdGAFile();
47 AliTRDparameter* trdParam = GetTRDparameter(runLoader);
49 Error("Reconstruct", "no TRD parameters found");
53 clusterer.SetParameter(trdParam);
54 Int_t nEvents = runLoader->GetNumberOfEvents();
56 for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
57 clusterer.Open(runLoader->GetFileName(), iEvent);
58 clusterer.ReadDigits();
59 clusterer.MakeClusters();
60 clusterer.WriteClusters(-1);
63 loader->UnloadRecPoints();
66 //_____________________________________________________________________________
67 AliTracker* AliTRDReconstructor::CreateTracker(AliRunLoader* runLoader) const
69 // create a TRD tracker
71 runLoader->CdGAFile();
72 return new AliTRDtracker(gFile);
75 //_____________________________________________________________________________
76 void AliTRDReconstructor::FillESD(AliRunLoader* /*runLoader*/,
82 280., // Min. Ionizing Particle signal. Check it !!!
83 0.23, // relative resolution Check it !!!
84 10. // PID range (in sigmas)
86 AliTRDpidESD trdPID(parTRD);
91 //_____________________________________________________________________________
92 AliTRDparameter* AliTRDReconstructor::GetTRDparameter(AliRunLoader* runLoader) const
94 // get the TRD parameters
96 runLoader->CdGAFile();
97 AliTRDparameter* trdParam = (AliTRDparameter*) gFile->Get("TRDparameter");
99 Error("GetTRDparameter", "no TRD parameters available");