]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrBase/AliAnaPartCorrMaker.h
add a histogram counting the analyzed number of events
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliAnaPartCorrMaker.h
CommitLineData
1c5acb87 1#ifndef ALIANAPARTCORRMAKER_H
2#define ALIANAPARTCORRMAKER_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
a8a55c9d 10// (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TObjArrays of AODs
1c5acb87 11// (TParticles in MC case if requested)), with the
12// analysis classes that derive from AliAnaPartCorrBaseClass
13//
14// -- Author: Gustavo Conesa (INFN-LNF)
15
16// --- ROOT system ---
17class TList;
18class TClonesArray;
19#include<TObject.h>
20class TString;
031ac63e 21class TH1I;
1c5acb87 22
23// --- Analysis system ---
24class AliCaloTrackReader ;
25
26class AliAnaPartCorrMaker : public TObject {
27
477d6cee 28 public:
1c5acb87 29
30 AliAnaPartCorrMaker() ; // default ctor
d151d2ee 31 AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) ; // cpy ctor
1c5acb87 32 virtual ~AliAnaPartCorrMaker() ; //virtual dtor
d151d2ee 33
34 private:
7b095e3b 35 AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & ) ;//cpy assignment
d151d2ee 36
37 public:
38
1c5acb87 39 //Setter and getters
40 TList * GetAODBranchList() ;
2e557d1c 41 TList * GetOutputContainer() ;
1c5acb87 42
43 Int_t GetAnaDebug() const { return fAnaDebug ; }
591cc579 44 void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
42dc8e7d 45
591cc579 46 Bool_t AreHistogramsMade() const { return fMakeHisto ; }
1c5acb87 47 void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
591cc579 48 void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
1c5acb87 49
591cc579 50 Bool_t AreAODsMade() const { return fMakeAOD ; }
1c5acb87 51 void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
591cc579 52 void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
1c5acb87 53
a5cc4f03 54 void Terminate(TList * outputList);
6639984f 55
1c5acb87 56 void AddAnalysis(TObject* ana, Int_t n) {
477d6cee 57 if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
58 else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n");
59 abort();}
60 }
61
1c5acb87 62 AliCaloTrackReader * GetReader() const {return fReader ; }
a8a55c9d 63 void SetReader(AliCaloTrackReader * const reader) { fReader = reader ; }
591cc579 64
1c5acb87 65 //Others
66 void Init();
67 void InitParameters();
477d6cee 68
1c5acb87 69 void Print(const Option_t * opt) const;
477d6cee 70
29b2ceec 71 void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
477d6cee 72
1c5acb87 73 private:
74
75 //General Data members
477d6cee 76
1c5acb87 77 TList * fOutputContainer ; // output histograms container
78 TList * fAnalysisContainer ; // List with analysis pointers
79 Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
80 Bool_t fMakeAOD ; // If true makes analysis generating AODs
81 Int_t fAnaDebug; // Debugging info.
82
83 AliCaloTrackReader * fReader ; // Pointer to reader
84 TList * fAODBranchList ; //! List with AOD branches created and needed in analysis
42dc8e7d 85
031ac63e 86 TH1I *fhNEvents; //! Number of events counter histogram
87
88 ClassDef(AliAnaPartCorrMaker,3)
1c5acb87 89} ;
90
91
92#endif //ALIANAPARTCORRMAKER_H
93
94
95