]>
Commit | Line | Data |
---|---|---|
8c1c76e9 | 1 | /**************************************************************************\r |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r | |
3 | * *\r | |
4 | * Author: The ALICE Off-line Project. *\r | |
5 | * Contributors are mentioned in the code where appropriate. *\r | |
6 | * *\r | |
7 | * Permission to use, copy, modify and distribute this software and its *\r | |
8 | * documentation strictly for non-commercial purposes is hereby granted *\r | |
9 | * without fee, provided that the above copyright notice appears in all *\r | |
10 | * copies and that both the copyright notice and this permission notice *\r | |
11 | * appear in the supporting documentation. The authors make no claims *\r | |
12 | * about the suitability of this software for any purpose. It is *\r | |
13 | * provided "as is" without express or implied warranty. *\r | |
14 | **************************************************************************/\r | |
15 | //\r | |
16 | // Flow task class for the ALICE HFE group\r | |
17 | //\r | |
18 | //\r | |
19 | #ifndef ALIANALYSISTASKHFEFLOW_H\r | |
20 | #define ALIANALYSISTASKHFEFLOW_H\r | |
21 | \r | |
22 | \r | |
23 | \r | |
24 | \r | |
25 | #include <AliAnalysisTaskSE.h>\r | |
26 | \r | |
27 | class TList;\r | |
28 | class AliFlowTrackCuts;\r | |
29 | class AliFlowCandidateTrack;\r | |
30 | class AliHFEcuts;\r | |
31 | class AliHFEpid;\r | |
32 | class TH1D;\r | |
33 | class TH2D;\r | |
34 | class THnSparse;\r | |
35 | class AliHFEpidQAmanager;\r | |
36 | class AliFlowEvent;\r | |
37 | \r | |
38 | class AliAnalysisTaskHFEFlow: public AliAnalysisTaskSE {\r | |
39 | \r | |
40 | public:\r | |
41 | AliAnalysisTaskHFEFlow();\r | |
42 | AliAnalysisTaskHFEFlow(const char *name);\r | |
43 | //TODO: if we get the ESDpid object from somewhere else, we should not delete it anymore!!!\r | |
44 | virtual ~AliAnalysisTaskHFEFlow(){;}\r | |
45 | \r | |
46 | virtual void UserExec(Option_t */*option*/);\r | |
47 | virtual void UserCreateOutputObjects();\r | |
48 | \r | |
49 | AliHFEpid *GetPID() const { return fPID; }\r | |
50 | void SetHFECuts(AliHFEcuts * const cuts) { fHFECuts = cuts; };\r | |
51 | void SetSubEtaGapTPC(Bool_t subEtaGapTPC) { fSubEtaGapTPC = subEtaGapTPC; };\r | |
52 | void SetEtaGap(Double_t etaGap) { fEtaGap = etaGap; };\r | |
53 | \r | |
54 | void SetNbBinsPtQCumulant(Int_t nbBinsPtQCumulant) { fNbBinsPtQCumulant = nbBinsPtQCumulant; };\r | |
55 | void SetMinPtQCumulant(Double_t minPtQCumulant) { fMinPtQCumulant = minPtQCumulant; };\r | |
56 | void SetMaxPtQCumulant(Double_t maxPtQCumulant) { fMaxPtQCumulant = maxPtQCumulant; };\r | |
57 | \r | |
58 | void SetAfterBurnerOn(Bool_t afterBurnerOn) { fAfterBurnerOn = afterBurnerOn; };\r | |
59 | void SetNonFlowNumberOfTrackClones(Int_t nonFlowNumberOfTrackClones) { fNonFlowNumberOfTrackClones = nonFlowNumberOfTrackClones; };\r | |
60 | void SetV1V2V3V4V5(Double_t v1,Double_t v2,Double_t v3,Double_t v4,Double_t v5) {fV1 = v1; fV2 = v2; fV3 = v3; fV4 = v4; fV5 = v5; };\r | |
61 | void SetMaxNumberOfIterations(Int_t maxNumberOfIterations) { fMaxNumberOfIterations = maxNumberOfIterations; };\r | |
62 | void SetPrecisionPhi(Double_t precisionPhi) { fPrecisionPhi = precisionPhi;};\r | |
63 | void SetUseMCReactionPlane(Bool_t useMCReactionPlane) { fUseMCReactionPlane = useMCReactionPlane;};\r | |
64 | void SetMCPID(Bool_t mcPID) { fMCPID = mcPID;};\r | |
65 | \r | |
66 | \r | |
67 | AliFlowCandidateTrack *MakeTrack( Double_t mass, Double_t pt, Double_t phi, Double_t eta) ;\r | |
68 | Double_t GetPhiAfterAddV2(Double_t phi,Double_t reactionPlaneAngle) const;\r | |
69 | \r | |
70 | private:\r | |
71 | TList *fListHist; //TH list\r | |
72 | \r | |
73 | Bool_t fSubEtaGapTPC; // bool to fill with eta gap\r | |
74 | Double_t fEtaGap; // Value of the eta gap\r | |
75 | \r | |
76 | Int_t fNbBinsPtQCumulant; // Nbbinspt QCumulant method\r | |
77 | Double_t fMinPtQCumulant; // Min pt QCumulant method\r | |
78 | Double_t fMaxPtQCumulant; // Max pt QCumulant method\r | |
79 | Bool_t fAfterBurnerOn; // Add flow to all tracks\r | |
80 | Int_t fNonFlowNumberOfTrackClones; // number of times to clone the particles (nonflow) \r | |
81 | Double_t fV1; // Add Flow. Must be in range [0,0.5].\r | |
82 | Double_t fV2; // Add Flow. Must be in range [0,0.5].\r | |
83 | Double_t fV3; // Add Flow. Must be in range [0,0.5].\r | |
84 | Double_t fV4; // Add Flow. Must be in range [0,0.5].\r | |
85 | Double_t fV5; // Add Flow. Must be in range [0,0.5].\r | |
86 | Int_t fMaxNumberOfIterations; // Max number of iteration for adding v2\r | |
87 | Double_t fPrecisionPhi; // precision phi for adding v2\r | |
88 | Bool_t fUseMCReactionPlane; // use MC reaction plane\r | |
89 | \r | |
90 | Bool_t fMCPID; // MC PID for electrons\r | |
91 | \r | |
92 | \r | |
93 | // Cuts for FLOW PWG2\r | |
94 | AliFlowTrackCuts* fcutsRP; // Reference particle cut\r | |
95 | AliFlowTrackCuts* fcutsPOI; // Particle Of Interest cut\r | |
96 | \r | |
97 | // Cuts for HFE\r | |
98 | AliHFEcuts *fHFECuts; // HFE cuts\r | |
99 | AliHFEpid *fPID; // PID cuts \r | |
100 | AliHFEpidQAmanager *fPIDqa; // QA Manager\r | |
101 | AliFlowEvent *fflowEvent; // Flow event \r | |
102 | \r | |
103 | \r | |
104 | // Histos\r | |
105 | TH2D *fHistEV; // Number of events\r | |
106 | \r | |
107 | // A Event plane as function of phiep, centrality \r | |
108 | THnSparseF *fEventPlane; // Event plane\r | |
109 | \r | |
110 | // B Event Plane after subtraction as function of phiep, centrality \r | |
111 | THnSparseF *fEventPlaneaftersubtraction; // Event plane\r | |
112 | \r | |
113 | // E Monitoring Event plane after subtraction of the track: cos, centrality, pt, eta\r | |
114 | THnSparseF *fCos2phie; // Monitoring\r | |
115 | THnSparseF *fSin2phie; // Monitoring\r | |
116 | THnSparseF *fCos2phiep; // Monitoring\r | |
117 | THnSparseF *fSin2phiep; // Monitoring\r | |
118 | THnSparseF *fSin2phiephiep; // Monitoring\r | |
119 | \r | |
120 | // F Resolution as function of cosres, centrality \r | |
121 | THnSparseF *fCosRes; // Res\r | |
122 | \r | |
123 | // G Maps delta phi as function of deltaphi, centrality, pt\r | |
124 | THnSparseF *fDeltaPhiMaps; // Delta phi\r | |
125 | \r | |
126 | // H Maps cos phi : cos, centrality, pt\r | |
127 | THnSparseF *fCosPhiMaps; //Cos\r | |
128 | \r | |
129 | \r | |
130 | \r | |
131 | \r | |
132 | AliAnalysisTaskHFEFlow(const AliAnalysisTaskHFEFlow&); // not implemented\r | |
133 | AliAnalysisTaskHFEFlow& operator=(const AliAnalysisTaskHFEFlow&); // not implemented\r | |
134 | \r | |
135 | ClassDef(AliAnalysisTaskHFEFlow, 1); // analysisclass\r | |
136 | };\r | |
137 | \r | |
138 | #endif\r |