1 #ifndef ALIANALYSISNUCLEIINFO_H
2 #define ALIANALYSISNUCLEIINFO_H
8 #include <AliAnalysisTaskSE.h>
9 #include <AliPIDResponse.h>
21 class AliESDtrackCuts;
26 class AliAnalysisNucleiInfo : public AliAnalysisTaskSE {
28 AliAnalysisNucleiInfo();
29 AliAnalysisNucleiInfo(const char *name);
31 virtual ~AliAnalysisNucleiInfo();
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
35 virtual void Terminate(Option_t *);
39 void SetFilterBit(Int_t TestFilterBit=16) {FilterBit=TestFilterBit;}
41 void SetEtaLimit(Double_t etaMin=-0.8, Double_t etaMax=0.8) {EtaLimit[0]=etaMin;EtaLimit[1]=etaMax;}
42 void SetDCACut(Double_t DCAxyCUT=1000.0, Double_t DCAzCUT=1000.0) {DCAxyCut=DCAxyCUT; DCAzCut=DCAzCUT;}
44 void SetNsigmaTPCCut(Double_t nSigmaTpcCut=2) {NsigmaTpcCut=nSigmaTpcCut;}
45 void SetStartTimeTofRes(Double_t startTimeTofRes=9999.9){StartTimeTofRes=startTimeTofRes;}
48 AliAnalysisNucleiInfo(const AliAnalysisNucleiInfo &old);
49 AliAnalysisNucleiInfo& operator=(const AliAnalysisNucleiInfo &source);
51 static const Int_t nBconf=2; // Number of Magnetic field configuration (B++ and B--)
52 static const Int_t nPart=9; // Number of particle type: e,mu,pi,K...
53 static const Int_t nSpec=18; // Number of particle species: particles: e+,e-,mu+,mu-,...
55 //Variables settings with public methods:
56 Int_t FilterBit; // Filter Bit to be used
57 Double_t EtaLimit[2]; // Eta windows in analysis
58 Double_t DCAxyCut; // Cut on DCA-xy
59 Double_t DCAzCut; // Cut on DCA-z
60 Double_t NsigmaTpcCut; // number of sigma Tpc Cut
61 Double_t StartTimeTofRes;
64 Int_t iBconf; //! If Magnetic Field configuration is down or up
65 Bool_t kTOF; //! kTOFout and kTIME required
67 static const Int_t iTriggerSel=0; // -99->no trigger required ; 0-> if kMB ; 16-> if kCentral ; 17-> if kSemiCentral ; -2 -> No MB, No Central and No SemiCentral
69 AliAODEvent* fAOD; //! AOD object
70 AliESDEvent* fESD; //! ESD object
71 AliVEvent* fEvent; //! general object
72 AliPIDResponse *fPIDResponse; //! pointer to PID response
73 TList *fList[nBconf]; //! lists for slot
75 TH1I *htriggerbits[nBconf][2]; //! Trigger bits distribution
76 TH1F *htemp[nBconf]; //! Temp. plot: avoid a problem with the merge of the output when a TList is empty (of the opposite magnetic field configuration)
77 TH1F *hZvertex[nBconf][2]; //! z-vertex distribution before and after the cuts on the event
79 TH1F *hEta[nBconf]; //! Eta distribution of the tracks
80 TH1F *hPhi[nBconf]; //! Phi particle distribution
81 TH1I *hNtrackAtTof[nBconf]; //! Number of the tracks when kTOF is required
84 TH2F *fdEdxVSp[nBconf][2]; //! dedx vs pTpc
85 TProfile *hDeDxExp[nBconf][9]; //! TPC spline used
86 TH2F *fNsigmaTpc[nBconf][18]; //! NsigmaTPC vs. pTpc
89 TH2F *fBetaTofVSp[nBconf][2]; //! beta vs pVtx
90 TProfile *hBetaExp[nBconf][9]; //! TOF expected beta
91 TH2F *fNsigmaTof[nBconf][2][18]; //! NsigmaTOF vs. pT
92 TH2F *fTofMinusExp[nBconf][2][18]; //! tof-t_exp w/o tpc
93 TH1F *hStartTimeRes[nBconf]; //! start time resolution
96 TH2F *h2DCAap[nBconf][18]; //! DCAxy vs DCAz with NsigmaTpcCut for each particle species
98 ClassDef(AliAnalysisNucleiInfo, 2);