]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJDataManager.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJDataManager.h
1 // $Id: AliJDataManager.h,v 1.8 2008/02/12 15:51:27 djkim Exp $
2 ////////////////////////////////////////////////////
3 /*!
4   \file AliJDataManager.h
5   \brief
6   \author J. Rak, D.J.Kim, B.S Chang (University of Jyvaskyla)
7   \email: djkim@cc.jyu.fi
8   \version $Revision: 1.8 $
9   \date $Date: 2008/02/12 15:51:27 $
10   */
11 ////////////////////////////////////////////////////
12
13 #ifndef ALIJDATAMANAGER_H
14 #define ALIJDATAMANAGER_H
15
16 #include <iostream>
17 #include <fstream>
18 #include <stdlib.h>
19 #include <stdio.h>
20
21 #include <TChain.h>
22
23 #include "AliJConst.h"
24 #include "AliJEventHeader.h"
25 #include "AliJRunHeader.h"
26
27 class TClonesArray;
28 class TList;
29 class AliJHistos;
30 class AliJCard;
31 class AliJCorrelations;
32 class AliJDataManager;
33 class AliJRunHeader;
34 class AliJTrackCut;
35 //class AliESDVZERO;TODO
36
37
38
39 class AliJDataManager  {
40
41 public:
42   enum  { kTrackCutDefault=0, kTrackCutJFG=1, kTrackCutHBT=2,  kTrackCutRaa=3, kTrackCutHybrid=4, kTrackCutpp=5 };
43   AliJDataManager(AliJCard *inCard, AliJHistos *fhistos, AliJCorrelations *corrin, Bool_t execLocal);
44
45   virtual ~AliJDataManager();                        //destructor
46   AliJDataManager();
47   AliJDataManager(const AliJDataManager& obj);
48   AliJDataManager& operator=(const AliJDataManager& obj);
49
50   void ChainInputStream(const char* infileList);
51   Double_t LoadEvent( int ievt );
52   virtual void RegisterList(TClonesArray* listToFill, TClonesArray* listFromToFill, int cBin, int zBin, 
53       particleType whatToFill);
54   // corrType whatCorrType);
55
56   virtual bool IsGoodEvent();
57   void SetRunHeader(AliJRunHeader *runHeader){ 
58           std::cout<<"DEBUG ########### "<<runHeader<<std::endl;
59           std::cout<<"DEBUG ########### "<<runHeader->GetRunNumber()<<std::endl;
60           fRunHeader = runHeader;
61   }
62
63   // GETTER
64   TChain * GetChain(){ return fChain; };
65   AliJCard * GetCard(){ return fCard; };
66   int GetNEvents(){ return fChain->GetEntries(); } 
67   AliJRunHeader *GetRunHeader(){ return fRunHeader; }; 
68   AliJEventHeader * GetEventHeader(){ return fEventHeader; };
69   TClonesArray  *GetEventHeaderList(){ return fEventHeaderList; };
70   TClonesArray  *GetTrackList(){ return fTrackList; };
71   TClonesArray  *GetPhotonList(){ return fPhotonList; };
72   TClonesArray  *GetCellList(){ return fCellList; };
73   TClonesArray  *GetPhotonListRecalib(){ return fPhotonListRecalib; };
74   TClonesArray  *GetCellListRecalib(){ return fCellListRecalib; };
75   TClonesArray  *GetMCTrackList(){ return fMCTrackList; };
76   //AliESDVZERO *GetVZERO(){ return fVZEROData; }
77   TObject *GetVZERO(){ return fVZEROData; }
78
79   void SetExecLocal( const Bool_t b ) { fExecLocal = b; }
80
81   void SetTrackList( TClonesArray *a ) { fTrackList = a; }
82   void SetPhotonList( TClonesArray *a ) { fPhotonList = a; }
83   void SetCaloCellList( TClonesArray *a ) { fCellList = a; }
84   void SetMCTrackList( TClonesArray *a ) { fMCTrackList = a; }
85   void SetHeaderList( TClonesArray *a ) { fEventHeaderList = a; }
86   void SetRunInfoList( TList *a ) { fRunInfoList = a; }
87   void SetESDVZERO( TObject *a ) { fVZEROData = a; }
88   //     void SetESDTZERO( AliESDTZERO *a ) { AliESDTZERO = a; }
89   //     void SetESDZDC( AliESDZDC *a ) { AliESDZDC = a; }
90
91   UInt_t GetFilterMap() const { return fFilterMap; }
92   void SetFilterMap( UInt_t fm ){ fFilterMap = fm; }
93   void AcceptTrackBit( UInt_t bit ){ SETBIT(fFilterMap, bit); } 
94   Bool_t TestTrackBit( int i ){ return TESTBIT( GetFilterMap(), i );}
95
96   Bool_t IsSelectedTrigger(unsigned int triggin ) const { return (triggin & fTriggerMask) >0;}
97
98         protected:
99   TChain * fChain; // comment me
100   AliJCard * fCard; // comment me
101   AliJHistos *fhistos; // comment me
102   AliJCorrelations* fcorrelations; // comment me
103
104   // Alice specific
105   AliJRunHeader *fRunHeader;  // comment me
106   AliJEventHeader * fEventHeader; // comment me
107   TClonesArray  *fEventHeaderList; // comment me
108   TClonesArray  *fTrackList; // comment me
109   TClonesArray  *fPhotonList; // comment me
110   TClonesArray  *fCellList; // comment me
111   TClonesArray  *fPhotonListRecalib; // comment me
112   TClonesArray  *fCellListRecalib; // comment me
113   TClonesArray  *fMCTrackList; // comment me
114   TObject  *fVZEROData; // comment me
115   TList *fRunInfoList; // comment me
116
117   int fhadronSelectionCut; // comment me
118
119   UInt_t fFilterMap; // comment me
120
121   TString fFName; // comment me
122   Bool_t fExecLocal; // comment me
123
124   int      fTriggerMask; // Trigger mask;
125
126
127   AliJTrackCut * fTrackCut; // Trigg selection class
128
129
130
131 };
132
133 #endif
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155