ROOT logo
/**************************************************************************
 * 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.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// class for PMD reconstruction                                              //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "Riostream.h"
#include "AliPMDReconstructor.h"
#include "AliRun.h"
#include "AliPMDClusterFinder.h"
#include "AliPMDtracker.h"
#include "AliRawReader.h"
#include "AliESDPmdTrack.h"
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliRunInfo.h"

ClassImp(AliPMDReconstructor)

// ------------------------------------------------------------------------ //

void AliPMDReconstructor::Reconstruct(AliRawReader *rawReader,
				      TTree *clustersTree) const
{
// reconstruct clusters from Raw Data
// Event Species Added By satyajit
  Int_t gRecoMode = 1;
  TString beamType = GetRunInfo()->GetBeamType();
  
  if (((beamType.CompareTo("pp"))==0) || 
      ((beamType.CompareTo("p-p"))==0)||
      ((beamType.CompareTo("PP"))==0) || 
      ((beamType.CompareTo("P-P"))==0)) {
    gRecoMode=1;
  }
  
  else if ((beamType.CompareTo("A-A")) == 0 || 
	   (beamType.CompareTo("AA")) == 0) {
    gRecoMode=2;
  }

    static AliPMDClusterFinder pmdClus;
    pmdClus.Digits2RecPoints(rawReader, clustersTree, gRecoMode);
}

// ------------------------------------------------------------------------ //
void AliPMDReconstructor::Reconstruct(TTree *digitsTree,
				      TTree *clustersTree) const
{
  // reconstruct clusters from Digits
  // Setting reconstruction mode
 
  // Added to Have Sepatrate Event Spcies
  Int_t gRecoMode = 1;
  TString beamType = GetRunInfo()->GetBeamType();
 
  if (((beamType.CompareTo("pp"))==0) || 
     ((beamType.CompareTo("p-p"))==0)||
     ((beamType.CompareTo("PP"))==0) || 
     ((beamType.CompareTo("P-P"))==0)) {
    gRecoMode=1;
  }
  
  else if ((beamType.CompareTo("A-A")) == 0 || 
	   (beamType.CompareTo("AA")) == 0) {
    gRecoMode=2;
  }
  
  static AliPMDClusterFinder pmdClus;
  pmdClus.Digits2RecPoints(digitsTree, clustersTree,gRecoMode);

}

// ------------------------------------------------------------------------ //
void AliPMDReconstructor::FillESD(AliRawReader* /*rawReader*/,
				  TTree* clustersTree, AliESDEvent* esd) const
{
    static AliPMDtracker pmdtracker;
    pmdtracker.LoadClusters(clustersTree);
    pmdtracker.Clusters2Tracks(esd);
}
// ------------------------------------------------------------------------ //
void AliPMDReconstructor::FillESD(TTree * /*digitsTree*/,
				  TTree* clustersTree, AliESDEvent* esd) const
{
    static AliPMDtracker pmdtracker;
    pmdtracker.LoadClusters(clustersTree);
    pmdtracker.Clusters2Tracks(esd);
}


 AliPMDReconstructor.cxx:1
 AliPMDReconstructor.cxx:2
 AliPMDReconstructor.cxx:3
 AliPMDReconstructor.cxx:4
 AliPMDReconstructor.cxx:5
 AliPMDReconstructor.cxx:6
 AliPMDReconstructor.cxx:7
 AliPMDReconstructor.cxx:8
 AliPMDReconstructor.cxx:9
 AliPMDReconstructor.cxx:10
 AliPMDReconstructor.cxx:11
 AliPMDReconstructor.cxx:12
 AliPMDReconstructor.cxx:13
 AliPMDReconstructor.cxx:14
 AliPMDReconstructor.cxx:15
 AliPMDReconstructor.cxx:16
 AliPMDReconstructor.cxx:17
 AliPMDReconstructor.cxx:18
 AliPMDReconstructor.cxx:19
 AliPMDReconstructor.cxx:20
 AliPMDReconstructor.cxx:21
 AliPMDReconstructor.cxx:22
 AliPMDReconstructor.cxx:23
 AliPMDReconstructor.cxx:24
 AliPMDReconstructor.cxx:25
 AliPMDReconstructor.cxx:26
 AliPMDReconstructor.cxx:27
 AliPMDReconstructor.cxx:28
 AliPMDReconstructor.cxx:29
 AliPMDReconstructor.cxx:30
 AliPMDReconstructor.cxx:31
 AliPMDReconstructor.cxx:32
 AliPMDReconstructor.cxx:33
 AliPMDReconstructor.cxx:34
 AliPMDReconstructor.cxx:35
 AliPMDReconstructor.cxx:36
 AliPMDReconstructor.cxx:37
 AliPMDReconstructor.cxx:38
 AliPMDReconstructor.cxx:39
 AliPMDReconstructor.cxx:40
 AliPMDReconstructor.cxx:41
 AliPMDReconstructor.cxx:42
 AliPMDReconstructor.cxx:43
 AliPMDReconstructor.cxx:44
 AliPMDReconstructor.cxx:45
 AliPMDReconstructor.cxx:46
 AliPMDReconstructor.cxx:47
 AliPMDReconstructor.cxx:48
 AliPMDReconstructor.cxx:49
 AliPMDReconstructor.cxx:50
 AliPMDReconstructor.cxx:51
 AliPMDReconstructor.cxx:52
 AliPMDReconstructor.cxx:53
 AliPMDReconstructor.cxx:54
 AliPMDReconstructor.cxx:55
 AliPMDReconstructor.cxx:56
 AliPMDReconstructor.cxx:57
 AliPMDReconstructor.cxx:58
 AliPMDReconstructor.cxx:59
 AliPMDReconstructor.cxx:60
 AliPMDReconstructor.cxx:61
 AliPMDReconstructor.cxx:62
 AliPMDReconstructor.cxx:63
 AliPMDReconstructor.cxx:64
 AliPMDReconstructor.cxx:65
 AliPMDReconstructor.cxx:66
 AliPMDReconstructor.cxx:67
 AliPMDReconstructor.cxx:68
 AliPMDReconstructor.cxx:69
 AliPMDReconstructor.cxx:70
 AliPMDReconstructor.cxx:71
 AliPMDReconstructor.cxx:72
 AliPMDReconstructor.cxx:73
 AliPMDReconstructor.cxx:74
 AliPMDReconstructor.cxx:75
 AliPMDReconstructor.cxx:76
 AliPMDReconstructor.cxx:77
 AliPMDReconstructor.cxx:78
 AliPMDReconstructor.cxx:79
 AliPMDReconstructor.cxx:80
 AliPMDReconstructor.cxx:81
 AliPMDReconstructor.cxx:82
 AliPMDReconstructor.cxx:83
 AliPMDReconstructor.cxx:84
 AliPMDReconstructor.cxx:85
 AliPMDReconstructor.cxx:86
 AliPMDReconstructor.cxx:87
 AliPMDReconstructor.cxx:88
 AliPMDReconstructor.cxx:89
 AliPMDReconstructor.cxx:90
 AliPMDReconstructor.cxx:91
 AliPMDReconstructor.cxx:92
 AliPMDReconstructor.cxx:93
 AliPMDReconstructor.cxx:94
 AliPMDReconstructor.cxx:95
 AliPMDReconstructor.cxx:96
 AliPMDReconstructor.cxx:97
 AliPMDReconstructor.cxx:98
 AliPMDReconstructor.cxx:99
 AliPMDReconstructor.cxx:100
 AliPMDReconstructor.cxx:101
 AliPMDReconstructor.cxx:102
 AliPMDReconstructor.cxx:103
 AliPMDReconstructor.cxx:104
 AliPMDReconstructor.cxx:105
 AliPMDReconstructor.cxx:106