]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h
Fix in order to allow to use the flatenning for stripped AOD (Julian)
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderAOD.h
CommitLineData
76ce4b5b 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"
973a91f8 23#include "AliFemtoV0.h"
76ce4b5b 24#include "AliAODpidUtil.h"
1777446b 25#include "AliAODHeader.h"
76ce4b5b 26
27class AliFemtoEvent;
28class AliFemtoTrack;
29
30class AliFemtoEventReaderAOD : public AliFemtoEventReader
31{
32 public:
607aa748 33 enum EventMult {kCentrality=0, kGlobalCount=1, kReference=2, kTPCOnlyRef=3, kVZERO=4, kCentralityTRK=5, kCentralityZNA=6, kCentralityCL1=7, kCentralityCND=9};
1777446b 34 typedef enum EventMult EstEventMult;
35
76ce4b5b 36 AliFemtoEventReaderAOD();
37 AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aReader);
38 virtual ~AliFemtoEventReaderAOD();
39
40 AliFemtoEventReaderAOD& operator=(const AliFemtoEventReaderAOD& aReader);
41
42 virtual AliFemtoEvent* ReturnHbtEvent();
43 AliFemtoString Report();
ce7b3d98 44 void SetInputFile(const char* inputfile);
76ce4b5b 45 void SetFilterBit(UInt_t ibit);
64536eaf 46 void SetFilterMask(int ibit);
76ce4b5b 47 void SetReadMC(unsigned char a);
973a91f8 48 void SetReadV0(unsigned char a);
76ce4b5b 49 void SetCentralityPreSelection(double min, double max);
973a91f8 50 void SetNoCentrality(bool anocent);
76ce4b5b 51 void SetAODpidUtil(AliAODpidUtil *aAODpidUtil);
1777446b 52 void SetAODheader(AliAODHeader *aAODheader);
ba3c23a4 53 void SetMagneticFieldSign(int s);
5e2038a9 54 void SetEPVZERO(Bool_t);
ce7b3d98 55 void GetGlobalPositionAtGlobalRadiiThroughTPC(AliAODTrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
1777446b 56 void SetUseMultiplicity(EstEventMult aType);
76ce4b5b 57
58 protected:
59 virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
60 virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,
61 AliFemtoTrack *tFemtoTrack
62 // AliPWG2AODTrack *tPWG2AODTrack
63 );
973a91f8 64 virtual void CopyAODtoFemtoV0(AliAODv0 *tAODv0, AliFemtoV0 *tFemtoV0);
76ce4b5b 65 virtual void CopyPIDtoFemtoTrack( AliAODTrack *tAodTrack,
66 AliFemtoTrack *tFemtoTrack);
67
68 int fNumberofEvent; // number of Events in AOD file
69 int fCurEvent; // number of current event
70 AliAODEvent* fEvent; // AOD event
71 TBits fAllTrue; // Bit set with all true bits
72 TBits fAllFalse; // Bit set with all false bits
73 UInt_t fFilterBit; // Bitmap bit for AOD filters
64536eaf 74 UInt_t fFilterMask;
76ce4b5b 75 // TClonesArray* fPWG2AODTracks; // Link to PWG2 specific AOD information (if it exists)
76
77 unsigned char fReadMC; // Attempt to read the MC information from the AOD
973a91f8 78 unsigned char fReadV0; // Read V0 information from the AOD and put it into V0Collection
76ce4b5b 79 unsigned char fUsePreCent; // Use centrality pre-selection to speed up analysis
1777446b 80 EstEventMult fEstEventMult; // Type of the event multiplicity estimator
76ce4b5b 81 double fCentRange[2]; // Centrality pre-selection range
82 AliAODpidUtil* fAODpidUtil;
1777446b 83 AliAODHeader* fAODheader;
76ce4b5b 84
85 private:
86
87 AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel);
88
89 string fInputFile; // name of input file with AOD filenames
90 string fFileName; // name of current AOD file
91 TChain* fTree; // AOD tree
92 TFile* fAodFile; // AOD file
ba3c23a4 93 int fMagFieldSign; // Magnetic field sign
5e2038a9 94 Bool_t fisEPVZ; // to get event plane angle from VZERO
76ce4b5b 95
1777446b 96
76ce4b5b 97#ifdef __ROOT__
98 ClassDef(AliFemtoEventReaderAOD, 11)
99#endif
100
101};
102
103#endif
104
105