Standard connection to ESD in chain.
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
CommitLineData
99e5fe42 1#ifndef ALIJETREADER_H
2#define ALIJETREADER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
99e5fe42 7// Jet reader base class
8// manages the reading of input for jet algorithms
b45b0c92 9// Authors: jgcn@mda.cinvestav.mx
10// Magali Estienne <magali.estienne@IReS.in2p3.fr>
11
99e5fe42 12#include <TObject.h>
13#include <TChain.h>
8011d399 14#include <TArrayI.h>
b45b0c92 15#ifndef ROOT_TTask
16#include "TTask.h"
17#endif
18
7d0f353c 19class TTree;
b45b0c92 20class TTask;
99e5fe42 21class TClonesArray;
22class AliJetReaderHeader;
b45b0c92 23class AliJetUnitArray;
7aec0427 24class AliJetHadronCorrectionv1;
7d0f353c 25class AliJet;
99e5fe42 26
99e5fe42 27class AliJetReader : public TObject
28{
29 public:
30 AliJetReader();
31 virtual ~AliJetReader();
32
33 // Getters
34 virtual TClonesArray *GetMomentumArray() {return fMomentumArray;}
b45b0c92 35
36 virtual AliJetUnitArray *GetUnitArray() const {return fUnitArray;}
37 virtual AliJetUnitArray *GetUnitArrayNoCuts() const {return fUnitArrayNoCuts;}
38
99e5fe42 39 virtual AliJetReaderHeader* GetReaderHeader() { return fReaderHeader;}
8011d399 40 virtual Int_t GetSignalFlag(Int_t i) const {return fSignalFlag[i];}
b45b0c92 41 virtual Int_t GetCutFlag(Int_t i) const {return fCutFlag[i];}
42 virtual Int_t GetArrayInitialised() {return fArrayInitialised;}
7d0f353c 43
99e5fe42 44 // Setters
7d0f353c 45 virtual Bool_t FillMomentumArray(Int_t) {return kTRUE;}
b45b0c92 46 virtual void FillUnitArrayFromTPCTracks(Int_t) {} // temporarily not used
47 virtual void FillUnitArrayFromEMCALHits() {} // temporarily not used
48 virtual void FillUnitArrayFromEMCALDigits(Int_t) {} // temporarily not used
49 virtual void FillUnitArrayFromEMCALClusters(Int_t) {} // temporarily not used
50 virtual void InitUnitArray() {}
7d0f353c 51 virtual void SetReaderHeader(AliJetReaderHeader* header)
b45b0c92 52 {fReaderHeader = header;}
99e5fe42 53
7d0f353c 54 // Others
55 virtual void OpenInputFiles() {}
f3f3617d 56 virtual void ConnectTree(TTree* /*tree*/, TObject* /*data*/) {}
7d0f353c 57 virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;}
58
99e5fe42 59 void ClearArray();
60
61 protected:
1b7d5d7e 62 AliJetReader(const AliJetReader& rJetReader);
63 AliJetReader& operator = (const AliJetReader& rhsr);
b45b0c92 64 TClonesArray *fMomentumArray; // array of particle momenta
de265230 65 TClonesArray *fArrayMC; //! array of mc particles
66 TTask *fFillUnitArray; //! task list for filling the UnitArray
b45b0c92 67 AliJetReaderHeader *fReaderHeader; // pointer to header
68 TArrayI fSignalFlag; // to flag if a particle comes from pythia or
69 // from the underlying event
70 TArrayI fCutFlag; // to flag if a particle passed the pt cut or not
de265230 71 AliJetUnitArray *fUnitArray; //! array of digit position and energy
72 AliJetUnitArray *fUnitArrayNoCuts; //! array of digit position and energy
b45b0c92 73 Bool_t fArrayInitialised; // To check that array of units is initialised
99e5fe42 74 ClassDef(AliJetReader,1)
75};
76
77#endif