]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h
be205a3aaced78fa7ed428d9fd8b994ebf5a92a4
[u/mrichter/AliRoot.git] / PWG2 / 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 class AliFemtoEvent;
25 class AliFemtoTrack;
26
27 class AliFemtoEventReaderAOD : public AliFemtoEventReader 
28 {
29  public:
30   AliFemtoEventReaderAOD();
31   AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aReader);
32   virtual ~AliFemtoEventReaderAOD();
33
34   AliFemtoEventReaderAOD& operator=(const AliFemtoEventReaderAOD& aReader);
35
36   virtual AliFemtoEvent* ReturnHbtEvent();
37   AliFemtoString Report();
38   void SetInputFile(const char* inputFile);
39   void SetFilterBit(UInt_t ibit);
40   void SetReadMC(unsigned char a);
41   void SetCentralityPreSelection(double min, double max);
42
43  protected:
44   virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
45   virtual void CopyAODtoFemtoTrack(const AliAODTrack *tAodTrack, 
46                                    AliFemtoTrack *tFemtoTrack, 
47                                    AliPWG2AODTrack *tPWG2AODTrack);
48
49   int            fNumberofEvent;    // number of Events in AOD file
50   int            fCurEvent;         // number of current event
51   AliAODEvent*   fEvent;            // AOD event
52   TBits          fAllTrue;          // Bit set with all true bits
53   TBits          fAllFalse;         // Bit set with all false bits
54   UInt_t         fFilterBit;        // Bitmap bit for AOD filters
55   TClonesArray*  fPWG2AODTracks;    // Link to PWG2 specific AOD information (if it exists)
56   
57   unsigned char  fReadMC;           // Attempt to read the MC information from the AOD
58   unsigned char  fUsePreCent;       // Use centrality pre-selection to speed up analysis
59   double         fCentRange[2];     // Centrality pre-selection range
60
61  private:
62
63   AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel); 
64
65   string         fInputFile;        // name of input file with AOD filenames
66   string         fFileName;         // name of current AOD file
67   TChain*        fTree;             // AOD tree
68   TFile*         fAodFile;          // AOD file 
69
70 #ifdef __ROOT__
71   ClassDef(AliFemtoEventReaderAOD, 11)
72 #endif
73
74 };
75   
76 #endif
77
78