]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/genLevelSimulation/AliAnalysisTaskdNdetaMC.h
put in default object which covers the full run range
[u/mrichter/AliRoot.git] / PWG0 / genLevelSimulation / AliAnalysisTaskdNdetaMC.h
CommitLineData
34d2adbe 1#ifndef AliAnalysisTaskdNdetaMC_H
2#define AliAnalysisTaskdNdetaMC_H
3
4//
5// Task used to analize simulations at generation level (i.e. only
6// needs galice.root and Kinematics.root).
7//
8
9class TH1F;
10class TH1I;
11class TGraphErrors;
12
13enum {kHistINEL,kHistNSD,kHistND,kHistSiD,kHistHL,kNHist};
4283b1a9 14enum {kEta05,kEta10,kEta14,kNEtaHist};//
32d9fb69 15enum {kPionPos, kProtonPos, kKaonPos, kElectronPos, kMuonPos,
16 kPionNeg, kProtonNeg, kKaonNeg, kElectronNeg, kMuonNeg,
4283b1a9 17 kNPart}; //Particles used for identified particles pt spectra
34d2adbe 18#include "AliAnalysisTaskSE.h"
19
20class AliAnalysisTaskdNdetaMC : public AliAnalysisTaskSE {
21 public:
22 AliAnalysisTaskdNdetaMC();
23 AliAnalysisTaskdNdetaMC(const char *name );
24 AliAnalysisTaskdNdetaMC(const char *name, const char *file );
25 virtual ~AliAnalysisTaskdNdetaMC();
26
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
29 virtual void Terminate(Option_t *);
30 TH1F* BookHetaHist(const char * name, const char * title);
31 TH1F* BookHptHist(const char * name, const char * title);
32 TH1F* BookMultHisto(const char * name, const char * title) ;
33 void SetEtaMax(Float_t eta) {fEtaMax = eta;}
34
35 void SkipNormalization(Bool_t flag = kTRUE) { fSkipNormalization = flag; }
36 void Finalize();
37 TList * GetList() const { return fMyOut;}
38 private:
39 TH1F *fHistEta[kNHist]; //Eta spectrum
32d9fb69 40 TH1F *fHistPt[kNHist+1]; // Pt spectrum , |eta| < 0.8
41 TH1F *fHistPtID[kNHist][kNPart+1]; //Pt identified particles, |y| < 0.5
4283b1a9 42
34d2adbe 43 TGraphErrors *fNchDens; // <dN/deta>
44 TList * fMyOut; // list of output histos
45 TH1I * fHistIev; // number of events per class
46 TH1I * fHistNParticlesAtMidRapidity; // number of particles at midrapidity per class
47 static Float_t fEtaMax; // max eta
48 Bool_t fSkipNormalization; // Use this when you are running the job on the grid, so that you can normalize dNdeta after merging
49
4283b1a9 50 Float_t fEtaBins[kNEtaHist]; // array of eta_max values
51 TH1F * fHistMult[kNHist][kNEtaHist]; // array of multiplicity histos in the different eta ranges values, for the different event classes
34d2adbe 52
53 AliAnalysisTaskdNdetaMC(const AliAnalysisTaskdNdetaMC&); // not implemented
54 AliAnalysisTaskdNdetaMC& operator=(const AliAnalysisTaskdNdetaMC&); // not implemented
55
32d9fb69 56 static Int_t fPDGCodes[kNPart+1]; // array of PDG codes of particles for ID Spectra plots
57 static const char * fPartNames[kNPart+1]; // array of particles names for ID Spectra plots
58
59 TH1F * fHistSpecies; // Histogram of particle species contributing to primaries
4283b1a9 60
34d2adbe 61 ClassDef(AliAnalysisTaskdNdetaMC, 2);
62};
63
64#endif