]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliForwardMCCorrections.h
Added debug flags
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliForwardMCCorrections.h
CommitLineData
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>
12class AliFMDAnaParameters;
13class AliESDEvent;
14class TH2D;
15class TList;
16class TTree;
17
18
19/**
20 * Calculate the corrections in the forward regions
21 *
22 * @par Inputs:
23 * - AliESDEvent
24 *
25 * @par Outputs:
26 * - AliAODForwardMult
27 *
28 * @par Histograms
29 *
30 * @par Corrections used
31 *
32 * @ingroup pwg2_forward_analysis
33 *
34 */
35class AliForwardMCCorrections : public AliAnalysisTaskSE
36{
37public:
38 /**
39 * Constructor
40 *
41 * @param name Name of task
42 */
43 AliForwardMCCorrections(const char* name);
44 /**
45 * Constructor
46 */
47 AliForwardMCCorrections();
48 /**
49 * Copy constructor
50 *
51 * @param o Object to copy from
52 */
53 AliForwardMCCorrections(const AliForwardMCCorrections& o);
54 /**
55 * Assignment operator
56 *
57 * @param o Object to assign from
58 *
59 * @return Reference to this object
60 */
61 AliForwardMCCorrections& operator=(const AliForwardMCCorrections& o);
62 /**
63 * @{
64 * @name Interface methods
65 */
66 /**
67 * Initialize the task
68 *
69 */
70 virtual void Init();
71 /**
72 * Create output objects
73 *
74 */
75 virtual void UserCreateOutputObjects();
76 /**
77 * Process each event
78 *
79 * @param option Not used
80 */
81 virtual void UserExec(Option_t* option);
82 /**
83 * End of job
84 *
85 * @param option Not used
86 */
87 virtual void Terminate(Option_t* option);
88 /**
89 * @}
90 */
91 void Print(Option_t* option="") const;
92
93 void SetVertexAxis(Int_t nBins, Double_t vzMin, Double_t vzMax=-1000000);
94 void SetVertexAxis(const TAxis& axis);
95 void SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax=-1000000);
96 void SetEtaAxis(const TAxis& axis);
97protected:
98 TH2D* GetVertexProj(Int_t v, TH3D* src) const;
99
100 TH1I* fHEvents; // All Events
101 TH1I* fHEventsTr; // Histogram of events w/trigger
102 TH1I* fHEventsTrVtx; // Events w/trigger and vertex
103 TH1I* fHEventsVtx; // Events w/vertex
104 TH1I* fHTriggers; // Triggers
105 TH3D* fPrimaryInnerAll; // Distribution of primaries - all events
106 TH3D* fPrimaryOuterAll; // Distribution of primaries - all events
107 TH3D* fPrimaryInnerTrVtx; // Distribution of primaries - trg+vtx events
108 TH3D* fPrimaryOuterTrVtx; // Distribution of primaries - trg+vtx events
109 TH3D* fHitsFMD1i; // Distribution of FMD1i hits
110 TH3D* fHitsFMD2i; // Distribution of FMD2i hits
111 TH3D* fHitsFMD2o; // Distribution of FMD2o hits
112 TH3D* fHitsFMD3i; // Distribution of FMD3i hits
113 TH3D* fHitsFMD3o; // Distribution of FMD3o hits
114 TH1D* fStripsFMD1i; // Distribution of FMD1i # strips hit
115 TH1D* fStripsFMD2i; // Distribution of FMD2i # strips hit
116 TH1D* fStripsFMD2o; // Distribution of FMD2o # strips hit
117 TH1D* fStripsFMD3i; // Distribution of FMD3i # strips hit
118 TH1D* fStripsFMD3o; // Distribution of FMD3o # strips hit
119 TAxis fVtxAxis; // Vertex axis
120 TAxis fEtaAxis; // Eta axis
121
122 TList* fList; // Output list
123
124 ClassDef(AliForwardMCCorrections,1) // Forward corrections class
125};
126
127#endif
128// Local Variables:
129// mode: C++
130// End:
131