]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h
Migration of PWG2/FEMTOSCOPY to PWGCF/FEMTOSCOPY
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderAOD.h
1 ////////////////////////////////////////////////////////////////////////////////
2 //                                                                            //
3 // AliFemtoEventReaderAOD - the reader class for the Alice AOD                //
4 // Reads in AOD information and converts it into internal AliFemtoEvent       //
5 // Authors: Adam Kisiel kisiel@mps.ohio-state.edu                             //
6 //                                                                            //
7 ////////////////////////////////////////////////////////////////////////////////
8
9 #ifndef ALIFEMTOEVENTREADERAOD_H
10 #define ALIFEMTOEVENTREADERAOD_H
11 #include "AliFemtoEventReader.h"
12 #include "AliFemtoEnumeration.h"
13
14 #include <string>
15 #include <vector>
16 #include "TTree.h"
17 #include "TChain.h"
18 #include "TBits.h"
19 #include "AliAODEvent.h"
20 #include <list>
21 //#include "AliPWG2AODTrack.h"
22 #include "AliAODMCParticle.h"
23
24 #include "AliAODpidUtil.h"
25
26 class AliFemtoEvent;
27 class AliFemtoTrack;
28
29 class AliFemtoEventReaderAOD : public AliFemtoEventReader 
30 {
31  public:
32   AliFemtoEventReaderAOD();
33   AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aReader);
34   virtual ~AliFemtoEventReaderAOD();
35
36   AliFemtoEventReaderAOD& operator=(const AliFemtoEventReaderAOD& aReader);
37
38   virtual AliFemtoEvent* ReturnHbtEvent();
39   AliFemtoString Report();
40   void SetInputFile(const char* inputFile);
41   void SetFilterBit(UInt_t ibit);
42   void SetReadMC(unsigned char a);
43   void SetCentralityPreSelection(double min, double max);
44   void SetAODpidUtil(AliAODpidUtil *aAODpidUtil);
45
46  protected:
47   virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
48   virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,  
49                                     AliFemtoTrack *tFemtoTrack
50                                     //                              AliPWG2AODTrack *tPWG2AODTrack
51                                     ); 
52   virtual void CopyPIDtoFemtoTrack( AliAODTrack *tAodTrack, 
53                                    AliFemtoTrack *tFemtoTrack);
54
55   int            fNumberofEvent;    // number of Events in AOD file
56   int            fCurEvent;         // number of current event
57   AliAODEvent*   fEvent;            // AOD event
58   TBits          fAllTrue;          // Bit set with all true bits
59   TBits          fAllFalse;         // Bit set with all false bits
60   UInt_t         fFilterBit;        // Bitmap bit for AOD filters
61   //  TClonesArray*  fPWG2AODTracks;    // Link to PWG2 specific AOD information (if it exists)
62   
63   unsigned char  fReadMC;           // Attempt to read the MC information from the AOD
64   unsigned char  fUsePreCent;       // Use centrality pre-selection to speed up analysis
65   double         fCentRange[2];     // Centrality pre-selection range
66   AliAODpidUtil* fAODpidUtil;
67
68  private:
69
70   AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel); 
71
72   string         fInputFile;        // name of input file with AOD filenames
73   string         fFileName;         // name of current AOD file
74   TChain*        fTree;             // AOD tree
75   TFile*         fAodFile;          // AOD file 
76
77 #ifdef __ROOT__
78   ClassDef(AliFemtoEventReaderAOD, 11)
79 #endif
80
81 };
82   
83 #endif
84
85