#ifndef ALIANALYSISTASKNUCLEIV2_H #define ALIANALYSISTASKNUCLEIV2_H /* See cxx source for full Copyright notice */ //----------------------------------------------------------------- // AliAnalysisTaskNucleiv2 class //----------------------------------------------------------------- class TList; class TH1F; class TH2F; class TH3F; class TNtuple; class AliESDcascade; //class AliCascadeVertexer; #include <AliPIDResponse.h> #include "TString.h" #include "AliESDtrackCuts.h" #include "AliAnalysisTaskSE.h" class AliAnalysisTaskNucleiv2 : public AliAnalysisTaskSE { public: // AliAnalysisTaskNucleiv2(const char *datatype); AliAnalysisTaskNucleiv2(); AliAnalysisTaskNucleiv2(const char *name,const char *datatype,Bool_t filltree); virtual ~AliAnalysisTaskNucleiv2() {} virtual void UserCreateOutputObjects(); virtual void UserExec(Option_t *option); virtual void Terminate(Option_t *); void SetCollidingSystems(Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;} void SetAnalysisType (const char* analysisType = "ESD") {fAnalysisType = analysisType;} void SetDataType (const char* dataType = "REAL") {fDataType = dataType;} void SetFillTree (Bool_t ifFill = kFALSE) {fFillNtuple = ifFill;} // void SetDataType (const char* dataTypeS = datatype) {fDataType = dataTypeS;} // void SetDataType (const char* dataType) {fDataType = dataType;} //Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t optMC); // Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t isPbPb); // Bool_t IsTrackAccepted(AliESDtrack * const track); Float_t GetPhi0Pi(Float_t phi); void Initialize(); private: TString fAnalysisType; //! "ESD" or "AOD" analysis type Short_t fCollidingSystems; //! 0 = pp collisions or 1 = AA collisions TString fDataType; //! "REAL" or "SIM" data type Bool_t fFillNtuple; //! fill or not the tree TList *fListHistCascade; //! List of Cascade histograms TH1F *fHistEventMultiplicity; //! event multiplicity TH2F *fHistTrackMultiplicity; //! track multiplicity TH2F *fHistTrackMultiplicityCentral; //! track multiplicity TH2F *fHistTrackMultiplicitySemiCentral;//! track multiplicity TH2F *fHistTrackMultiplicityMB; //! track multiplicity TH2F *fhBB; //! ScatterPlot Total TH2F *fhBBDeu; //! ScatterPlot Total TH2F *fhPtDeu; //! correctet vs non correcter d pt TH2F *fhTOF; //! ScatterPlot Total TOF TH1F *fhMassTOF; //! Mass Distribution TOF TH2F *hRPangleTPCvsCentrality; //RESOLUTION Histrograms TH2F *hPlaneResoTPCvsCentrality; TH2F *hRPangleVZEROvsCentrality; TH2F *hRPangleVZEROAvsCentrality; TH2F *hRPangleVZEROCvsCentrality; TH2F *hPlaneResoVZEROvsCentrality; TH2F *hPlaneResoVZEROAvsCentrality; TH2F *hPlaneResoVZEROCvsCentrality; TH2F *hCosPhivsPt; TH2F *hSinPhivsPt; TH2F *hPhivsPt; TH2F *hAntiCosPhivsPt; TH2F *hAntiSinPhivsPt; TH2F *hAntiPhivsPt; TH2F *hCosDeltaPhivsPt075; TH2F *hSinDeltaPhivsPt075; TH2F *hDeltaPhivsPt075; TH2F *hCosDeltaPhiVZEROvsPt075; TH2F *hSinDeltaPhiVZEROvsPt075; TH2F *hDeltaPhiVZEROvsPt075; TH2F *hCosDeltaPhivsPt1530; TH2F *hSinDeltaPhivsPt1530; TH2F *hDeltaPhivsPt1530; TH2F *hCosDeltaPhiVZEROvsPt1530; TH2F *hSinDeltaPhiVZEROvsPt1530; TH2F *hDeltaPhiVZEROvsPt1530; TH2F *hCosDeltaPhivsPt3050; TH2F *hSinDeltaPhivsPt3050; TH2F *hDeltaPhivsPt3050; TH2F *hCosDeltaPhiVZEROvsPt3050; TH2F *hSinDeltaPhiVZEROvsPt3050; TH2F *hDeltaPhiVZEROvsPt3050; TH2F *hCosDeltaPhivsPt1550; TH2F *hSinDeltaPhivsPt1550; TH2F *hDeltaPhivsPt1550; TH2F *hCosDeltaPhiVZEROvsPt1550; TH2F *hSinDeltaPhiVZEROvsPt1550; TH2F *hDeltaPhiVZEROvsPt1550; TH2F *hAntiCosDeltaPhivsPt075; TH2F *hAntiSinDeltaPhivsPt075; TH2F *hAntiDeltaPhivsPt075; TH2F *hAntiCosDeltaPhiVZEROvsPt075; TH2F *hAntiSinDeltaPhiVZEROvsPt075; TH2F *hAntiDeltaPhiVZEROvsPt075; TH2F *hAntiCosDeltaPhivsPt1530; TH2F *hAntiSinDeltaPhivsPt1530; TH2F *hAntiDeltaPhivsPt1530; TH2F *hAntiCosDeltaPhiVZEROvsPt1530; TH2F *hAntiSinDeltaPhiVZEROvsPt1530; TH2F *hAntiDeltaPhiVZEROvsPt1530; TH2F *hAntiCosDeltaPhivsPt3050; TH2F *hAntiSinDeltaPhivsPt3050; TH2F *hAntiDeltaPhivsPt3050; TH2F *hAntiCosDeltaPhiVZEROvsPt3050; TH2F *hAntiSinDeltaPhiVZEROvsPt3050; TH2F *hAntiDeltaPhiVZEROvsPt3050; TH2F *hAntiCosDeltaPhivsPt1550; TH2F *hAntiSinDeltaPhivsPt1550; TH2F *hAntiDeltaPhivsPt1550; TH2F *hAntiCosDeltaPhiVZEROvsPt1550; TH2F *hAntiSinDeltaPhiVZEROvsPt1550; TH2F *hAntiDeltaPhiVZEROvsPt1550; AliESDtrackCuts * fESDtrackCuts; AliPIDResponse *fPIDResponse; //! pointer to PID response //_______________________________________________________________________ TTree *fNtuple1; //! Some Information on the tracks Double_t tEventNumber[7]; //ev number; run number; Bunch Cross - Orbit - Period Number; #tracks; event type Double_t tCentrality ; Double_t tVertexCoord[3]; //TRACKS Double_t tPIDITS[9]; //n-signas different particle species ITS Double_t tPIDTPC[9]; //n-signas different particle species TPC Double_t tPIDTOF[9]; //n-signas different particle species TOF Double_t tPulls[3]; //Pulls Double_t tMomentum[3]; //pxpypz of the tracks Double_t tTPCMomentum; //momentum at theh TPC inner wall Double_t tdEdx; //dEdx of the tracks Double_t tEta; //eta of the tracks Double_t tDCA[2]; //dcaXY and dcaZ of the track Double_t tTracksTPC[2]; //chi^2 and #TPCcluster Double_t tITSclustermap; //ITS cluster map Double_t tITSsample[4]; //ITS samples Int_t tisTOF[2]; //isTOF, isOuterTPCwall Double_t tTOFtrack[3]; //poutTPC,timeTOF,trackLenghtTOF; Int_t tCharge; //Charge of the Track Double_t tPtCorr; //Corrected Momentum Double_t tPhi; //Phi Double_t trpangleTPC; //rpangleTPC Double_t trpangleVZERO[3]; //rpangleVZERO: V0M, V0A, V0C Double_t tPDGCode; //PDG code ptc Double_t tPDGCodeMum; //PDG code mother ptc Double_t tIsPrimaryTr; Double_t tIsSecondaryTr[2]; //from material ; from weak deacy //_______________________________________________________________________ TTree *fNtuple2; //! MC tree Double_t tEventNumberMC[6]; //ev number; run number; Bunch Cross - Orbit - Period Number; #tracks Double_t tCentralityMC; Double_t tVertexCoordMC[3]; Double_t tMomentumMC[3]; //pxpypz of the tracks Double_t tPDGCodeMC ; Double_t tPDGCodeMumMC ; Double_t tIsPrimary ; Double_t tIsSecondary[2] ; //from material ; from weak deacy Double_t tEtaMC ; Double_t tPtMC ; Double_t tYMC ; //_______________________________________________________________________ AliAnalysisTaskNucleiv2(const AliAnalysisTaskNucleiv2&); // not implemented AliAnalysisTaskNucleiv2& operator=(const AliAnalysisTaskNucleiv2&); // not implemented ClassDef(AliAnalysisTaskNucleiv2, 0); }; #endif