]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/K0Analysis/AliFemtoK0Analysis.h
New K0 Analysis
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / K0Analysis / AliFemtoK0Analysis.h
1 #ifndef ALIFEMTOK0ANALYSIS_H
2 #define ALIFEMTOK0ANALYSIS_H
3
4 //
5 // Class AliFemtoK0Analysis
6 //
7 // AliFemtoK0Analysis
8 // author:
9 //        Matthew Steinpreis (matthew.steinpreis@cern.ch)
10 //
11
12 class TH1F;
13 class TH1D;
14 class TH2D;
15 class TH3D;
16 class TProfile;
17 class TRandom3;
18
19 class AliESDEvent;
20 class AliAODEvent;
21 class AliESDtrackCuts;
22 class AliESDpid;
23
24 #include "AliAnalysisTask.h"
25 #include "AliAnalysisTaskSE.h"
26 #include "AliFemtoK0EventCollection.h"
27 #include "AliAODpidUtil.h"
28 #include "AliESDpid.h"
29
30 class AliFemtoK0Analysis : public AliAnalysisTaskSE {
31  public:
32   AliFemtoK0Analysis();
33   AliFemtoK0Analysis(const char *name, bool FieldPositive = kTRUE, bool OnlineCase = kTRUE, bool MeritCase = kTRUE, float MinDL = 0.0, int MeritCutChoice = 2, float MinSep = 5.0);
34   virtual ~AliFemtoK0Analysis();
35   AliFemtoK0Analysis(const AliFemtoK0Analysis&);
36   AliFemtoK0Analysis& operator=(const AliFemtoK0Analysis&);
37
38  private:
39   
40   virtual void   UserCreateOutputObjects();
41   virtual void   Exec(Option_t *option);
42   virtual void   Terminate(Option_t *);  
43
44   void MyInit();
45   void GetGlobalPositionAtGlobalRadiiThroughTPC(const AliAODTrack *track, const Float_t bfield, Float_t globalPositionsAtRadii[9][3], double PrimaryVertex[3]);
46   bool CheckMeritCutWinner(int cutChoice, double oldPars[3], double newPars[3]);
47   
48   enum 
49   {
50     kCentBins    = 16,
51     kZVertexBins = 10,
52     kEventsToMix =  5,
53     kMultLimit   = 300,              //maximum number of v0s, array size
54  
55     ncthetabins = 36,
56     nphibins    = 72
57   };
58
59   bool fFieldPos;
60   bool fOnlineCase;
61   bool fMeritCase;
62   float fMinDecayLength;
63   int fMeritCutChoice;
64   float fMinSep;
65   int fEventCount;
66
67   AliFemtoK0EventCollection ***fEC; //!
68   AliFemtoK0Event *fEvt; //!
69
70   TRandom3* fRandomNumber; //!
71   
72   const char     *fName;
73   AliAODEvent    *fAOD; //!    // AOD object
74   TList          *fOutputList; //! Compact Output list
75   AliPIDResponse *fPidAOD; //!
76   
77   ClassDef(AliFemtoK0Analysis, 1); 
78 };
79
80 #endif