]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrBase/AliAnaPartCorrMaker.h
emcal clusterizer: add track matching recalculation for ESDs; PartCorr Reader, recalc...
[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>
031ac63e 20class TH1I;
1c5acb87 21
22// --- Analysis system ---
91f45193 23#include "AliCaloTrackReader.h"
24#include "AliCalorimeterUtils.h"
1c5acb87 25
26class AliAnaPartCorrMaker : public TObject {
27
477d6cee 28 public:
1c5acb87 29 AliAnaPartCorrMaker() ; // default ctor
1c5acb87 30 virtual ~AliAnaPartCorrMaker() ; //virtual dtor
78219bac 31 AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) ; // cpy ctor
d151d2ee 32
33 private:
7b095e3b 34 AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & ) ;//cpy assignment
d151d2ee 35
36 public:
37
1c5acb87 38 //Setter and getters
0c1383b5 39 TList * GetListOfAnalysisCuts();
2e557d1c 40 TList * GetOutputContainer() ;
1c5acb87 41
f37fa8d2 42 TList * FillAndGetAODBranchList();
43
1c5acb87 44 Int_t GetAnaDebug() const { return fAnaDebug ; }
591cc579 45 void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
42dc8e7d 46
591cc579 47 Bool_t AreHistogramsMade() const { return fMakeHisto ; }
1c5acb87 48 void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
591cc579 49 void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
1c5acb87 50
591cc579 51 Bool_t AreAODsMade() const { return fMakeAOD ; }
1c5acb87 52 void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
591cc579 53 void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
f37fa8d2 54
a5cc4f03 55 void Terminate(TList * outputList);
6639984f 56
1c5acb87 57 void AddAnalysis(TObject* ana, Int_t n) {
477d6cee 58 if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
59 else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n");
60 abort();}
61 }
62
91f45193 63 AliCaloTrackReader * GetReader() {if(!fReader) fReader = new AliCaloTrackReader ();return fReader ; }
765d44e7 64 void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
591cc579 65
91f45193 66 AliCalorimeterUtils * GetCaloUtils() {if(!fCaloUtils) fCaloUtils = new AliCalorimeterUtils(); return fCaloUtils ; }
765d44e7 67 void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; }
68
1c5acb87 69 //Others
70 void Init();
71 void InitParameters();
477d6cee 72
1c5acb87 73 void Print(const Option_t * opt) const;
477d6cee 74
29b2ceec 75 void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
477d6cee 76
1c5acb87 77 private:
78
79 //General Data members
477d6cee 80
39ffdc47 81 TList * fOutputContainer ; //! Output histograms container
7787a778 82 TList * fAnalysisContainer ; // List with analysis pointers
83 Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
84 Bool_t fMakeAOD ; // If true makes analysis generating AODs
7787a778 85 Int_t fAnaDebug; // Debugging info.
86
765d44e7 87 AliCaloTrackReader * fReader ; // Pointer to reader
88 AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils
89
0c1383b5 90 TList * fCuts ; //! List with analysis cuts
91
90995603 92 TH1I * fhNEvents; //! Number of events counter histogram
93 TH1I * fhTrackMult; //! Number of tracks per event histogram
94
95 ClassDef(AliAnaPartCorrMaker,8)
1c5acb87 96} ;
97
98
99#endif //ALIANAPARTCORRMAKER_H
100
101
102