]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/genLevelSimulation/AliAnalysisTaskdNdetaMC.h
- Removed small bug (otherwise chargeVector was not filled for normal data)
[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,
ef7f4ed2 17 kLambda, kLambdaBar, kLambdaInclusive, kLambdaBarInclusive,
4283b1a9 18 kNPart}; //Particles used for identified particles pt spectra
34d2adbe 19#include "AliAnalysisTaskSE.h"
20
21class AliAnalysisTaskdNdetaMC : public AliAnalysisTaskSE {
22 public:
23 AliAnalysisTaskdNdetaMC();
24 AliAnalysisTaskdNdetaMC(const char *name );
25 AliAnalysisTaskdNdetaMC(const char *name, const char *file );
26 virtual ~AliAnalysisTaskdNdetaMC();
27
28 virtual void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *);
31 TH1F* BookHetaHist(const char * name, const char * title);
32 TH1F* BookHptHist(const char * name, const char * title);
33 TH1F* BookMultHisto(const char * name, const char * title) ;
34 void SetEtaMax(Float_t eta) {fEtaMax = eta;}
35
36 void SkipNormalization(Bool_t flag = kTRUE) { fSkipNormalization = flag; }
37 void Finalize();
38 TList * GetList() const { return fMyOut;}
39 private:
40 TH1F *fHistEta[kNHist]; //Eta spectrum
32d9fb69 41 TH1F *fHistPt[kNHist+1]; // Pt spectrum , |eta| < 0.8
42 TH1F *fHistPtID[kNHist][kNPart+1]; //Pt identified particles, |y| < 0.5
4283b1a9 43
34d2adbe 44 TGraphErrors *fNchDens; // <dN/deta>
45 TList * fMyOut; // list of output histos
46 TH1I * fHistIev; // number of events per class
47 TH1I * fHistNParticlesAtMidRapidity; // number of particles at midrapidity per class
48 static Float_t fEtaMax; // max eta
49 Bool_t fSkipNormalization; // Use this when you are running the job on the grid, so that you can normalize dNdeta after merging
50
4283b1a9 51 Float_t fEtaBins[kNEtaHist]; // array of eta_max values
52 TH1F * fHistMult[kNHist][kNEtaHist]; // array of multiplicity histos in the different eta ranges values, for the different event classes
34d2adbe 53
54 AliAnalysisTaskdNdetaMC(const AliAnalysisTaskdNdetaMC&); // not implemented
55 AliAnalysisTaskdNdetaMC& operator=(const AliAnalysisTaskdNdetaMC&); // not implemented
56
32d9fb69 57 static Int_t fPDGCodes[kNPart+1]; // array of PDG codes of particles for ID Spectra plots
58 static const char * fPartNames[kNPart+1]; // array of particles names for ID Spectra plots
59
60 TH1F * fHistSpecies; // Histogram of particle species contributing to primaries
4283b1a9 61
34d2adbe 62 ClassDef(AliAnalysisTaskdNdetaMC, 2);
63};
64
65#endif