1 #ifndef ALIANALYSISNUCLEIMASS_H
2 #define ALIANALYSISNUCLEIMASS_H
8 #include <AliAnalysisTaskSE.h>
9 #include <AliPIDResponse.h>
20 class AliESDtrackCuts;
25 class AliAnalysisNucleiMass : public AliAnalysisTaskSE {
27 AliAnalysisNucleiMass();
28 AliAnalysisNucleiMass(const char *name);
30 virtual ~AliAnalysisNucleiMass();
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *);
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];}
49 AliAnalysisNucleiMass(const AliAnalysisNucleiMass &old);
50 AliAnalysisNucleiMass& operator=(const AliAnalysisNucleiMass &source);
52 TFile *fmism; //! For load the mism time distr
53 TH1F *hmism; //! The mism time distr
55 TFile *fchDist; //! Load the tof chan dist from IP
56 TH1D *hChDist; //! The tof chan dist from IP
58 static const Int_t nbin = 46; // number of pt bins
60 Double_t EtaLimit[2]; // Eta windows in analysis
62 Int_t MomType; // type of momentum bins in analysis (7 are all ON): (Flag: 001(1)->pT 010(2)->p 100(3)->pTPC)
66 Float_t fCentrality[2]; // centrality bin (min and max)
68 Int_t FilterBit; // filter be to be used
70 Int_t NminTPCcluster; // min TPC cluster number
72 Float_t DCAzCUT; // cut on DCA-z
73 Float_t DCAxyCUT; // cut on DCA-xy
75 Bool_t kTPCcut; // to apply a TPC 2 sigma cut
77 Bool_t kTPC; //! is > NminTPCcluster
78 Bool_t kTOF; //! kTOFout and kTIME required
80 Int_t iBconf; //! if Magnetic Configuration is down or up
82 Bool_t isSignalCheck; // if write with an appropriate binning the plots of the various signals (QA,...)
84 Float_t NsigmaTPCCut; // number of sigma Tpc Cut
86 AliAODEvent* fAOD; //! AOD object
88 AliESDEvent* fESD; //! ESD object
90 AliVEvent* fEvent; //! general object
92 AliPIDResponse *fPIDResponse; //! pointer to PID response
94 TList *fList1[2]; //! lists for slot
96 TH1F *hNeventSelected[2]; //! selected Event counter
98 TH1F *hNevent[2]; //! analyzed Event counter
100 TH1F *hZvertex[2]; //! z-vertex distribution
102 TH1F *hEtaDistribution[2]; //! Eta distribution of the tracks
104 TH2F *fdEdxVSp[2][3]; //! dedx vs p plots
106 TH2F *fBetaTofVSp[2]; //! beta vs p plots
108 TH1F *hTOFSignalPion[2]; //! pion TOF signal
110 TH2F *fM2vsP_NoTpcCut[2][3]; //! M2 vs. P
112 TH2F *fNsigmaTPC[2][9]; //! NsigmaTPC vs. pT
114 TH2F *fNsigmaTOF[2][9]; //! NsigmaTOF vs. pT
116 TH2F *fNsigmaTPCvsP_kTOFtrue[2][18]; //! NsigmaTPC vs. p with kTOFout && kTIME for provide TPC different cuts effect
118 TProfile *hDeDxExp[2][9]; //! TPC spline used
120 TProfile *hBetaExp[2][9]; //! TOF expected beta
122 TH2F *fM2vsZ[2][15]; //! M2 vs. Z in different pT range
124 TH2F *fM2vsZwithTPC[2][15]; //! M2 vs. Z in different pT range with 2sigmaTPC cut
126 TH2F *fM2vsP[2][18]; //! M2 vs. P with 2 sigma TPC cut for each particle species
128 TH1D *hDCAxy[2][18][nbin]; //! DCA distribution in 2 sigma TPC cut for each particle species, in pT bins
130 TH1D *hM2CutDCAxy[2][18][nbin]; //! M^{2} IN DCA cut (in 2 sigma TPC cut), in pT bins
132 TH1D *hDCAz[2][18][nbin]; //! DCAz distribution in 2 sigma TPC cut for each particle species, in pT bins
134 TH1D *hM2CutGroundDCAxy[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in pT bins
136 TH2F *fM2vsP_NoTpcCut_DCAxyCut[2][3];//! M^{2} vs. P with a DCAxy cut
138 TH2F *fM2vsP_DCAxyCut[2][18]; //! M^{2} vs. P with a DCAxy cut (2sigma TPC cut)
140 TH1D *hDCAxy_pbin[2][18][nbin]; //! DCA distribution in 2 sigma TPC cut for each particle species, in p bins
142 TH1D *hM2CutDCAxy_pbin[2][18][nbin]; //! M^{2} IN DCA cut (in 2 sigma TPC cut), in p bins
144 TH1D *hDCAz_pbin[2][18][nbin]; //! DCAz distribution in 2 sigma TPC cut for each particle species, in p bins
146 TH1D *hM2CutGroundDCAxy_pbin[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in p bins
148 TH1D *hDCAxy_pTpcbin[2][18][nbin]; //! DCA distribution in 2 sigma TPC cut for each particle species, in pTPC bins
150 TH1D *hM2CutDCAxy_pTpcbin[2][18][nbin]; //! M^{2} IN DCA cut (in 2 sigma TPC cut), in pTPC bins
152 TH1D *hDCAz_pTpcbin[2][18][nbin]; //! DCAz distribution in 2 sigma TPC cut for each particle species, in pTPC bins
154 TH1D *hM2CutGroundDCAxy_pTpcbin[2][18][nbin];//! M^{2} OUT DCA cut (in 2 sigma TPC cut), in pTPC bins
156 TH1D *hM2BkgMism[2][3][nbin]; //! M2 from mismatch background in each momentum bin
158 ClassDef(AliAnalysisNucleiMass, 1);