]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/LRC/AliAnalysisTaskLRC.h
Code Migration PWG2/EBYE to PWGCF/EBYE + Creation of Balance Function Folder
[u/mrichter/AliRoot.git] / PWGCF / EBYE / LRC / AliAnalysisTaskLRC.h
CommitLineData
08496891 1#ifndef ALIANALYSISTASKLRC_H\r
2#define ALIANALYSISTASKLRC_H\r
f62e9410 3\r
f62e9410 4// Analysis task for Long Range Correlation (LRC) analysis using TPC data\r
d96e5666 5// This includes a TList of AliLRCProcess objects that are processing LRC analysis\r
6// for a given Eta window \r
7\r
f62e9410 8// Author : Andrey Ivanov , St.Peterburg State University\r
9// Email: Andrey.Ivanov@cern.ch\r
10\r
41f63c69 11/* See cxx source for full Copyright notice */\r
f62e9410 12\r
41f63c69 13#include <AliAnalysisTaskSE.h>\r
14class AliLRCProcess;\r
15class AliLRCBase;\r
16class AliESDtrackCuts;\r
17class TH1D;\r
18class TH2D;\r
f62e9410 19\r
d96e5666 20class AliAnalysisTaskLRC : public AliAnalysisTaskSE {\r
f62e9410 21\r
22public:\r
41f63c69 23 //Constructors \r
d96e5666 24 AliAnalysisTaskLRC(const char *name = "AliAnalysisTaskLRC",Bool_t runKine=kFALSE);\r
f62e9410 25 virtual ~AliAnalysisTaskLRC() {}\r
26 \r
d96e5666 27 //AliAnalysisTaskSE overloading\r
f62e9410 28 \r
d96e5666 29 virtual void UserCreateOutputObjects();\r
30 virtual void UserExec(Option_t *option);\r
31 virtual void Terminate(Option_t *);\r
41f63c69 32 //---------------------------------- \r
33 \r
34 void AddLRCProcess(AliLRCBase *newProc); //Adds new AliLRCProcess to analysis task\r
35 \r
36 // Setters\r
37 \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
47 \r
48// Getters\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
f62e9410 52 \r
41f63c69 53 \r
54 \r
55protected:\r
56// Track cuts\r
57\r
58 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts\r
59\r
60\r
61\r
62// Aceptance cuts\r
63\r
d96e5666 64 Double_t fMaxPtLimit; //Max Pt filter\r
65 Double_t fMinPtLimit; // Min Pt filter \r
f62e9410 66\r
41f63c69 67// Nch cuts\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
f62e9410 70 \r
41f63c69 71// Vtx cuts\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
77\r
78\r
d96e5666 79 TList fLRCproc; // AliLRCProcess objects list\r
41f63c69 80 TList* fOutList; //! Task Output data container \r
f62e9410 81 \r
d96e5666 82 Bool_t fRunKine; // ESD/AOD - KINE switch\r
41f63c69 83 Bool_t fShowEventStats; // Allows per event debug output (trigger Nch, cuts etc)\r
84 Bool_t fShowPerTrackStats; // Allows per track debug output\r
d96e5666 85 \r
41f63c69 86\r
87// QA histos \r
88\r
89 TH1D *fHistEventCutStats; //! Event cut statistics\r
90 TH1D *fHistTrackCutStats; //! Track cut statistics\r
91\r
92 TH1D *fHistVx; //!Vx hist\r
93 TH1D *fHistVy; //!Vy hist\r
94 TH1D *fHistVz; //!Vz hist\r
95\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
98\r
99 TH1D *fHistAceptedMult; //! Number of acepted tracks histo\r
100\r
101\r
102\r
f62e9410 103 AliAnalysisTaskLRC(const AliAnalysisTaskLRC&); // not implemented\r
104 AliAnalysisTaskLRC& operator=(const AliAnalysisTaskLRC&); // not implemented\r
105 \r
106 ClassDef(AliAnalysisTaskLRC, 1); \r
107};\r
108\r
109#endif\r