]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/AlidNdEtaCorrectionTask.h
Classes in order to retrieve and manipulate the CTP scaler records (Ernesto)
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrectionTask.h
CommitLineData
0f67a57c 1/* $Id$ */
2
3#ifndef AlidNdEtaCorrectionTask_H
4#define AlidNdEtaCorrectionTask_H
5
6#include "AliAnalysisTask.h"
7#include <TString.h>
770a1f1d 8#include "AliPWG0Helper.h"
0f67a57c 9
10class AliESDtrackCuts;
11class dNdEtaAnalysis;
12class AlidNdEtaCorrection;
13class TH1F;
14class AliESDEvent;
15class TParticlePDG;
16
17class AlidNdEtaCorrectionTask : public AliAnalysisTask {
18 public:
0f67a57c 19 AlidNdEtaCorrectionTask(const char* opt = "");
20 virtual ~AlidNdEtaCorrectionTask();
21
22 virtual void ConnectInputData(Option_t *);
23 virtual void CreateOutputObjects();
24 virtual void Exec(Option_t*);
25 virtual void Terminate(Option_t *);
26
27 void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
770a1f1d 28 void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
0f67a57c 29
30 protected:
31 Bool_t SignOK(TParticlePDG* particle);
32
33 AliESDEvent *fESD; //! ESD object
34 TList* fOutput; //! list send on output slot 0
35
36 TString fOption; // option string
770a1f1d 37 AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
0f67a57c 38 Int_t fSignMode; // if 0 process all particles, if +-1 process only particles with that sign
39
40 AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts
41
42 AlidNdEtaCorrection* fdNdEtaCorrection; //! contains the intermediate histograms (on each slave)
43
44 dNdEtaAnalysis* fdNdEtaAnalysisMC; //! analysis from MC (only triggered, vertex events)
45 dNdEtaAnalysis* fdNdEtaAnalysisESD; //! analysis from ESD (not yet corrected!)
46
47 // control histograms
48 TH1F* fPIDParticles; //! pid of primary particles
49 TH1F* fPIDTracks; //! pid of reconstructed tracks
50
96fcc8a7 51 // histograms for systematic studies (must be enabled with option)
52
53 TH1F* fSigmaVertexTracks; //! (accepted tracks) vs (n of sigma to vertex cut)
54 TH1F* fSigmaVertexPrim; //! (accepted primaries) vs (n of sigma to vertex cut)
55 // enable with option: sigma-vertex
56
57 AlidNdEtaCorrection* fdNdEtaCorrectionProcessType[3]; //! correction for specific process type (ND, SD, DD)
58 // enable with option: process-types
59
0f67a57c 60 private:
61 AlidNdEtaCorrectionTask(const AlidNdEtaCorrectionTask&);
62 AlidNdEtaCorrectionTask& operator=(const AlidNdEtaCorrectionTask&);
63
64 ClassDef(AlidNdEtaCorrectionTask, 1);
65};
66
67#endif