]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h
Prevent a crash on exit
[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"
25
26class AliFemtoEvent;
27class AliFemtoTrack;
28
29class 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();
ce7b3d98 40 void SetInputFile(const char* inputfile);
76ce4b5b 41 void SetFilterBit(UInt_t ibit);
42 void SetReadMC(unsigned char a);
973a91f8 43 void SetReadV0(unsigned char a);
76ce4b5b 44 void SetCentralityPreSelection(double min, double max);
973a91f8 45 void SetNoCentrality(bool anocent);
76ce4b5b 46 void SetAODpidUtil(AliAODpidUtil *aAODpidUtil);
ba3c23a4 47 void SetMagneticFieldSign(int s);
ce7b3d98 48 void GetGlobalPositionAtGlobalRadiiThroughTPC(AliAODTrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
76ce4b5b 49
50 protected:
51 virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
52 virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,
53 AliFemtoTrack *tFemtoTrack
54 // AliPWG2AODTrack *tPWG2AODTrack
55 );
973a91f8 56 virtual void CopyAODtoFemtoV0(AliAODv0 *tAODv0, AliFemtoV0 *tFemtoV0);
76ce4b5b 57 virtual void CopyPIDtoFemtoTrack( AliAODTrack *tAodTrack,
58 AliFemtoTrack *tFemtoTrack);
59
60 int fNumberofEvent; // number of Events in AOD file
61 int fCurEvent; // number of current event
62 AliAODEvent* fEvent; // AOD event
63 TBits fAllTrue; // Bit set with all true bits
64 TBits fAllFalse; // Bit set with all false bits
65 UInt_t fFilterBit; // Bitmap bit for AOD filters
66 // TClonesArray* fPWG2AODTracks; // Link to PWG2 specific AOD information (if it exists)
67
68 unsigned char fReadMC; // Attempt to read the MC information from the AOD
973a91f8 69 unsigned char fReadV0; // Read V0 information from the AOD and put it into V0Collection
76ce4b5b 70 unsigned char fUsePreCent; // Use centrality pre-selection to speed up analysis
71 double fCentRange[2]; // Centrality pre-selection range
973a91f8 72 unsigned char fNoCentrality; // Do not use centrality determination (for pp)
76ce4b5b 73 AliAODpidUtil* fAODpidUtil;
74
75 private:
76
77 AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel);
78
79 string fInputFile; // name of input file with AOD filenames
80 string fFileName; // name of current AOD file
81 TChain* fTree; // AOD tree
82 TFile* fAodFile; // AOD file
ba3c23a4 83 int fMagFieldSign; // Magnetic field sign
76ce4b5b 84
85#ifdef __ROOT__
86 ClassDef(AliFemtoEventReaderAOD, 11)
87#endif
88
89};
90
91#endif
92
93