]>
Commit | Line | Data |
---|---|---|
563a673f | 1 | #ifndef ALIROOT_PWG2_FORWARD_ALIFORWARDCORRECTIONS_H |
2 | #define ALIROOT_PWG2_FORWARD_ALIFORWARDCORRECTIONS_H | |
3 | #include <AliAnalysisTaskSE.h> | |
4 | #include "AliForwardUtil.h" | |
5 | #include "AliFMDSharingFilter.h" | |
6 | #include "AliFMDDensityCalculator.h" | |
7 | #include "AliFMDCorrections.h" | |
8 | #include "AliFMDHistCollector.h" | |
9 | #include "AliAODForwardMult.h" | |
10 | #include <AliESDFMD.h> | |
11 | #include <TH1I.h> | |
12 | class AliFMDAnaParameters; | |
13 | class AliESDEvent; | |
14 | class TH2D; | |
0bd4b00f | 15 | class TH3D; |
563a673f | 16 | class TList; |
17 | class TTree; | |
18 | ||
19 | ||
20 | /** | |
21 | * Calculate the corrections in the forward regions | |
22 | * | |
23 | * @par Inputs: | |
24 | * - AliESDEvent | |
25 | * | |
26 | * @par Outputs: | |
27 | * - AliAODForwardMult | |
28 | * | |
29 | * @par Histograms | |
30 | * | |
31 | * @par Corrections used | |
32 | * | |
7c1a1f1d | 33 | * @ingroup pwg2_forward_tasks |
563a673f | 34 | * |
35 | */ | |
0bd4b00f | 36 | class AliForwardMCCorrectionsTask : public AliAnalysisTaskSE |
563a673f | 37 | { |
38 | public: | |
39 | /** | |
40 | * Constructor | |
41 | * | |
42 | * @param name Name of task | |
43 | */ | |
0bd4b00f | 44 | AliForwardMCCorrectionsTask(const char* name); |
563a673f | 45 | /** |
46 | * Constructor | |
47 | */ | |
0bd4b00f | 48 | AliForwardMCCorrectionsTask(); |
563a673f | 49 | /** |
50 | * Copy constructor | |
51 | * | |
52 | * @param o Object to copy from | |
53 | */ | |
0bd4b00f | 54 | AliForwardMCCorrectionsTask(const AliForwardMCCorrectionsTask& o); |
563a673f | 55 | /** |
56 | * Assignment operator | |
57 | * | |
58 | * @param o Object to assign from | |
59 | * | |
60 | * @return Reference to this object | |
61 | */ | |
0bd4b00f | 62 | AliForwardMCCorrectionsTask& operator=(const AliForwardMCCorrectionsTask& o); |
563a673f | 63 | /** |
64 | * @{ | |
65 | * @name Interface methods | |
66 | */ | |
67 | /** | |
68 | * Initialize the task | |
69 | * | |
70 | */ | |
71 | virtual void Init(); | |
72 | /** | |
73 | * Create output objects | |
74 | * | |
75 | */ | |
76 | virtual void UserCreateOutputObjects(); | |
77 | /** | |
78 | * Process each event | |
79 | * | |
80 | * @param option Not used | |
81 | */ | |
82 | virtual void UserExec(Option_t* option); | |
83 | /** | |
84 | * End of job | |
85 | * | |
86 | * @param option Not used | |
87 | */ | |
88 | virtual void Terminate(Option_t* option); | |
89 | /** | |
90 | * @} | |
91 | */ | |
92 | void Print(Option_t* option="") const; | |
93 | ||
94 | void SetVertexAxis(Int_t nBins, Double_t vzMin, Double_t vzMax=-1000000); | |
95 | void SetVertexAxis(const TAxis& axis); | |
96 | void SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax=-1000000); | |
97 | void SetEtaAxis(const TAxis& axis); | |
98 | protected: | |
99 | TH2D* GetVertexProj(Int_t v, TH3D* src) const; | |
0bd4b00f | 100 | TH3D* Make3D(const char* name, const char* title, Int_t nPhi) const; |
101 | TH1D* Make1D(const char* name, const char* title) const; | |
102 | void FillPrimary(Bool_t gotInel, Bool_t gotVtx, | |
103 | Double_t vz, Double_t eta, Double_t phi); | |
104 | void FillStrip(UShort_t d, Char_t r, | |
105 | Double_t vz, Double_t eta, Double_t phi, | |
106 | Bool_t first); | |
563a673f | 107 | TH1I* fHEvents; // All Events |
108 | TH1I* fHEventsTr; // Histogram of events w/trigger | |
109 | TH1I* fHEventsTrVtx; // Events w/trigger and vertex | |
110 | TH1I* fHEventsVtx; // Events w/vertex | |
111 | TH1I* fHTriggers; // Triggers | |
112 | TH3D* fPrimaryInnerAll; // Distribution of primaries - all events | |
113 | TH3D* fPrimaryOuterAll; // Distribution of primaries - all events | |
114 | TH3D* fPrimaryInnerTrVtx; // Distribution of primaries - trg+vtx events | |
115 | TH3D* fPrimaryOuterTrVtx; // Distribution of primaries - trg+vtx events | |
116 | TH3D* fHitsFMD1i; // Distribution of FMD1i hits | |
117 | TH3D* fHitsFMD2i; // Distribution of FMD2i hits | |
118 | TH3D* fHitsFMD2o; // Distribution of FMD2o hits | |
119 | TH3D* fHitsFMD3i; // Distribution of FMD3i hits | |
120 | TH3D* fHitsFMD3o; // Distribution of FMD3o hits | |
121 | TH1D* fStripsFMD1i; // Distribution of FMD1i # strips hit | |
122 | TH1D* fStripsFMD2i; // Distribution of FMD2i # strips hit | |
123 | TH1D* fStripsFMD2o; // Distribution of FMD2o # strips hit | |
124 | TH1D* fStripsFMD3i; // Distribution of FMD3i # strips hit | |
125 | TH1D* fStripsFMD3o; // Distribution of FMD3o # strips hit | |
126 | TAxis fVtxAxis; // Vertex axis | |
127 | TAxis fEtaAxis; // Eta axis | |
128 | ||
129 | TList* fList; // Output list | |
130 | ||
0bd4b00f | 131 | ClassDef(AliForwardMCCorrectionsTask,1) // Forward corrections class |
563a673f | 132 | }; |
133 | ||
134 | #endif | |
135 | // Local Variables: | |
136 | // mode: C++ | |
137 | // End: | |
138 |