]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/Nuclei/masses/AliAnalysisNucleiMass.h
dd79ef46162c43c45588f5676d1f75fe9500f038
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / masses / AliAnalysisNucleiMass.h
1 #ifndef ALIANALYSISNUCLEIMASS_H
2 #define ALIANALYSISNUCLEIMASS_H
3
4 // ROOT includes
5 #include <TList.h>
6
7 // AliRoot includes
8 #include <AliAnalysisTaskSE.h>
9 #include <AliPIDResponse.h>
10
11 class AliAODEvent;
12 class AliESDEvent;
13 class AliVEvent;
14 class TH2F;
15 class TH2D;
16 class TH1F;
17 class TF1;
18 class TH2D;
19 class TGraph;
20 class AliESDtrackCuts;
21 class TProfile;
22 class TFile;
23 class TObject;
24
25 class AliAnalysisNucleiMass : public AliAnalysisTaskSE {
26  public:
27   AliAnalysisNucleiMass();
28   AliAnalysisNucleiMass(const char *name);
29   
30   virtual ~AliAnalysisNucleiMass();
31   
32   virtual void   UserCreateOutputObjects();
33   virtual void   UserExec(Option_t *option);
34   virtual void   Terminate(Option_t *);
35
36   void SetCentrality(Float_t *fCt) {fCentrality[0]=fCt[0];fCentrality[1]=fCt[1];};
37   void SetFilterBit(Int_t TestFilterBit) {FilterBit=TestFilterBit;}
38   void SetNTPCcluster(Int_t nTPCcluster) {NminTPCcluster=nTPCcluster;}
39   void SetDCAzCut(Float_t fDCAzCut) {DCAzCUT =fDCAzCut;}
40   void SetDCAxyCut(Float_t fDCAxyCut) {DCAxyCUT=fDCAxyCut;}
41   void SetkTPCcut(Bool_t isTPCcut) {kTPCcut=isTPCcut;}
42   void SetNsigmaTPCCut(Float_t NsigmaTpcCut) {NsigmaTPCCut=NsigmaTpcCut;}
43   void SetisSignalCheck(Bool_t IsSignalCheck) {isSignalCheck=IsSignalCheck;}
44   void SetMomBin(Int_t iMomBin) {MomType=iMomBin;}
45   void SetAbsEtaLimit(Double_t *etaLimit) {EtaLimit[0]=etaLimit[0];EtaLimit[1]=etaLimit[1];}
46   
47
48  private:
49   AliAnalysisNucleiMass(const AliAnalysisNucleiMass &old); 
50   AliAnalysisNucleiMass& operator=(const AliAnalysisNucleiMass &source);
51     
52   TFile *fmism;                     //! For load the mism time distr
53   TH1F *hmism;                      //! The mism time distr
54     
55   TFile *fchDist;                   //! Load the tof chan dist from IP
56   TH1D *hChDist;                    //! The tof chan dist from IP
57   
58   static const Int_t nbin = 46;     // number of pt bins
59
60   Double_t EtaLimit[2];                 // Eta windows in analysis
61
62   Int_t MomType;                    // type of momentum bins in analysis (7 are all ON): (Flag: 001(1)->pT 010(2)->p 100(3)->pTPC)
63
64   Bool_t fMC;                       // if MC
65
66   Float_t fCentrality[2];           // centrality bin (min and max)
67   
68   Int_t FilterBit;                  // filter be to be used
69
70   Int_t NminTPCcluster;             // min TPC cluster number
71
72   Float_t DCAzCUT;                  // cut on DCA-z
73   Float_t DCAxyCUT;                 // cut on DCA-xy
74
75   Bool_t kTPCcut;                   // to apply a TPC 2 sigma cut
76
77   Bool_t kTPC;                      //! is > NminTPCcluster 
78   Bool_t kTOF;                      //! kTOFout and kTIME required
79
80   Int_t iBconf;                      //! if Magnetic Configuration is down or up 
81
82   Bool_t isSignalCheck;               // if write with an appropriate binning the plots of the various signals (QA,...) 
83
84   Float_t NsigmaTPCCut;              // number of sigma Tpc Cut
85
86   AliAODEvent* fAOD;                //! AOD object
87   
88   AliESDEvent* fESD;                //! ESD object
89   
90   AliVEvent* fEvent;                //! general object
91  
92   AliPIDResponse *fPIDResponse;     //! pointer to PID response
93
94   TList *fList1[2];                    //! lists for slot
95
96   TH1F *hNeventSelected[2];            //! selected Event counter  
97
98   TH1F *hNevent[2];                    //! analyzed Event counter
99   
100   TH1F *hZvertex[2];                   //! z-vertex distribution
101
102   TH1F *hEtaDistribution[2];              //! Eta distribution of the tracks
103
104   TH2F *fdEdxVSp[2][3];                //! dedx vs p plots
105
106   TH2F *fBetaTofVSp[2];                //! beta vs p plots
107
108   TH1F *hTOFSignalPion[2];             //! pion  TOF signal
109
110   TH2F *fM2vsP_NoTpcCut[2][3];         //! M2 vs. P
111   
112   TH2F *fNsigmaTPC[2][9];              //! NsigmaTPC vs. pT
113   
114   TH2F *fNsigmaTOF[2][9];              //! NsigmaTOF vs. pT
115
116   TH2F *fNsigmaTPCvsP_kTOFtrue[2][18]; //! NsigmaTPC vs. p with kTOFout && kTIME for provide TPC different cuts effect
117  
118   TProfile *hDeDxExp[2][9];            //! TPC spline used
119
120   TProfile *hBetaExp[2][9];            //! TOF expected beta
121   
122   TH2F *fM2vsZ[2][15];                 //! M2 vs. Z in different pT range
123
124   TH2F *fM2vsZwithTPC[2][15];          //! M2 vs. Z in different pT range with 2sigmaTPC cut
125
126   TH2F *fM2vsP[2][18];                 //! M2 vs. P with 2 sigma TPC cut for each particle species
127
128   TH1D *hDCAxy[2][18][nbin];           //! DCA distribution in 2 sigma TPC cut for each particle species, in pT bins
129
130   TH1D *hM2CutDCAxy[2][18][nbin];      //! M^{2} IN DCA cut (in 2 sigma TPC cut), in pT bins
131
132   TH1D *hDCAz[2][18][nbin];            //! DCAz distribution in 2 sigma TPC cut for each particle species, in pT bins
133
134   TH1D *hM2CutGroundDCAxy[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in pT bins
135
136   TH2F *fM2vsP_NoTpcCut_DCAxyCut[2][3];//! M^{2} vs. P with a DCAxy cut  
137
138   TH2F *fM2vsP_DCAxyCut[2][18];        //! M^{2} vs. P with a DCAxy cut (2sigma TPC cut)
139   
140   TH1D *hDCAxy_pbin[2][18][nbin];           //! DCA distribution in 2 sigma TPC cut for each particle species, in p bins
141
142   TH1D *hM2CutDCAxy_pbin[2][18][nbin];      //! M^{2} IN DCA cut (in 2 sigma TPC cut), in p bins
143
144   TH1D *hDCAz_pbin[2][18][nbin];            //! DCAz distribution in 2 sigma TPC cut for each particle species, in p bins
145
146   TH1D *hM2CutGroundDCAxy_pbin[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in p bins
147    
148   TH1D *hDCAxy_pTpcbin[2][18][nbin];           //! DCA distribution in 2 sigma TPC cut for each particle species, in pTPC bins
149
150   TH1D *hM2CutDCAxy_pTpcbin[2][18][nbin];      //! M^{2} IN DCA cut (in 2 sigma TPC cut), in pTPC bins
151
152   TH1D *hDCAz_pTpcbin[2][18][nbin];            //! DCAz distribution in 2 sigma TPC cut for each particle species, in pTPC bins
153
154   TH1D *hM2CutGroundDCAxy_pTpcbin[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in pTPC bins
155
156   TH1D *hM2BkgMism[2][3][nbin];                //! M2 from mismatch background in each momentum bin
157
158   ClassDef(AliAnalysisNucleiMass, 1);
159 };
160
161 #endif