LUTs mapping symnames and original global matrices removed from AliGeomManager, which...
[u/mrichter/AliRoot.git] / PWG4 / AliAnaBaseClass.h
CommitLineData
d92b41ad 1#ifndef AliAnaBaseClass_H
2#define AliAnaBaseClass_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$
10
11 *
12 */
13
14//_________________________________________________________________________
15// Base class for analysis algorithms
16//-- Author: Gustavo Conesa (INFN-LNF)
17
18//ROOT
19class TClonesArray ;
20#include <TList.h>
21#include <TObject.h>
22
23//Analysis
24class AliAODCaloCluster;
25class AliAODCaloCells;
26#include "AliAODParticleCorrelation.h"
27class AliCaloTrackReader ;
28#include "AliCaloPID.h"
29class AliFidutialCut ;
30class AliIsolationCut ;
31class AliNeutralMesonSelection ;
32/* class AliStack ; */
33/* class AliHeader ; */
34/* class AliGenEventHeader ; */
35#include "AliStack.h"
36#include "AliHeader.h"
37#include "AliGenEventHeader.h"
38
39class AliAnaBaseClass : public TObject {
40
41 public:
42
43 AliAnaBaseClass() ; // default ctor
44 AliAnaBaseClass(const AliAnaBaseClass & g) ; // cpy ctor
45 AliAnaBaseClass & operator = (const AliAnaBaseClass & g) ;//cpy assignment
46 virtual ~AliAnaBaseClass() ; //virtual dtor
47
48 virtual void AddAODCaloCluster(AliAODCaloCluster calo) ;
49 virtual void AddAODParticleCorrelation(AliAODParticleCorrelation pc) ;
50
51 virtual void ConnectAODCaloClusters();
52 virtual void ConnectAODPHOSCells();
53 virtual void ConnectAODEMCALCells();
54
55 virtual TList * GetCreateOutputObjects(){ return (new TList) ;}
56
2cc4014d 57 virtual void Print(const Option_t * ) const {;}
d92b41ad 58
59 virtual void MakeAnalysisFillAOD() {;}
60
61 virtual void MakeAnalysisFillHistograms() {;}
62
63 virtual Int_t GetDebug() const { return fDebug ; }
64 virtual void SetDebug(Int_t d) { fDebug = d ; }
65
66 virtual AliCaloTrackReader * GetReader() const {return fReader ; }
67 virtual void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
68
69 virtual TClonesArray* GetAODBranch() const {return fAODBranch ;}
70 virtual TClonesArray* GetAODCaloClusters() const {return fAODCaloClusters ;}
71 virtual AliAODCaloCells* GetAODCaloCells() const {return fAODCaloCells ;}
72
73 virtual TClonesArray* GetAODCTS() const ;
74 virtual TClonesArray* GetAODEMCAL() const ;
75 virtual TClonesArray* GetAODPHOS() const ;
76
77 virtual TNamed * GetEMCALCells() const ;
78 virtual TNamed * GetPHOSCells() const ;
79
80 virtual AliStack * GetMCStack() const ;
81 virtual AliHeader* GetMCHeader() const ;
82 virtual AliGenEventHeader* GetMCGenEventHeader() const ;
83
84 virtual void SetAODBranch(TClonesArray * tca) { fAODBranch = tca ; }
85
86 virtual AliCaloPID * GetCaloPID() const {return fCaloPID ;}
87 virtual void SetCaloPID(AliCaloPID * pid) { fCaloPID = pid ;}
88
89 virtual AliFidutialCut * GetFidutialCut() const {return fFidCut ;}
90 virtual void SetFidutialCut(AliFidutialCut * fc) { fFidCut = fc ;}
91
92 virtual AliIsolationCut * GetIsolationCut() const {return fIC ;}
93 virtual void SetIsolationCut(AliIsolationCut * fc) { fIC = fc ;}
94
95 virtual AliNeutralMesonSelection * GetNeutralMesonSelection() const {return fNMS ;}
96 virtual void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNMS = nms ;}
97
98 virtual Bool_t IsDataMC() const {return fDataMC ; }
99 virtual void SwitchOnDataMC() {fDataMC = kTRUE ; }
100 virtual void SwitchOffDataMC() {fDataMC = kFALSE ; }
101
102 virtual Bool_t IsFidutialCutOn() {return fCheckFidCut ; }
103 virtual void SwitchOnFidutialCut() { fCheckFidCut = kTRUE;}
104 virtual void SwitchOffFidutialCut() { fCheckFidCut = kFALSE;}
105
106 virtual Bool_t IsCaloPIDOn() {return fCheckCaloPID ; }
107 virtual void SwitchOnCaloPID() { fCheckCaloPID = kTRUE;}
108 virtual void SwitchOffCaloPID() { fCheckCaloPID = kFALSE;}
109
110 virtual Bool_t IsCaloPIDRecalculationOn() {return fRecalculateCaloPID ; }
111 virtual void SwitchOnCaloPIDRecalculation() { fRecalculateCaloPID = kTRUE;}
112 virtual void SwitchOffCaloPIDRecalculation() { fRecalculateCaloPID = kFALSE;}
113
114 virtual Float_t GetMaxPt() const {return fMaxPt ; }
115 virtual Float_t GetMinPt() const {return fMinPt ; }
116 virtual void SetMaxPt(Float_t pt) {fMaxPt = pt ; }
117 virtual void SetMinPt(Float_t pt) {fMinPt = pt ; }
118 void SetPtCutRange(Double_t ptmin, Double_t ptmax)
119 { fMaxPt=ptmax; fMinPt=ptmin;}
120
121 virtual void InitParameters() ;
122
123 private:
124
125 Bool_t fDataMC ; //Flag to access MC data when using ESD or AOD
126 Int_t fDebug ; // Debug level
127 Bool_t fCheckFidCut ; // Do analysis for clusters in defined region
128 Bool_t fCheckCaloPID ; // Do analysis for calorimeters
129 Bool_t fRecalculateCaloPID ; //Recalculate PID or use PID weights in calorimeters
130 Float_t fMinPt ; //Maximum pt of (trigger) particles in the analysis
131 Float_t fMaxPt ; //Minimum pt of (trigger) particles in the analysis
132
133 AliCaloTrackReader * fReader; //Acces to ESD/AOD/MC data
134
135 TClonesArray* fAODBranch ; //! selected particles branch
136 TClonesArray* fAODCaloClusters ; //! selected PHOS/EMCAL CaloClusters
137 AliAODCaloCells * fAODCaloCells ; //! selected PHOS/EMCAL CaloCells
138 AliCaloPID * fCaloPID; // PID calculation
139 AliFidutialCut * fFidCut; //Acceptance cuts
140 AliIsolationCut * fIC; // Isolation cut
141 AliNeutralMesonSelection * fNMS; // Neutral Meson Selection
142
143 ClassDef(AliAnaBaseClass,1)
144 } ;
145
146
147#endif //AliAnaBaseClass_H
148
149
150