]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderStandard.h
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderStandard.h
CommitLineData
76ce4b5b 1////////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoEventReaderStandard - the reader class for the Alice ESD, AOD //
4// the model Kinematics information tailored for the Task framework //
5// Authors: Adam Kisiel Adam.Kisiel@cern.ch //
6// //
7////////////////////////////////////////////////////////////////////////////////
8#ifndef ALIFEMTOEVENTREADERSTANDARD_H
9#define ALIFEMTOEVENTREADERSTANDARD_H
10
11#include "AliFemtoEventReader.h"
12#include "AliFemtoEnumeration.h"
13
14#include <string>
15#include <vector>
16#include <TTree.h>
17#include <AliESDEvent.h>
18#include <AliAODEvent.h>
19#include <AliESDfriend.h>
20#include <AliStack.h>
21#include <list>
22#include <AliGenEventHeader.h>
23#include <AliPhysicsSelection.h>
24#include <AliESDtrackCuts.h>
25#include <AliAODMCParticle.h>
26
27class AliFemtoEvent;
28class AliFemtoTrack;
29
30class AliFemtoEventReaderStandard : public AliFemtoEventReader
31{
32 public:
33 enum InputType {kUnknown = -1, kESD=0, kAOD=1, kESDKine=2, kAODKine=3};
34 typedef enum InputType AliFemtoInputType;
35
36 AliFemtoEventReaderStandard();
37 AliFemtoEventReaderStandard(const AliFemtoEventReaderStandard& aReader);
38 ~AliFemtoEventReaderStandard();
39
40 AliFemtoEventReaderStandard& operator=(const AliFemtoEventReaderStandard& aReader);
41
42 AliFemtoEvent* ReturnHbtEvent();
43 AliFemtoString Report();
44
45 void SetESDSource(AliESDEvent *aESD);
46 void SetAODSource(AliAODEvent *aAOD);
47 void SetStackSource(AliStack *aStack);
48 void SetInputType(AliFemtoInputType aInput);
49 void SetGenEventHeader(AliGenEventHeader *aGenHeader);
50 void SetUsePhysicsSelection(const bool usephysics);
51
52 void SetESDTrackCuts(AliESDtrackCuts *esdcuts);
53 void SetUseTPCOnly(const bool usetpconly);
54
55 protected:
56
57 void CopyAODtoFemtoTrack(const AliAODTrack *tAodTrack, AliFemtoTrack *tFemtoTrack);
58 AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel);
59
60 private:
61 string fFileName; // name of current ESD file
62 int fNumberofEvent; // number of Events in ESD file
63 int fCurEvent; // number of current event
64 unsigned int fCurFile; // number of current file
65 AliESDEvent *fESDEvent; //! ESD event
66 AliAODEvent *fAODEvent; //! AOD event
67 AliStack *fStack; //! Kinematics stack pointer
68 AliGenEventHeader *fGenHeader; //! Link to the generator event header
69 AliFemtoInputType fInputType; // Select data input type
70
71 bool fUsePhysicsSel; // if true the physics selection class will be used
72 AliPhysicsSelection *fSelect; // Class to select only physics events
73
74 AliESDtrackCuts *fTrackCuts; // Link to external ESD track cut
75 bool fUseTPCOnly; // if true the TPC only parameters will be used
76
77#ifdef __ROOT__
78 ClassDef(AliFemtoEventReaderStandard, 1)
79#endif
80
81};
82
83#endif
84
85