]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliEPSelectionTask.h
preserve bit 8 for TPC only tracks
[u/mrichter/AliRoot.git] / ANALYSIS / AliEPSelectionTask.h
CommitLineData
ce7adfe9 1#ifndef ALIEPSELECTIONTASK_H
2#define ALIEPSELECTIONTASK_H
3
4/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//*****************************************************
8// Class AliEPSelectionTask
9// author: Alberica Toia, Johanna Gramling
10//*****************************************************
11
12#include "AliAnalysisTaskSE.h"
13
14class TFile;
15class TH1F;
16class TH2F;
17class TList;
18class TString;
19class TVector2;
20class TObjArray;
21
22class AliESDEvent;
23class AliESDtrackCuts;
24class AliESDtrack;
25class AliEventplane;
90267ca6 26class AliOADBContainer;
ce7adfe9 27
28class AliEPSelectionTask : public AliAnalysisTaskSE {
29
30 public:
31
32 AliEPSelectionTask();
33 AliEPSelectionTask(const char *name);
34 virtual ~AliEPSelectionTask();
35
36 // Implementation of interface methods
37 virtual void UserCreateOutputObjects();
38 virtual void UserExec(Option_t *option);
39 virtual void Terminate(Option_t *option);
40
41 TVector2 GetQ(AliEventplane* EP, TObjArray* event);
42 void GetQsub(TVector2& Qsub1, TVector2& Qsub2, TObjArray* event);
43 Double_t GetWeight(AliESDtrack* track);
44 Double_t GetPhiWeight(AliESDtrack* track);
45
46 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
47 void SetInput(const char* input) {fAnalysisInput = input;}
48 void SetUseMCRP() {fUseMCRP = kTRUE;}
49 void SetUsePhiWeight() {fUsePhiWeight = kTRUE;}
50 void SetUsePtWeight() {fUsePtWeight = kTRUE;}
51 void SetSaveTrackContribution() {fSaveTrackContribution = kTRUE;}
90267ca6 52 void SetTrackType(TString tracktype);
53 void SetPhiDist();
54 void SetPersonalESDtrackCuts(AliESDtrackCuts* trackcuts);
71916547 55 void SetPersonalPhiDistribution(const char* filename, char* listname);
ce7adfe9 56
57 private:
58
59 AliEPSelectionTask(const AliEPSelectionTask& ep);
60 AliEPSelectionTask& operator= (const AliEPSelectionTask& ep);
61
ce7adfe9 62 TString fAnalysisInput; // "ESD", "AOD"
90267ca6 63 TString fTrackType; // "GLOBAL", "TPC"
ce7adfe9 64 Bool_t fUseMCRP; // i.e. usable for Therminator, when MC RP is provided
65 Bool_t fUsePhiWeight; // use of phi weights
66 Bool_t fUsePtWeight; // use of pT weights
67 Bool_t fSaveTrackContribution; // storage of contribution of each track to Q-Vector
90267ca6 68 Bool_t fuserphidist; // bool, if personal phi distribution should be used
69 Bool_t fusercuts; // bool, if personal cuts should be used
70 Int_t frunNumber; // runnumber
ce7adfe9 71
08c34a44 72 AliESDtrackCuts* fESDtrackCuts; //! track cuts
ce7adfe9 73
08c34a44 74 TObjArray* ftracklist; //! list of accepted tracks for Q-Vector
90267ca6 75 AliOADBContainer* fEPContainer; //! OADB Container
ce7adfe9 76 TH1F* fPhiDist; // Phi distribution used to calculate phi weights
77
08c34a44 78 TVector2* fQVector; //! Q-Vector of the event
79 Double_t* fQContributionX; //! array of the tracks' contributions to X component of Q-Vector - index = track ID
80 Double_t* fQContributionY; //! array of the tracks' contributions to Y component of Q-Vector - index = track ID
81 Double_t fEventplaneQ; //! Event plane angle from Q-Vector
82 TVector2* fQsub1; //! Q-Vector of sub-event 1
83 TVector2* fQsub2; //! Q-Vector of sub-event 2
84 Double_t fQsubRes; //! Difference of EP angles of subevents
ce7adfe9 85
71916547 86 TList* fOutputList; // Output histograms
08c34a44 87 TH1F* fHOutEventplaneQ; //! control histogram: Event Plane angle
88 TH1F* fHOutPhi; //! control histogram: original phi distribution
89 TH1F* fHOutPhiCorr; //! control histogram: corrected phi distribution
90 TH2F* fHOutsub1sub2; //! control histogram: correlation of EP from subevents
91 TH2F* fHOutNTEPRes; //! control histogram: Difference of EP angles of subevents vs Nch
92 TH2F* fHOutPTPsi; //! control histogram: Difference of EP angle and emission angle of track vs track pT
93 TH2F* fHOutDiff; //! control histogram: Difference of MC RP and EP - only filled if fUseMCRP is true!
94 TH2F* fHOutleadPTPsi; //! control histogram: emission angle of leading pT track vs EP angle
ce7adfe9 95
90267ca6 96 ClassDef(AliEPSelectionTask,3);
ce7adfe9 97};
98
99#endif
100