1 // YS Subatech Mai 2002
2 // YK Subatech 6 Aug 2002
4 // PHOS Reconstruction chain:
5 // Hits -> SDigits -> Digits -> RecPoints -> TrackSegments -> RecParticles
8 #if !defined(__CINT__) || defined(__MAKECINT__)
12 #include "STEER/AliRun.h"
13 #include "PHOS/AliPHOSSDigitizer.h"
14 #include "PHOS/AliPHOSDigitizer.h"
15 #include "PHOS/AliPHOSClusterizerv1.h"
16 #include "PHOS/AliPHOSTrackSegmentMakerv1.h"
17 #include "PHOS/AliPHOSPIDv1.h"
18 #include "EMCAL/AliEMCALSDigitizer.h"
19 #include "EMCAL/AliEMCALDigitizer.h"
20 #include "EMCAL/AliEMCALClusterizerv1.h"
23 void PHOSHits2SDigits( Bool_t split=kFALSE, TString fileName = "galice.root") {
26 // 1. write SDigits in the same file as Hits --------------- (OK)
27 //root [0] .L Reconstruct.C++
28 //root [1] SDigits2Digits()
29 // 2. write SDigits in a separate file, one per detector, from Hits --------------- (OK)
30 //root [0] .L Reconstruct.C++
31 //root [1] SDigits2Digits(kTRUE) // SDigits saved in [DET}.SDigits.root (DET=PHOS, EMCAL)
36 AliPHOSSDigitizer * sdp = new AliPHOSSDigitizer(fileName) ;
39 sdp->ExecuteTask("deb") ;
44 //________________________________________________________________________
45 void PHOSSDigits2Digits( Bool_t split=kFALSE, TString fileName = "galice.root") {
48 // 1. write SDigits in the same file as SDigits --------------- (OK)
49 //root [0] .L Reconstruct.C++
50 //root [1] SDigits2Digits()
51 // 2. write SDigits in a separate file, one per detector, from SDigits --------------- (OK)
52 //root [0] .L Reconstruct.C++
53 //root [1] SDigitsDigits(kTRUE) // Digits saved in [DET}.Digits.root (DET=PHOS, EMCAL)
59 AliPHOSDigitizer * dp = 0 ;
62 dp = new AliPHOSDigitizer("PHOS.SDigits.root") ;
63 dp->SetSplitFile() ; }
65 dp = new AliPHOSDigitizer(fileName) ;
67 dp->ExecuteTask("deb") ;
72 //________________________________________________________________________
73 void PHOSDigits2RecPoints( Bool_t split=kFALSE, TString fileName = "galice.root") {
76 // 1. write RecPoints in the same file as Digits --------------- OK
77 //root [0] .L Reconstruct.C++
78 //root [1] Digits2RecPoints()
79 // 2. write RecPoints in a separate file, one per detector, from Digits --------------- OK
80 //root [0] .L Reconstruct.C++
81 //root [1] Digits2RecPoints(kTRUE) // RecPoints saved in [DET}.RecPoints.root (DET=PHOS, EMCAL)
86 AliPHOSClusterizer * cp = 0 ;
89 cp = new AliPHOSClusterizerv1("PHOS.Digits.root") ;
90 cp->SetSplitFile() ; }
92 cp = new AliPHOSClusterizerv1(fileName) ;
94 cp->ExecuteTask("deb") ;
99 //________________________________________________________________________
100 void PHOSRecPoints2TrackSegments( Bool_t split=kFALSE, TString fileName = "galice.root") {
103 // 1. write TrackSegments in the same file as RecPoints --------------- (OK)
104 //root [0] .L Reconstruct.C++
105 //root [1] RecPoints2TrackSegments()
106 // 2. write TrackSegments in a separate file, one per detector, from RecPoints --------------- (Not needed)
107 //root [0] .L Reconstruct.C++
108 //root [1] RecPoints2TrackSegments(kTRUE) // TrackSegments saved in [DET}.RecData.root (DET=PHOS, EMCAL)
113 AliPHOSTrackSegmentMaker * tmp = 0 ;
116 tmp = new AliPHOSTrackSegmentMakerv1("PHOS.RecData.root") ;
118 tmp = new AliPHOSTrackSegmentMakerv1(fileName) ;
120 tmp->ExecuteTask("deb") ;
125 //________________________________________________________________________
126 void PHOSTrackSegments2RecParticles( Bool_t split=kFALSE, TString fileName = "galice.root") {
129 // 1. write RecParticles in the same file as TrackSegments --------------- (OK)
130 //root [0] .L Reconstruct.C++
131 //root [1] TrackSegments2RecParticles()
132 // 2. write RecParticles in a separate file, one per detector, from TrackSegments --------------- (Not needed)
133 //root [0] .L Reconstruct.C++
134 //root [1] TrackSegments2RecParticles(kTRUE) // RecParticles saved in [DET}.RecData.root (DET=PHOS, EMCAL)
139 AliPHOSPID * pp = 0 ;
142 pp = new AliPHOSPIDv1("PHOS.RecData.root") ;
144 pp = new AliPHOSPIDv1(fileName) ;
146 pp->ExecuteTask("deb") ;
151 //________________________________________________________________________
152 void PHOSDigits2RecParticles( Bool_t split=kFALSE, TString fileName = "galice.root") {
155 // 1. write RecPoints, TrackSegments and RecParticles in the same file as Digits --------------- (OK)
156 //root [0] .L Reconstruct.C++
157 //root [1] Digits2RecParticles()
158 // 2. write RecPoints , TrackSegments and RecParticles in a separate file, one per detector, from Digits --------------- (OK)
159 //root [0] .L Reconstruct.C++
160 //root [1] Digits2RecParticles(kTRUE) // TrackSegments saved in [DET}.RecData.root (DET=PHOS, EMCAL)
167 AliPHOSClusterizer * cp = 0 ;
170 cp = new AliPHOSClusterizerv1("PHOS.Digits.root") ;
171 cp->SetSplitFile() ; }
173 cp = new AliPHOSClusterizerv1(fileName) ;
175 cp->ExecuteTask("deb") ;
180 AliPHOSTrackSegmentMaker * tmp = 0 ;
183 tmp = new AliPHOSTrackSegmentMakerv1("PHOS.RecData.root") ;
185 tmp = new AliPHOSTrackSegmentMakerv1(fileName) ;
187 tmp->ExecuteTask("deb") ;
189 AliPHOSPID * pp = 0 ;
192 pp = new AliPHOSPIDv1("PHOS.RecData.root") ;
194 pp = new AliPHOSPIDv1(fileName) ;
196 pp->ExecuteTask("deb") ;
202 //________________________________________________________________________
203 void PHOSHits2Digits (Bool_t split=kFALSE, TString fileName = "galice.root") {
205 // 1. write (S)Digits in the same file as Hits --------------- (OK)
206 //root [0] .L Reconstruct.C++
207 //root [1] Hits2Digits()
208 // 2. write (S)Digits in a separate file, one per detector, from Hits --------------- (OK)
209 //root [0] .L Reconstruct.C++
210 //root [1] Hits2Digits(kTRUE) // SDigits saved in [DET}.SDigits.root (DET=PHOS, EMCAL)
211 // Digits saved in [DET}.Digits.root (DET=PHOS, EMCAL)
217 AliPHOSSDigitizer * sdp = new AliPHOSSDigitizer(fileName) ;
219 sdp->SetSplitFile() ;
220 sdp->ExecuteTask("deb") ;
225 AliPHOSDigitizer * dp = 0 ;
228 dp = new AliPHOSDigitizer("PHOS.SDigits.root") ;
229 dp->SetSplitFile() ; }
231 dp = new AliPHOSDigitizer(fileName) ;
233 dp->ExecuteTask("deb") ;