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