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