]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliAnaMaker.h
appropriately modified builders for package and PAR library
[u/mrichter/AliRoot.git] / PWG4 / AliAnaMaker.h
1 #ifndef ALIANAMAKER_H
2 #define ALIANAMAKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id:  $ */
6
7 //_________________________________________________________________________
8 // Steering class for particle (gamma, hadron) identification and correlation analysis
9 // It is called by the task class AliAnalysisTaskParticleCorrelation and it connects the input 
10 // (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TClonesArrays of AODs 
11 // (TParticles in MC case if requested)), with the 
12 // analysis classes that derive from AliAnaBaseClass
13 //
14 // -- Author: Gustavo Conesa (INFN-LNF)
15
16 // --- ROOT system ---
17 class TList; 
18 class TClonesArray;
19 #include<TObject.h>
20 class TString;
21
22 // --- Analysis system ---
23 #include "AliLog.h"
24 class AliCaloTrackReader ;
25
26 class AliAnaMaker : public TObject {
27
28 public: 
29   
30   AliAnaMaker() ; // default ctor
31   AliAnaMaker(const AliAnaMaker & g) ; // cpy ctor
32   AliAnaMaker & operator = (const AliAnaMaker & g) ;//cpy assignment
33   virtual ~AliAnaMaker() ; //virtual dtor
34
35   //Setter and getters
36   TList * GetOutputContainer()      const {return fOutputContainer ; }
37
38   Int_t GetAnaDebug() const  { return fAnaDebug ; }
39   void SetAnaDebug(Int_t d)   { fAnaDebug = d ; }
40
41   Bool_t AreHistogramsMade() const  { return fMakeHisto ; }
42   void SwitchOnHistogramsMaker()   { fMakeHisto = kTRUE ; }
43   void SwitchOffHistogramsMaker()   { fMakeHisto = kFALSE ; }
44  
45   Bool_t AreAODsMade() const  { return fMakeAOD ; }
46   void SwitchOnAODsMaker()   { fMakeAOD = kTRUE ; }
47   void SwitchOffAODsMaker()   { fMakeAOD = kFALSE ; }
48
49   void SetAODBranch(TClonesArray* aodbranch) {fAODBranch = aodbranch;}
50   
51   void AddAnalysis(TObject* ana, Int_t n) {if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n); 
52     else AliFatal("AnalysisContainer not initialized");}
53
54   TString GetAODBranchName() const {return  fAODBranchName;}
55   void SetAODBranchName(TString name)  {fAODBranchName = name ;}
56
57   AliCaloTrackReader * GetReader() const {return fReader ; }
58   void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
59
60   //Others
61   void Init();
62   void InitParameters();
63
64   void Print(const Option_t * opt) const;
65
66   Bool_t ProcessEvent(Int_t iEntry) ;
67
68  private:
69   
70   //General Data members
71
72   TList * fOutputContainer ; // output histograms container
73   TList * fAnalysisContainer ; // List with analysis pointers
74   Bool_t  fMakeHisto ; // If true makes final analysis with histograms as output
75   Bool_t  fMakeAOD ; // If true makes analysis generating AODs
76   Int_t   fAnaDebug; // Debugging info.
77  
78   AliCaloTrackReader *  fReader ; // Pointer to reader 
79   TClonesArray* fAODBranch ;        //! selected particles branch
80   TString fAODBranchName; // New AOD branch name
81
82   ClassDef(AliAnaMaker,1)
83 } ;
84  
85
86 #endif //ALIANAMAKER_H
87
88
89