f14d3d5071915dcb39921bca58a5be1b9b59b505
[u/mrichter/AliRoot.git] / PHOS / Reconstruction.C
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 /* $Id$ */
16 //_________________________________________________________________________
17 // Macros performing the full reconstruction chain starting from Digits
18 // Use Case : 
19 //          root> .L Reconstruction.C++
20 //          root> rec("RE", "PHOS EMCAL") --> does the reconstruction for 
21 //                                            PHOS and EMCAL and stores the 
22 //                                            reconstructed particles in 
23 //                                            AliESDs.root
24 // author  : Yves Schutz (CERN/SUBATECH)
25 // February 2004
26 //_________________________________________________________________________
27  
28 #include "AliReconstruction.h"
29 #include "TString.h"
30 #include "Riostream.h"
31 #include "AliPHOSGetter.h"
32 #include "AliEMCALGetter.h"
33
34 void reco(TString opt="TRE", TString name="all", Bool_t debug="kFALSE") 
35 {
36   AliReconstruction rec ; 
37   if ( !opt.Contains("T") ) {
38     rec.SetRunTracking(kFALSE) ;
39     rec.SetRunVertexFinder(kFALSE) ; 
40   }
41
42   if ( opt.Contains("R") ) 
43     rec.SetRunLocalReconstruction(name.Data()) ; 
44   else 
45     rec.SetRunLocalReconstruction("") ;
46
47   if ( !opt.Contains("E") )
48     rec.SetFillESD("") ; 
49   else 
50     rec.SetFillESD(name.Data()) ; 
51
52   rec.Run() ;
53
54   if ( name.Contains("PHOS") ) {
55     cout << ">>>>>>>>>>>> PHOS " << endl ; 
56     AliPHOSGetter * gime = AliPHOSGetter::Instance("galice.root") ; 
57     Int_t event ; 
58     for (event = 0; event < gime->MaxEvent(); event++) {
59       cout << "event # " << event << endl ; 
60       gime->Event(event, "RPT") ; 
61       cout << "   EMC RecPoints  # " << gime->EmcRecPoints()->GetEntries() << endl ; 
62       cout << "   CPV RecPoints  # " << gime->CpvRecPoints()->GetEntries() << endl ; 
63       cout << "   Track Segments # " << gime->TrackSegments()->GetEntries() << endl ; 
64       cout << "   Rec Particles  # " << gime->RecParticles()->GetEntries() << endl ; 
65     }
66   } 
67  if ( name.Contains("EMCAL") ) {
68     cout << ">>>>>>>>>>>> EMCAL " << endl ; 
69     AliEMCALGetter * gime = AliEMCALGetter::Instance("galice.root") ; 
70     Int_t event ; 
71     for (event = 0; event < gime->MaxEvent(); event++) {
72       cout << "event # " << event << endl ; 
73       gime->Event(event, "RP") ; 
74       cout << "       RecPoints  # " << gime->ECARecPoints()->GetEntries() << endl ; 
75       cout << "   Rec Particles  # " << gime->RecParticles()->GetEntries() << endl ; 
76     }
77  } 
78 }