Extracting PHOS and EMCAL trackers from the correspondig reconstructors (Yu.Belikov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTracker.cxx
1 #include "AliPHOSTracker.h"
2 #include "AliPHOSTrackSegmentMakerv1.h"
3 #include "AliPHOSPIDv1.h"
4 #include "AliRunLoader.h"
5 #include "AliESD.h"
6
7 //-------------------------------------------------------------------------
8 //                          PHOS tracker.
9 // Matches ESD tracks with the PHOS and makes the PID.  
10 // Currently, has only one function implemented : PropagateBack(AliESD*)
11 //-------------------------------------------------------------------------
12
13 ClassImp(AliPHOSTracker)
14
15 Bool_t AliPHOSTracker::fgDebug = kFALSE ; 
16
17 Int_t AliPHOSTracker::PropagateBack(AliESD *esd) {
18   // Called by AliReconstruction 
19   // Creates the tracksegments and Recparticles
20   // Makes the PID
21   
22   Int_t eventNumber = fRunLoader->GetEventNumber() ;
23
24   TString headerFile(fRunLoader->GetFileName()) ; 
25   TString branchName(fRunLoader->GetEventFolder()->GetName()) ;  
26
27   AliPHOSTrackSegmentMakerv1 tsm(headerFile, branchName);
28   tsm.SetESD(esd) ; 
29   AliPHOSPIDv1 pid(headerFile, branchName);
30
31   // do current event; the loop over events is done by AliReconstruction::Run()
32   tsm.SetEventRange(eventNumber, eventNumber) ; 
33   pid.SetEventRange(eventNumber, eventNumber) ; 
34   if ( Debug() ) {
35    tsm.ExecuteTask("deb all") ;
36    pid.ExecuteTask("deb all") ;
37   }
38   else {
39     tsm.ExecuteTask("") ;
40     pid.ExecuteTask("") ;
41   }
42   
43   return 0;
44 }