]>
Commit | Line | Data |
---|---|---|
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 |
14 | class AliLRCProcess;\r | |
15 | class AliLRCBase;\r | |
16 | class AliESDtrackCuts;\r | |
17 | class TH1D;\r | |
18 | class TH2D;\r | |
f62e9410 | 19 | \r |
d96e5666 | 20 | class AliAnalysisTaskLRC : public AliAnalysisTaskSE {\r |
f62e9410 | 21 | \r |
22 | public:\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 | |
55 | protected:\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 |