]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliCaloTrackReader.h
Setting title to CTP cfg file.
[u/mrichter/AliRoot.git] / PWG4 / AliCaloTrackReader.h
CommitLineData
d92b41ad 1#ifndef AliCaloTrackReader_H
2#define AliCaloTrackReader_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 reading data: MonteCarlo, ESD or AOD, of PHOS EMCAL and
16// Central Barrel Tracking detectors.
17// Not all MC particles/tracks/clusters are kept, some kinematical restrictions are done.
18// Mother class of : AliCaloTrackESDReader: Fills ESD data in 3 TClonesArrays (PHOS, EMCAL, CTS)
19// : AliCaloTrackMCReader: Fills Kinematics data in 3 TClonesArrays (PHOS, EMCAL, CTS)
20// : AliCaloTrackAODReader: Fills AOD data in 3 TClonesArrays (PHOS, EMCAL, CTS)
21//
22// -- Author: Gustavo Conesa (INFN-LNF)
23
24// --- ROOT system ---
25#include "TObject.h"
26class TClonesArray ;
27class TLorentzVector ;
28class TString ;
29#include "TArrayF.h"
30class Riostream ;
31
32//--- ANALYSIS system ---
33/* #include "AliStack.h" */
34/* #include "AliHeader.h" */
35/* #include "AliGenEventHeader.h" */
36class AliStack ;
37class AliHeader ;
38class AliGenEventHeader ;
39#include "AliESDEvent.h"
40#include "AliAODEvent.h"
41#include "AliMCEvent.h"
42class AliLog ;
43#include "AliFidutialCut.h"
44
45class AliCaloTrackReader : public TObject {
46
47public:
48
49 AliCaloTrackReader() ; // ctor
50 AliCaloTrackReader(const AliCaloTrackReader & g) ; // cpy ctor
51 AliCaloTrackReader & operator = (const AliCaloTrackReader & g) ;//cpy assignment
52 virtual ~AliCaloTrackReader() ;//virtual dtor
53
54 enum inputDataType {kESD, kAOD, kMC};
55
56 void InitParameters();
57
58 virtual Int_t GetDebug() const { return fDebug ; }
59 virtual void SetDebug(Int_t d) { fDebug = d ; }
60
61 virtual Int_t GetDataType() const { return fDataType ; }
62 virtual void SetDataType(Int_t data ){fDataType = data ; }
63
64 virtual void Print(const Option_t * opt)const;
65
66 //Minimum pt setters and getters
67 virtual Float_t GetEMCALPtMin() const { return fEMCALPtMin ; }
68 virtual Float_t GetPHOSPtMin() const { return fPHOSPtMin ; }
69 virtual Float_t GetCTSPtMin() const { return fCTSPtMin ; }
70
71 virtual void SetEMCALPtMin(Float_t pt){ fEMCALPtMin = pt ; }
72 virtual void SetPHOSPtMin(Float_t pt){ fPHOSPtMin = pt ; }
73 virtual void SetCTSPtMin(Float_t pt){ fCTSPtMin = pt ; }
74
75 //Input setters and getters
76
77 Bool_t IsCTSSwitchedOn() const { return fFillCTS ; }
78 void SwitchOnCTS() {fFillCTS = kTRUE ; }
79 void SwitchOffCTS() {fFillCTS = kFALSE ; }
80
81 Bool_t IsEMCALSwitchedOn() const { return fFillEMCAL ; }
82 void SwitchOnEMCAL() {fFillEMCAL = kTRUE ; }
83 void SwitchOffEMCAL() {fFillEMCAL = kFALSE ; }
84
85 Bool_t IsPHOSSwitchedOn() const { return fFillPHOS ; }
86 void SwitchOnPHOS() {fFillPHOS = kTRUE ; }
87 void SwitchOffPHOS() {fFillPHOS = kFALSE ; }
88
89 Bool_t IsEMCALCellsSwitchedOn() const { return fFillEMCALCells ; }
90 void SwitchOnEMCALCells() {fFillEMCALCells = kTRUE ; }
91 void SwitchOffEMCALCells() {fFillEMCALCells = kFALSE ; }
92
93 Bool_t IsPHOSCellsSwitchedOn() const { return fFillPHOSCells ; }
94 void SwitchOnPHOSCells() {fFillPHOSCells = kTRUE ; }
95 void SwitchOffPHOSCells() {fFillPHOSCells = kFALSE ; }
96
97 virtual void FillInputEvent();
98
99 virtual void FillInputCTS(){;}
100 virtual void FillInputEMCAL(){;}
101 virtual void FillInputPHOS(){;}
102 virtual void FillInputEMCALCells(){;}
103 virtual void FillInputPHOSCells(){;}
104
105 virtual TClonesArray* GetAODCTS() const {return fAODCTS ;}
106 virtual TClonesArray* GetAODEMCAL() const {return fAODEMCAL ;}
107 virtual TClonesArray* GetAODPHOS() const {return fAODPHOS ;}
108 virtual TNamed* GetEMCALCells() const {return fEMCALCells ;}
109 virtual TNamed* GetPHOSCells() const {return fPHOSCells ;}
110
111 virtual AliStack* GetStack() const ;
112 virtual AliHeader* GetHeader() const ;
113 virtual AliGenEventHeader* GetGenEventHeader() const ;
114
2cc4014d 115 virtual void GetVertex(Double_t * ) {;}
d92b41ad 116 virtual AliESDEvent* GetESD() const {return fESD;}
117 virtual AliAODEvent* GetAOD() const {return fAOD;}
118 virtual AliMCEvent* GetMC() const {return fMC;}
119
120 virtual void SetESD( AliESDEvent* esd) {fESD = esd;}
121 virtual void SetAOD(AliAODEvent* aod) {fAOD = aod;}
122 virtual void SetMC(AliMCEvent* mc) {fMC = mc;}
123
124 virtual void ResetLists();
125
126 virtual AliFidutialCut * GetFidutialCut() const {return fFidutialCut ;}
127 virtual void SetFidutialCut(AliFidutialCut * fc) { fFidutialCut = fc ;}
128
129 virtual void SetInputEvent(TObject* /*esd*/, TObject* /*aod*/, TObject* /*mc*/) {;}
130
131 protected:
132
133 Int_t fDataType ; //Select MC:Kinematics, Data:ESD/AOD, MCData:Both
134 Int_t fDebug; //Debugging level
135 AliFidutialCut * fFidutialCut; //Acceptance cuts
136
137 Float_t fCTSPtMin; // pT Threshold on charged particles
138 Float_t fEMCALPtMin; //pT Threshold on emcal clusters
139 Float_t fPHOSPtMin; // pT Threshold on phos clusters
140
141 TClonesArray* fAODCTS ; //! temporal array with tracks
142 TClonesArray* fAODEMCAL ; //! temporal array with EMCAL CaloClusters
143 TClonesArray* fAODPHOS ; //! temporal array with PHOS CaloClusters
144 TNamed * fEMCALCells ; //! temporal array with EMCAL CaloCells, ESD or AOD
145 TNamed * fPHOSCells ; //! temporal array with PHOS CaloCells, ESD or AOD
146
147 AliESDEvent *fESD; //! pointer to esd
148 AliAODEvent *fAOD; //! pointer to aod
149 AliMCEvent *fMC; //! Monte Carlo Event Handler
150
151 Bool_t fFillCTS; //use data from CTS
152 Bool_t fFillEMCAL; //use data from EMCAL
153 Bool_t fFillPHOS; //use data from PHOS
154 Bool_t fFillEMCALCells; //use data from EMCAL
155 Bool_t fFillPHOSCells; //use data from PHOS
156
157 ClassDef(AliCaloTrackReader,1)
158} ;
159
160
161#endif //AliCaloTrackReader_H
162
163
164