]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskAntiHe4.h
163acc90f08025129b51750b3f8500a041a26051
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskAntiHe4.h
1 #ifndef ALIANALYSISTASKANTIHE4_CXX
2 #define ALIANALYSISTASKANTIHE4_CXX
3
4 // anti-alpha analysis
5 // Authors: Alexander Kalweit and Nicole Martin
6
7 class TF1;
8 class TH1F;
9 class TH2F;
10 class TH3F;
11 class AliESDEvent;
12 class AliESDtrackCuts;
13 class AliESDVertex;
14
15 #include "AliAnalysisTaskSE.h"
16 #include "THn.h"
17 #include "TH3F.h"
18 #include "TGraph.h"
19 #include "AliStack.h"
20
21 class AliAnalysisTaskAntiHe4 : public AliAnalysisTaskSE {
22  public:
23   AliAnalysisTaskAntiHe4();
24   AliAnalysisTaskAntiHe4(const char *name);
25   virtual ~AliAnalysisTaskAntiHe4() {}
26   
27   virtual void   UserCreateOutputObjects();
28   virtual void   UserExec(Option_t *option);
29   virtual void   Terminate(const Option_t*);
30   Int_t  Initialize();
31   Int_t  SetupEvent();
32   void   ResetEvent();
33
34   
35  private:
36   AliInputEventHandler *fEventHandler;                              //  for ESDs or AODs
37   AliESDEvent          *fESD;                                       //  ESD object
38   TH1F                 *fHistCentralityClass10;                     //! histo to look at the centrality distribution    
39   TH1F                 *fHistCentralityPercentile;                  //! histo to look at the centrality distribution 
40   TH1F                 *fHistTriggerStat;                           //! Trigger statistics
41   TH1F                 *fHistTriggerStatAfterEventSelection;        //! Trigger statistics
42   TH3F                 *fHistDEDx;                                  //! final histograms for anti-alpha analysis
43   TH3F                 *fHistTOF3D;                                 //! final histograms for anti-alpha analysis
44   TH1F                 *fHistAlpha;                                 //! Alpha plot TOF mass
45   TH1F                 *fHistAlphaSignal;                           //! Alpha plot TOF mass only signal candidates
46   TGraph               *fGraphAlphaSignal;                          //! TGraph with alphas / dE/dx vs. mom
47   Int_t                 fNCounter;                                  //! counts alphas
48
49   TH2F                 *fHistDeDx;                                  //! histo for a dE/dx     
50   TH3F                 *fHistDeDxRegion;                            //! histo for a dE/dx per Region 
51   TH2F                 *fHistDeDxSharp;                             //! histo for a dE/dx with sharp cuts
52
53   TH2F                 *fHistTOF2D;                                 //! histo for a TOF
54   TH2F                 *fHistTOFnuclei;                             //! histo for a TOF nuclei  
55
56   Int_t                 fNTriggers;                                 //! N Triggers used
57   Double_t              fBBParametersLightParticles[5];             //! Bethe Bloch paramters for light paritcles
58   Double_t              fBBParametersNuclei[5];                     //! Bethe Bloch paramters for nuclei
59   Bool_t                fMCtrue;                                    //! flag if real data or MC is processed
60   Bool_t                fTriggerFired[5];                           //! TriggerFired 0: MB | 1: CE | 2: SC | 3: EJE | 4: EGA
61   //
62   AliESDtrackCuts      *fESDtrackCuts;                              //  basic cut variables
63   AliESDtrackCuts      *fESDtrackCutsSharp;                         //  sharp cut variables for final results
64   AliESDpid            *fESDpid;                                    //  basic TPC object for n-sigma cuts
65   THnF                 *fAntiAlpha;                                 //! histogram for particle ratios as a function of momentum: (0.) dca, (1.) sign, (2.) particle Type, (3.) p_tot
66
67   TH1F                 *fHistHelium4PtGen;                          //! for MC
68   TH1F                 *fHistHelium4PtGenPrim;                      //! for MC
69   TH1F                 *fHistHelium4PtGenSec;                       //! for MC
70   TH1F                 *fHistHelium4PtGenEta;                       //! for MC 
71   TH1F                 *fHistHelium4PtGenPrimEta;                   //! for MC
72   TH1F                 *fHistAntiHelium4PtGen;                      //! for MC
73   TH1F                 *fHistAntiHelium4PtGenPrim;                  //! for MC                        
74   TH1F                 *fHistAntiHelium4PtGenSec;                   //! for MC
75   TH1F                 *fHistAntiHelium4PtGenEta;                   //! for MC
76   TH1F                 *fHistHelium4PtAso;                          //! for MC
77   TH1F                 *fHistHelium4PtAsoPrim;                      //! for MC
78   TH1F                 *fHistHelium4PtAsoSec;                       //! for MC
79   TH1F                 *fHistAntiHelium4PtAso;                      //! for MC
80
81
82   void                  BinLogAxis(const THn *h, Int_t axisNumber); //  define function for log axis for search for Anti-Alpha candidates
83   void                  BinLogAxis(const TH3 *h, Int_t axisNumber); 
84   void                  BinLogAxis(const TH1 *h);
85   Bool_t                IsTriggered();
86   void                  SetBBParameters(Int_t runnumber);
87   void                  MCGenerated(AliStack* stack); 
88
89   //
90   // output containers
91   //
92   TTree *fTree;  
93   TObjArray * fOutputContainer; // ! output data container
94   //
95   // tree variables
96   //
97   Char_t Name[1000];  
98   Int_t  evnt, itrk;
99   //
100   Float_t TrkPtot[1000];
101   Float_t TPCPtot[1000];
102   Float_t DeDx[1000];
103   Float_t DCAZ[1000];
104   Float_t TPCNsignal[1000];
105   Float_t ITSnCluster[1000];
106   Float_t Sign[1000];
107   Float_t DCAXY[1000];
108   Float_t Mass[1000];
109   Float_t ITSRefit[1000];
110   Float_t TOFRefit[1000];
111   Float_t TOFtime[1000];
112   Float_t TOFout[1000];
113   Float_t ITSsignal[1000];
114   Float_t SharedClusters[1000];
115   Char_t  fFileName[1000]; 
116   Int_t   fEventNumber[1000];
117   Bool_t  fAssociated[1000];
118   Float_t fTrackPt[1000];
119
120   //
121   //
122   AliAnalysisTaskAntiHe4(const AliAnalysisTaskAntiHe4&); // not implemented
123   AliAnalysisTaskAntiHe4& operator=(const AliAnalysisTaskAntiHe4&); // not implemented
124   
125   ClassDef(AliAnalysisTaskAntiHe4, 1); // example of analysis
126 };
127
128 #endif