1 #ifndef ALIANALYSISTASKLRC_H
\r
2 #define ALIANALYSISTASKLRC_H
\r
4 // Analysis task for Long Range Correlation (LRC) analysis using TPC data
\r
5 // This includes a TList of AliLRCProcess objects that are processing LRC analysis
\r
6 // for a given Eta window
\r
8 // Author : Andrey Ivanov , St.Peterburg State University
\r
9 // Email: Andrey.Ivanov@cern.ch
\r
11 /* See cxx source for full Copyright notice */
\r
13 #include <AliAnalysisTaskSE.h>
\r
14 class AliLRCProcess;
\r
16 class AliESDtrackCuts;
\r
20 class AliAnalysisTaskLRC : public AliAnalysisTaskSE {
\r
24 AliAnalysisTaskLRC(const char *name = "AliAnalysisTaskLRC",Bool_t runKine=kFALSE);
\r
25 virtual ~AliAnalysisTaskLRC() {}
\r
27 //AliAnalysisTaskSE overloading
\r
29 virtual void UserCreateOutputObjects();
\r
30 virtual void UserExec(Option_t *option);
\r
31 virtual void Terminate(Option_t *);
\r
32 //----------------------------------
\r
34 void AddLRCProcess(AliLRCBase *newProc); //Adds new AliLRCProcess to analysis task
\r
38 void SetMaxPtLimit(Double_t MaxPtLimit); //Sets Max Pt filter
\r
39 void SetMinPtLimit(Double_t MinPtLimit); //Sets Min Pt filter
\r
40 void SetCheckForkVtx(Bool_t CheckForkVtx){fCheckForkVtx=CheckForkVtx;} // Accept only events with veretex
\r
41 void SetCheckForVtxPosition(Bool_t CheckForVtxPosition ){fCheckForVtxPosition=CheckForVtxPosition;} //Accept only events with veretex in slected range
\r
42 void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
\r
43 void SetShowEventStats(Bool_t ShowEventStats) {fShowEventStats= ShowEventStats;}
\r
44 void SetShowPerTrackStats(Bool_t ShowPerTrackStats) {fShowPerTrackStats=ShowPerTrackStats;}
\r
45 void SetVtxDiamond(Double_t Vx, Double_t Vy, Double_t Vz) {fVxMax = Vx;fVyMax =Vy;fVzMax = Vz;}
\r
46 void SetNchCuts(Int_t minNch, Int_t maxNch){fMinAceptedTracksCut=minNch; fMaxAceptedTracksCut=maxNch;}
\r
49 TList* GetListOfProcessors() { return &fLRCproc;} // Returns list of included
\r
50 AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
\r
51 AliLRCBase * Proc(Int_t index);// Get Processor i
\r
58 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
\r
64 Double_t fMaxPtLimit; //Max Pt filter
\r
65 Double_t fMinPtLimit; // Min Pt filter
\r
68 Int_t fMinAceptedTracksCut; //Minimum number of accepted tracks in event
\r
69 Int_t fMaxAceptedTracksCut; //Maximum number of accepted tracks in event
\r
72 Bool_t fCheckForkVtx; // Check for vertex
\r
73 Bool_t fCheckForVtxPosition; // Check if vertex position in range
\r
74 Double_t fVxMax; // X vrtx max
\r
75 Double_t fVyMax; // Y vrtx max
\r
76 Double_t fVzMax; // Z vrtx max
\r
79 TList fLRCproc; // AliLRCProcess objects list
\r
80 TList* fOutList; //! Task Output data container
\r
82 Bool_t fRunKine; // ESD/AOD - KINE switch
\r
83 Bool_t fShowEventStats; // Allows per event debug output (trigger Nch, cuts etc)
\r
84 Bool_t fShowPerTrackStats; // Allows per track debug output
\r
89 TH1D *fHistEventCutStats; //! Event cut statistics
\r
90 TH1D *fHistTrackCutStats; //! Track cut statistics
\r
92 TH1D *fHistVx; //!Vx hist
\r
93 TH1D *fHistVy; //!Vy hist
\r
94 TH1D *fHistVz; //!Vz hist
\r
96 TH2D *fHistEtaVsZvCoverage; //! Statistics on tracks Zv and Eta for all tracks
\r
97 TH2D *fHistEtaVsZvCoverageAcepted; //! Statistics on tracks Zv and Eta for acepted tracks
\r
99 TH1D *fHistAceptedMult; //! Number of acepted tracks histo
\r
103 AliAnalysisTaskLRC(const AliAnalysisTaskLRC&); // not implemented
\r
104 AliAnalysisTaskLRC& operator=(const AliAnalysisTaskLRC&); // not implemented
\r
106 ClassDef(AliAnalysisTaskLRC, 1);
\r