Protection to skip PYTHIA events with large jet energy compared to pTHard
[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
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 AliAnaPartCorrBaseClass
13//
14// -- Author: Gustavo Conesa (INFN-LNF)
15
16// --- ROOT system ---
17class TList;
18class TClonesArray;
19#include<TObject.h>
20class TString;
21
22// --- Analysis system ---
23class AliCaloTrackReader ;
24
25class AliAnaPartCorrMaker : public TObject {
26
477d6cee 27 public:
1c5acb87 28
29 AliAnaPartCorrMaker() ; // default ctor
30 AliAnaPartCorrMaker(const AliAnaPartCorrMaker & g) ; // cpy ctor
31 AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & g) ;//cpy assignment
32 virtual ~AliAnaPartCorrMaker() ; //virtual dtor
477d6cee 33
1c5acb87 34 //Setter and getters
35 TList * GetAODBranchList() ;
2e557d1c 36 TList * GetOutputContainer() ;
1c5acb87 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
a5cc4f03 49 void Terminate(TList * outputList);
6639984f 50
1c5acb87 51 void AddAnalysis(TObject* ana, Int_t n) {
477d6cee 52 if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
53 else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n");
54 abort();}
55 }
56
1c5acb87 57 AliCaloTrackReader * GetReader() const {return fReader ; }
58 void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
477d6cee 59
1c5acb87 60 //Others
61 void Init();
62 void InitParameters();
477d6cee 63
1c5acb87 64 void Print(const Option_t * opt) const;
477d6cee 65
29b2ceec 66 void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
477d6cee 67
1c5acb87 68 private:
69
70 //General Data members
477d6cee 71
1c5acb87 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 TList * fAODBranchList ; //! List with AOD branches created and needed in analysis
80
81 ClassDef(AliAnaPartCorrMaker,2)
82} ;
83
84
85#endif //ALIANAPARTCORRMAKER_H
86
87
88