]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/AlidNdEtaTask.h
adding instances for the BarrelMultiplicityTrigger to the default 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"
70fdd197 8#include "AliTriggerAnalysis.h"
0f67a57c 9#include <TString.h>
10
11class AliESDtrackCuts;
12class dNdEtaAnalysis;
13class TH1F;
ea441adf 14class TH2F;
0f67a57c 15class TH3F;
16class AliESDEvent;
69b09e3b 17class TGraph;
0f67a57c 18
19class AlidNdEtaTask : public AliAnalysisTask {
20 public:
0f67a57c 21 AlidNdEtaTask(const char* opt = "");
22 virtual ~AlidNdEtaTask();
23
24 virtual void ConnectInputData(Option_t *);
25 virtual void CreateOutputObjects();
26 virtual void Exec(Option_t*);
27 virtual void Terminate(Option_t*);
567160d6 28 virtual Bool_t Notify();
0f67a57c 29
30 void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
770a1f1d 31 void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
0f67a57c 32 void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; }
54b096ef 33 void SetUseMCVertex(Bool_t flag = kTRUE) { fUseMCVertex = flag; }
c17301f3 34 void SetOnlyPrimaries(Bool_t flag = kTRUE) { fOnlyPrimaries = flag; }
3d7758c1 35 void SetUseMCKine(Bool_t flag = kTRUE) { fUseMCKine = flag; }
70fdd197 36 void SetTrigger(AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
69b09e3b 37 void SetFillPhi(Bool_t flag = kTRUE) { fFillPhi = flag; }
38 void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut; }
a7f69e56 39
0fc41645 40 void SetOption(const char* opt) { fOption = opt; }
0f67a57c 41
42 protected:
43 AliESDEvent *fESD; //! ESD object
44 TList* fOutput; //! list send on output slot 0
45
46 TString fOption; // option string
770a1f1d 47 AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
70fdd197 48 AliTriggerAnalysis::Trigger fTrigger; // trigger that is used
69b09e3b 49 Bool_t fFillPhi; // if true phi is filled as 3rd coordinate in all maps
50 Float_t fDeltaPhiCut; // cut in delta phi (only SPD)
0f67a57c 51
52 Bool_t fReadMC; // if true reads MC data (to build correlation maps)
54b096ef 53 Bool_t fUseMCVertex; // the MC vtx is used instead of the ESD vertex (for syst. check)
c17301f3 54 Bool_t fOnlyPrimaries;// Process only primaries by using the MC information (for syst. check)
55 Bool_t fUseMCKine; // use the MC values for each found track/tracklet (for syst. check)
0f67a57c 56
57 AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts
58
59 // Gathered from ESD
60 dNdEtaAnalysis* fdNdEtaAnalysisESD; //! contains the dndeta from the ESD
61 // control hists
62 TH1F* fMult; //! raw multiplicity histogram (control histogram)
63 TH1F* fMultVtx; //! raw multiplicity histogram of evts with vtx (control histogram)
64 TH1F* fPartEta[3]; //! counted particles as function of eta (full vertex range, below 0 range, above 0 range)
65 TH1F* fEvents; //! events counted as function of vtx
54b096ef 66 TH1F* fVertexResolution; //! z resolution of the vertex
0f67a57c 67
68 // Gathered from MC (when fReadMC is set)
69 dNdEtaAnalysis* fdNdEtaAnalysis; //! contains the dndeta from the full sample
69b09e3b 70 dNdEtaAnalysis* fdNdEtaAnalysisND; //! contains the dndeta for the ND sample
71 dNdEtaAnalysis* fdNdEtaAnalysisNSD; //! contains the dndeta for the NSD sample
0f67a57c 72 dNdEtaAnalysis* fdNdEtaAnalysisTr; //! contains the dndeta from the triggered events
73 dNdEtaAnalysis* fdNdEtaAnalysisTrVtx; //! contains the dndeta from the triggered events with vertex
74 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 75
76 // control histograms (MC)
0f67a57c 77 TH1F* fPartPt; //! counted particles as function of pt
ea441adf 78
79 // control histograms (ESD)
51f6de65 80 TH3F* fVertex; //! 3d vertex distribution
ea441adf 81 TH1F* fPhi; //! raw phi distribution
69b09e3b 82 TH1F* fRawPt; //! raw pt distribution
ea441adf 83 TH2F* fEtaPhi; //! raw eta - phi distribution
69b09e3b 84 TH2F* fZPhi[2]; //! raw z - phi distribution from tracklets per layer (only SPD)
54b096ef 85 TH1F* fDeltaPhi; //! histogram of delta_phi values for tracklets (only for SPD analysis)
a7f69e56 86 TH1F* fDeltaTheta; //! histogram of delta_theta values for tracklets (only for SPD analysis)
69b09e3b 87 TH2F* fFiredChips; //! fired chips l1+l2 vs. number of tracklets (only for SPD analysis)
88 TGraph* fTriggerVsTime; //! trigger as function of event time
89 TH1F* fStats; //! further statistics : bin 1 = vertexer 3d, bin 2 = vertexer z
0f67a57c 90
91 private:
92 AlidNdEtaTask(const AlidNdEtaTask&);
93 AlidNdEtaTask& operator=(const AlidNdEtaTask&);
94
95 ClassDef(AlidNdEtaTask, 1);
96};
97
98#endif