]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/AlidNdEtaTask.h
syst. check that reads the MC information for the case of TPC-only
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaTask.h
CommitLineData
0f67a57c 1/* $Id$ */
2
3#ifndef AlidNdEtaTask_H
4#define AlidNdEtaTask_H
5
6#include "AliAnalysisTask.h"
770a1f1d 7#include "AliPWG0Helper.h"
0f67a57c 8#include <TString.h>
9
10class AliESDtrackCuts;
11class dNdEtaAnalysis;
12class TH1F;
ea441adf 13class TH2F;
0f67a57c 14class TH3F;
15class AliESDEvent;
16
17class AlidNdEtaTask : public AliAnalysisTask {
18 public:
0f67a57c 19 AlidNdEtaTask(const char* opt = "");
20 virtual ~AlidNdEtaTask();
21
22 virtual void ConnectInputData(Option_t *);
23 virtual void CreateOutputObjects();
24 virtual void Exec(Option_t*);
25 virtual void Terminate(Option_t*);
567160d6 26 virtual Bool_t Notify();
0f67a57c 27
28 void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
770a1f1d 29 void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
0f67a57c 30 void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; }
54b096ef 31 void SetUseMCVertex(Bool_t flag = kTRUE) { fUseMCVertex = flag; }
c17301f3 32 void SetOnlyPrimaries(Bool_t flag = kTRUE) { fOnlyPrimaries = flag; }
3d7758c1 33 void SetUseMCKine(Bool_t flag = kTRUE) { fUseMCKine = flag; }
0fc41645 34 void SetTrigger(AliPWG0Helper::Trigger trigger) { fTrigger = trigger; }
35
36 void SetOption(const char* opt) { fOption = opt; }
0f67a57c 37
38 protected:
39 AliESDEvent *fESD; //! ESD object
40 TList* fOutput; //! list send on output slot 0
41
42 TString fOption; // option string
770a1f1d 43 AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
0fc41645 44 AliPWG0Helper::Trigger fTrigger; // trigger that is used
0f67a57c 45
46 Bool_t fReadMC; // if true reads MC data (to build correlation maps)
54b096ef 47 Bool_t fUseMCVertex; // the MC vtx is used instead of the ESD vertex (for syst. check)
c17301f3 48 Bool_t fOnlyPrimaries;// Process only primaries by using the MC information (for syst. check)
49 Bool_t fUseMCKine; // use the MC values for each found track/tracklet (for syst. check)
0f67a57c 50
51 AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts
52
53 // Gathered from ESD
54 dNdEtaAnalysis* fdNdEtaAnalysisESD; //! contains the dndeta from the ESD
55 // control hists
56 TH1F* fMult; //! raw multiplicity histogram (control histogram)
57 TH1F* fMultVtx; //! raw multiplicity histogram of evts with vtx (control histogram)
58 TH1F* fPartEta[3]; //! counted particles as function of eta (full vertex range, below 0 range, above 0 range)
59 TH1F* fEvents; //! events counted as function of vtx
54b096ef 60 TH1F* fVertexResolution; //! z resolution of the vertex
0f67a57c 61
62 // Gathered from MC (when fReadMC is set)
63 dNdEtaAnalysis* fdNdEtaAnalysis; //! contains the dndeta from the full sample
0fc41645 64 dNdEtaAnalysis* fdNdEtaAnalysisNSD; //! contains the dndeta for the NSD sample
0f67a57c 65 dNdEtaAnalysis* fdNdEtaAnalysisTr; //! contains the dndeta from the triggered events
66 dNdEtaAnalysis* fdNdEtaAnalysisTrVtx; //! contains the dndeta from the triggered events with vertex
67 dNdEtaAnalysis* fdNdEtaAnalysisTracks; //! contains the dndeta from the triggered events with vertex counted from the mc particles associated to the tracks (comparing this to the raw values from the esd shows the effect of the detector resolution)
ea441adf 68
69 // control histograms (MC)
0f67a57c 70 TH3F* fVertex; //! vertex of counted particles
71 TH1F* fPartPt; //! counted particles as function of pt
ea441adf 72
73 // control histograms (ESD)
74 TH1F* fPhi; //! raw phi distribution
75 TH2F* fEtaPhi; //! raw eta - phi distribution
54b096ef 76 TH1F* fDeltaPhi; //! histogram of delta_phi values for tracklets (only for SPD analysis)
0f67a57c 77
78 private:
79 AlidNdEtaTask(const AlidNdEtaTask&);
80 AlidNdEtaTask& operator=(const AlidNdEtaTask&);
81
82 ClassDef(AlidNdEtaTask, 1);
83};
84
85#endif