1-New correlation analysis for particle and jet-JETAN correlation; 2-Change GetEntrie...
[u/mrichter/AliRoot.git] / PWG4 / AliAnaPartCorrMaker.h
CommitLineData
c90ac396 1#ifndef AliAnaPartCorrMaker_H
2#define AliAnaPartCorrMaker_H
d92b41ad 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5/* $Id: $ */
6
d92b41ad 7//_________________________________________________________________________
ea83fe44 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
c90ac396 12// analysis classes that derive from AliAnaPartCorrBaseClass
d92b41ad 13//
ea83fe44 14// -- Author: Gustavo Conesa (INFN-LNF)
d92b41ad 15
16// --- ROOT system ---
ea83fe44 17class TList;
18class TClonesArray;
d92b41ad 19#include<TObject.h>
ea83fe44 20class TString;
d92b41ad 21
ea83fe44 22// --- Analysis system ---
23#include "AliLog.h"
d92b41ad 24class AliCaloTrackReader ;
25
c90ac396 26class AliAnaPartCorrMaker : public TObject {
d92b41ad 27
28public:
29
c90ac396 30 AliAnaPartCorrMaker() ; // default ctor
31 AliAnaPartCorrMaker(const AliAnaPartCorrMaker & g) ; // cpy ctor
32 AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & g) ;//cpy assignment
33 virtual ~AliAnaPartCorrMaker() ; //virtual dtor
d92b41ad 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
c90ac396 82 ClassDef(AliAnaPartCorrMaker,1)
d92b41ad 83} ;
84
85
c90ac396 86#endif //AliAnaPartCorrMaker_H
d92b41ad 87
88
89