]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliAnaGamma.h
Changing fabs into TMath::Abs
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGamma.h
CommitLineData
bdcfac30 1#ifndef ALIANAGAMMA_H
2#define ALIANAGAMMA_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/* History of cvs commits:
8 *
9 * $Log$
60fecfb6 10 * Revision 1.4 2007/10/29 13:48:42 gustavo
11 * Corrected coding violations
12 *
4b707925 13 * Revision 1.2 2007/08/17 12:40:04 schutz
14 * New analysis classes by Gustavo Conesa
15 *
bdcfac30 16 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
17 * new analysis classes in the the new analysis framework
18 *
19 *
20 */
21
22//_________________________________________________________________________
3bb2c538 23// Base class for gamma and correlation analysis
24// It is called by the task class AliAnalysisGammaTask and it connects the input (ESD/AOD/MonteCarlo)
25// got with AliGammaReader (produces TClonesArrays of TParticles), with the analysis classes
26// AliAnaGammaDirect, AliAnaGammaCorrelation ....
27//
bdcfac30 28//*-- Author: Gustavo Conesa (INFN-LNF)
29
30// --- ROOT system ---
31#include <TParticle.h>
32#include <TList.h>
33#include <TClonesArray.h>
34#include <TH2F.h>
35#include<TObject.h>
36#include <TTree.h>
4b707925 37
38// --- AliRoot system ---
bdcfac30 39#include <AliLog.h>
4b707925 40#include "AliAODCaloCluster.h"
bdcfac30 41
42class AliGammaReader ;
43class AliAnaGammaDirect ;
44class AliAnaGammaCorrelation ;
3bb2c538 45class AliAnaGammaSelection ;
bdcfac30 46class AliNeutralMesonSelection ;
4b707925 47class AliAODEvent;
bdcfac30 48
49// --- AliRoot
50class AliAnaGamma : public TObject {
51
52public:
53
54 AliAnaGamma() ; // default ctor
55 AliAnaGamma(const AliAnaGamma & g) ; // cpy ctor
56 AliAnaGamma & operator = (const AliAnaGamma & g) ;//cpy assignment
57 virtual ~AliAnaGamma() ; //virtual dtor
58
3bb2c538 59 enum Anatype {kPrompt, kCorrelation};
bdcfac30 60
4b707925 61 //Setter and getters
bdcfac30 62 TList * GetOutputContainer() const {return fOutputContainer ; }
bdcfac30 63
3bb2c538 64 Int_t GetAnalysisType() const {return fAnaType ; }
bdcfac30 65 void SetAnalysisType(Int_t ana ){ fAnaType = ana ; }
66
3bb2c538 67 TString GetCalorimeter() const {return fCalorimeter ; }
bdcfac30 68 void SetCalorimeter(TString calo) {if (calo == "PHOS" || calo == "EMCAL") fCalorimeter = calo ;
69 else AliFatal("Wrong calorimeter name") ; }
70
3bb2c538 71 TObject * GetData() const {return fData ; }
72 TObject * GetKine() const {return fKine ;}
bdcfac30 73 void SetData(TObject * data) {fData = data ; }
74 void SetKine(TObject * kine) {fKine = kine ; }
75
3bb2c538 76 AliGammaReader * GetReader() const {return fReader ; }
bdcfac30 77 void SetReader(AliGammaReader * reader) { fReader = reader ; }
78
3bb2c538 79 AliAnaGammaDirect * GetGammaDirect() const { return fGammaDirect ; }
80 AliAnaGammaCorrelation * GetGammaCorrelation() const { return fGammaCorrelation ;}
81 AliAnaGammaSelection * GetGammaSelection() const { return fGammaSelection ;}
82 AliNeutralMesonSelection * GetNeutralMesonSelection() const { return fNeutralMesonSelection ; }
83
bdcfac30 84 void SetGammaDirect(AliAnaGammaDirect * dg) { fGammaDirect = dg ; }
85 void SetGammaCorrelation(AliAnaGammaCorrelation * gc) { fGammaCorrelation = gc ;}
3bb2c538 86 void SetGammaSelection(AliAnaGammaSelection * gs) { fGammaSelection = gs ;}
bdcfac30 87 void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNeutralMesonSelection = nms ; }
4b707925 88
89 //AOD stuff
90 void AddCluster(AliAODCaloCluster p);
91 void ConnectAOD(AliAODEvent* aod);
92 void FillAODs(TClonesArray * plPHOS, TClonesArray * plEMCAL);
93
94 //Others
95 void Init();
96 void InitParameters();
97
98 void MakeAnalysis(TClonesArray * plCalo, TClonesArray * plNe, TClonesArray * plCTS, TClonesArray *plParton, TClonesArray * plPrimCalo) ;
99
100 void Print(const Option_t * opt) const;
101
17a1db27 102 Bool_t ProcessEvent() ;
4b707925 103
bdcfac30 104 private:
105
106 //General Data members
60fecfb6 107 TList *fOutputContainer ; // output data container
bdcfac30 108 Int_t fAnaType; //Analysis type to be done
109 TString fCalorimeter; //Prompt photon detector
110 TObject * fData ; //! ESD
111 TObject * fKine ; //! Stack
60fecfb6 112 AliGammaReader * fReader ; // Pointer to reader
113 AliAnaGammaDirect * fGammaDirect ; // Pointer to prompt gamma algorithm
114 AliAnaGammaCorrelation * fGammaCorrelation ; // Pointer to gamma correlation algorithm
115 AliAnaGammaSelection * fGammaSelection ; // Pointer to gamma selection algorithm
116 AliNeutralMesonSelection * fNeutralMesonSelection ; // Pointer to pair selection for pi0 identification.
4b707925 117 TClonesArray* fAODclusters; //! reconstructed jets
118 Int_t fNAODclusters; //! number of reconstructed jets
119
120 ClassDef(AliAnaGamma,1)
bdcfac30 121} ;
122
123
124#endif //ALIANAGAMMA_H
125
126
127