]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderKinematicsChain.h
Migration of PWG2/FEMTOSCOPY to PWGCF/FEMTOSCOPY
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderKinematicsChain.h
1 /////////////////////////////////////////////////////////////////////////////////////
2 //                                                                                 //
3 // AliFemtoEventReaderKinematicsChain - the reader class for the Alice ESD and     //
4 // the model Kinematics information tailored for the Task framework and the        //
5 // Reads in AliESDfriend to create shared hit/quality information                  //
6 // Authors: Malgorzata Janik, Warsaw University of Technology, majanik@cern.ch     //
7 //          Lukasz Graczykowski, Warsaw University of Technology, lgraczyk@cern.ch //
8 //                                                                                 //
9 /////////////////////////////////////////////////////////////////////////////////////
10
11
12 #ifndef ALIFEMTOEVENTREADERKINEMATICSCHAIN_H
13 #define ALIFEMTOEVENTREADERKINEMATICSCHAIN_H
14
15 #include "AliFemtoEventReader.h"
16 #include "AliFemtoEnumeration.h"
17
18 #include <string>
19 #include <vector>
20 #include <TTree.h>
21 #include <AliStack.h>
22 #include <list>
23 #include <AliGenEventHeader.h>
24
25 class AliFemtoEvent;
26
27 class AliFemtoEventReaderKinematicsChain : public AliFemtoEventReader 
28 {
29  public:
30   AliFemtoEventReaderKinematicsChain();
31   AliFemtoEventReaderKinematicsChain(const AliFemtoEventReaderKinematicsChain& aReader);
32   ~AliFemtoEventReaderKinematicsChain();
33
34   AliFemtoEventReaderKinematicsChain& operator=(const AliFemtoEventReaderKinematicsChain& aReader);
35
36   AliFemtoEvent* ReturnHbtEvent();
37   AliFemtoString Report();
38   void SetConstrained(const bool constrained);
39   bool GetConstrained() const;
40
41   //void SetESDSource(AliESDEvent *aESD);
42   void SetStackSource(AliStack *aStack);
43   void SetGenEventHeader(AliGenEventHeader *aGenHeader);
44   void SetRotateToEventPlane(short dorotate);
45
46  protected:
47
48  private:
49   string         fFileName;      // name of current ESD file
50   bool           fConstrained;   // flag to set which momentum from ESD file will be use
51   int            fNumberofEvent; // number of Events in ESD file
52   int            fCurEvent;      // number of current event
53   unsigned int   fCurFile;       // number of current file
54   AliStack       *fStack;         // Kinematics stack pointer
55   AliGenEventHeader *fGenHeader; // Link to the generator event header
56
57   short          fRotateToEventPlane; // Rotate the event so that event plane is at x=0
58
59   Float_t GetSigmaToVertex(double *impact, double *covar);
60
61 #ifdef __ROOT__
62   ClassDef(AliFemtoEventReaderKinematicsChain, 1)
63 #endif
64
65     };
66   
67 #endif
68
69