]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSPID.cxx
avoid compilation warnings when adding selection macros
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.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 //  Algorithm class for the identification of particles detected in PHOS        
20 //  base  class  of identified particle  
21 //  Why should I put meaningless comments
22 //  just to satisfy
23 //  the code checker                
24                          
25 //                  
26 //*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko
27
28
29 // --- ROOT system ---
30 #include "TBranch.h"
31 #include "TClonesArray.h"
32 #include "TTree.h"
33
34 // --- Standard library ---
35
36 // --- AliRoot header files ---
37 #include "AliConfig.h"
38 #include "AliLog.h"
39 #include "AliPHOSPID.h"
40
41 ClassImp(AliPHOSPID)
42
43 //____________________________________________________________________________
44 AliPHOSPID::AliPHOSPID():
45   TObject(),
46   fGeom(NULL),
47   fESD(0x0),
48   fEMCRecPoints(NULL),
49   fCPVRecPoints(NULL),
50   fTrackSegments(NULL),
51   fRecParticles(NULL),
52   fEnergyCorrectionOn(kTRUE)
53 {
54   // ctor
55 }
56
57
58 //____________________________________________________________________________
59 AliPHOSPID::AliPHOSPID(AliPHOSGeometry *geom):
60   TObject(),
61   fGeom(geom),
62   fESD(0x0),
63   fEMCRecPoints(NULL),
64   fCPVRecPoints(NULL),
65   fTrackSegments(NULL),
66   fRecParticles(NULL),
67   fEnergyCorrectionOn(kTRUE)
68 {
69   // ctor
70   fEMCRecPoints = new TObjArray(100) ;
71   fCPVRecPoints = new TObjArray(100) ;
72   fRecParticles = new TClonesArray("AliPHOSRecParticle",100) ;
73   fRecParticles->SetName("RECPARTICLES");
74
75 }
76
77 //____________________________________________________________________________
78 AliPHOSPID::AliPHOSPID(const AliPHOSPID & pid) :
79   TObject(pid),
80   fGeom(pid.fGeom),
81   fESD(pid.fESD), 
82   fEMCRecPoints(pid.fEMCRecPoints),
83   fCPVRecPoints(pid.fCPVRecPoints),
84   fTrackSegments(pid.fTrackSegments),
85   fRecParticles(pid.fRecParticles),
86   fEnergyCorrectionOn(pid.fEnergyCorrectionOn)
87 {
88   // Copy constructor
89 }
90
91 //____________________________________________________________________________
92 AliPHOSPID::~AliPHOSPID()
93 {
94   // dtor
95   if (fEMCRecPoints) {
96     fEMCRecPoints->Delete();
97     delete fEMCRecPoints;
98   }
99   if (fCPVRecPoints) {
100     fCPVRecPoints->Delete();
101     delete fCPVRecPoints;
102   }
103   if (fRecParticles) {
104     fRecParticles->Delete();
105     delete fRecParticles;
106   }
107 }
108
109 //____________________________________________________________________________
110 void AliPHOSPID::SetInput(TTree *clustersTree, TClonesArray *trackSegments)
111 {
112   // Read the clusters tree and creates the
113   // arrays with the EMC and CPV
114   // clusters.
115   // and set the corresponding branch addresses
116
117   fTrackSegments = trackSegments;
118
119   TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP");
120   if (!emcbranch) { 
121     AliError("can't get the branch with the PHOS EMC clusters !");
122     return;
123   }
124   emcbranch->SetAddress(&fEMCRecPoints);
125   fEMCRecPoints->Delete();
126   emcbranch->GetEntry(0);
127
128   TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP");
129   if (!cpvbranch) { 
130     AliError("can't get the branch with the PHOS CPV clusters !");
131     return;
132   }
133   cpvbranch->SetAddress(&fCPVRecPoints);
134   fCPVRecPoints->Delete();
135   cpvbranch->GetEntry(0);
136 }