/************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * * Author: The ALICE Off-line Project. * * Contributors are mentioned in the code where appropriate. * * * * Permission to use, copy, modify and distribute this software and its * * documentation strictly for non-commercial purposes is hereby granted * * without fee, provided that the above copyright notice appears in all * * copies and that both the copyright notice and this permission notice * * appear in the supporting documentation. The authors make no claims * * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ /* $Id$ */ /////////////////////////////////////////////////////////////////////////////// // // // Class for TRD reconstruction // // // /////////////////////////////////////////////////////////////////////////////// #include #include "AliRunLoader.h" #include "AliRawReader.h" #include "AliLog.h" #include "AliESDTrdTrack.h" #include "AliESDEvent.h" #include "AliTRDReconstructor.h" #include "AliTRDclusterizer.h" #include "AliTRDtracker.h" #include "AliTRDpidESD.h" #include "AliTRDgtuTrack.h" #include "AliTRDrawData.h" #include "AliTRDdigitsManager.h" #include "AliTRDtrackerV1.h" #include "AliTRDrecoParam.h" ClassImp(AliTRDReconstructor) Bool_t AliTRDReconstructor::fgkSeedingOn = kFALSE; Int_t AliTRDReconstructor::fgStreamLevel = 0; // Stream (debug) level AliTRDrecoParam* AliTRDReconstructor::fgRecoParam = 0x0; //_____________________________________________________________________________ AliTRDReconstructor::~AliTRDReconstructor() { if(fgRecoParam) delete fgRecoParam; } //_____________________________________________________________________________ void AliTRDReconstructor::ConvertDigits(AliRawReader *rawReader , TTree *digitsTree) const { // // Convert raw data digits into digit objects in a root tree // AliInfo("Convert raw data digits into digit objects [RawReader -> Digit TTree]"); AliTRDrawData rawData; rawReader->Reset(); rawReader->Select("TRD"); AliTRDdigitsManager *manager = rawData.Raw2Digits(rawReader); manager->MakeBranch(digitsTree); manager->WriteDigits(); delete manager; } //_____________________________________________________________________________ void AliTRDReconstructor::Reconstruct(AliRawReader *rawReader , TTree *clusterTree) const { // // Reconstruct clusters // AliInfo("Reconstruct TRD clusters from RAW data [RawReader -> Cluster TTree]"); // TODO move it to rec.C. check TPC if (!fgRecoParam) fgRecoParam = AliTRDrecoParam::GetLowFluxParam(); rawReader->Reset(); rawReader->Select("TRD"); // New (fast) cluster finder AliTRDclusterizer clusterer("clusterer","TRD clusterizer"); clusterer.OpenOutput(clusterTree); clusterer.SetAddLabels(kFALSE); clusterer.Raw2ClustersChamber(rawReader); } //_____________________________________________________________________________ void AliTRDReconstructor::Reconstruct(TTree *digitsTree , TTree *clusterTree) const { // // Reconstruct clusters // AliInfo("Reconstruct TRD clusters from Digits [Digit TTree -> Cluster TTree]"); // TODO move it to rec.C. check TPC if (!fgRecoParam) fgRecoParam = AliTRDrecoParam::GetLowFluxParam(); AliTRDclusterizer clusterer("clusterer","TRD clusterizer"); clusterer.OpenOutput(clusterTree); clusterer.ReadDigits(digitsTree); clusterer.MakeClusters(); } //_____________________________________________________________________________ AliTracker *AliTRDReconstructor::CreateTracker() const { // // Create a TRD tracker // //return new AliTRDtracker(NULL); // TODO move it to rec.C. check TPC if (!fgRecoParam) fgRecoParam = AliTRDrecoParam::GetLowFluxParam(); return new AliTRDtrackerV1(); } //_____________________________________________________________________________ void AliTRDReconstructor::FillESD(TTree* /*digitsTree*/ , TTree* /*clusterTree*/ , AliESDEvent* /*esd*/) const { // // Fill ESD // }