1 // YS Subatech Mai 2002
2 // YK Subatech 6 Aug 2002
4 // PHOS Reconstruction chain:
5 // Hits -> SDigits -> Digits -> RecPoints -> TrackSegments -> RecParticles
11 #include "STEER/AliRun.h"
12 #include "PHOS/AliPHOSSDigitizer.h"
13 #include "PHOS/AliPHOSDigitizer.h"
14 #include "PHOS/AliPHOSClusterizerv1.h"
15 #include "PHOS/AliPHOSTrackSegmentMakerv1.h"
16 #include "PHOS/AliPHOSPIDv1.h"
17 #include "EMCAL/AliEMCALSDigitizer.h"
18 #include "EMCAL/AliEMCALDigitizer.h"
19 #include "EMCAL/AliEMCALClusterizerv1.h"
21 void PHOSHits2SDigits( Bool_t split=kFALSE, TString fileName = "galice.root") {
24 // 1. write SDigits in the same file as Hits --------------- (OK)
25 //root [0] .L Reconstruct.C++
26 //root [1] SDigits2Digits()
27 // 2. write SDigits in a separate file, one per detector, from Hits --------------- (OK)
28 //root [0] .L Reconstruct.C++
29 //root [1] SDigits2Digits(kTRUE) // SDigits saved in [DET}.SDigits.root (DET=PHOS, EMCAL)
34 AliPHOSSDigitizer * sdp = new AliPHOSSDigitizer(fileName) ;
37 sdp->ExecuteTask("deb") ;
42 //________________________________________________________________________
43 void PHOSSDigits2Digits( Bool_t split=kFALSE, TString fileName = "galice.root") {
46 // 1. write SDigits in the same file as SDigits --------------- (OK)
47 //root [0] .L Reconstruct.C++
48 //root [1] SDigits2Digits()
49 // 2. write SDigits in a separate file, one per detector, from SDigits --------------- (OK)
50 //root [0] .L Reconstruct.C++
51 //root [1] SDigitsDigits(kTRUE) // Digits saved in [DET}.Digits.root (DET=PHOS, EMCAL)
57 AliPHOSDigitizer * dp = 0 ;
60 dp = new AliPHOSDigitizer("PHOS.SDigits.root") ;
61 dp->SetSplitFile() ; }
63 dp = new AliPHOSDigitizer(fileName) ;
65 dp->ExecuteTask("deb") ;
70 //________________________________________________________________________
71 void PHOSDigits2RecPoints( Bool_t split=kFALSE, TString fileName = "galice.root") {
74 // 1. write RecPoints in the same file as Digits --------------- OK
75 //root [0] .L Reconstruct.C++
76 //root [1] Digits2RecPoints()
77 // 2. write RecPoints in a separate file, one per detector, from Digits --------------- OK
78 //root [0] .L Reconstruct.C++
79 //root [1] Digits2RecPoints(kTRUE) // RecPoints saved in [DET}.RecPoints.root (DET=PHOS, EMCAL)
84 AliPHOSClusterizer * cp = 0 ;
87 cp = new AliPHOSClusterizerv1("PHOS.Digits.root") ;
88 cp->SetSplitFile() ; }
90 cp = new AliPHOSClusterizerv1(fileName) ;
92 cp->ExecuteTask("deb") ;
97 //________________________________________________________________________
98 void PHOSRecPoints2TrackSegments( Bool_t split=kFALSE, TString fileName = "galice.root") {
101 // 1. write TrackSegments in the same file as RecPoints --------------- (OK)
102 //root [0] .L Reconstruct.C++
103 //root [1] RecPoints2TrackSegments()
104 // 2. write TrackSegments in a separate file, one per detector, from RecPoints --------------- (Not needed)
105 //root [0] .L Reconstruct.C++
106 //root [1] RecPoints2TrackSegments(kTRUE) // TrackSegments saved in [DET}.RecData.root (DET=PHOS, EMCAL)
111 AliPHOSTrackSegmentMaker * tmp = 0 ;
114 tmp = new AliPHOSTrackSegmentMakerv1("PHOS.RecData.root") ;
116 tmp = new AliPHOSTrackSegmentMakerv1(fileName) ;
118 tmp->ExecuteTask("deb") ;
123 //________________________________________________________________________
124 void PHOSTrackSegments2RecParticles( Bool_t split=kFALSE, TString fileName = "galice.root") {
127 // 1. write RecParticles in the same file as TrackSegments --------------- (OK)
128 //root [0] .L Reconstruct.C++
129 //root [1] TrackSegments2RecParticles()
130 // 2. write RecParticles in a separate file, one per detector, from TrackSegments --------------- (Not needed)
131 //root [0] .L Reconstruct.C++
132 //root [1] TrackSegments2RecParticles(kTRUE) // RecParticles saved in [DET}.RecData.root (DET=PHOS, EMCAL)
137 AliPHOSPID * pp = 0 ;
140 pp = new AliPHOSPIDv1("PHOS.RecData.root") ;
142 pp = new AliPHOSPIDv1(fileName) ;
144 pp->ExecuteTask("deb") ;
149 //________________________________________________________________________
150 void PHOSDigits2RecParticles( Bool_t split=kFALSE, TString fileName = "galice.root") {
153 // 1. write RecPoints, TrackSegments and RecParticles in the same file as Digits --------------- (OK)
154 //root [0] .L Reconstruct.C++
155 //root [1] Digits2RecParticles()
156 // 2. write RecPoints , TrackSegments and RecParticles in a separate file, one per detector, from Digits --------------- (OK)
157 //root [0] .L Reconstruct.C++
158 //root [1] Digits2RecParticles(kTRUE) // TrackSegments saved in [DET}.RecData.root (DET=PHOS, EMCAL)
165 AliPHOSClusterizer * cp = 0 ;
168 cp = new AliPHOSClusterizerv1("PHOS.Digits.root") ;
169 cp->SetSplitFile() ; }
171 cp = new AliPHOSClusterizerv1(fileName) ;
173 cp->ExecuteTask("deb") ;
178 AliPHOSTrackSegmentMaker * tmp = 0 ;
181 tmp = new AliPHOSTrackSegmentMakerv1("PHOS.RecData.root") ;
183 tmp = new AliPHOSTrackSegmentMakerv1(fileName) ;
185 tmp->ExecuteTask("deb") ;
187 AliPHOSPID * pp = 0 ;
190 pp = new AliPHOSPIDv1("PHOS.RecData.root") ;
192 pp = new AliPHOSPIDv1(fileName) ;
194 pp->ExecuteTask("deb") ;
200 //________________________________________________________________________
201 void PHOSHits2Digits (Bool_t split=kFALSE, TString fileName = "galice.root") {
203 // 1. write (S)Digits in the same file as Hits --------------- (OK)
204 //root [0] .L Reconstruct.C++
205 //root [1] Hits2Digits()
206 // 2. write (S)Digits in a separate file, one per detector, from Hits --------------- (OK)
207 //root [0] .L Reconstruct.C++
208 //root [1] Hits2Digits(kTRUE) // SDigits saved in [DET}.SDigits.root (DET=PHOS, EMCAL)
209 // Digits saved in [DET}.Digits.root (DET=PHOS, EMCAL)
215 AliPHOSSDigitizer * sdp = new AliPHOSSDigitizer(fileName) ;
217 sdp->SetSplitFile() ;
218 sdp->ExecuteTask("deb") ;
223 AliPHOSDigitizer * dp = 0 ;
226 dp = new AliPHOSDigitizer("PHOS.SDigits.root") ;
227 dp->SetSplitFile() ; }
229 dp = new AliPHOSDigitizer(fileName) ;
231 dp->ExecuteTask("deb") ;