1 #ifndef AliAnalysisTaskdNdetaMC_H
2 #define AliAnalysisTaskdNdetaMC_H
5 // Task used to analize simulations at generation level (i.e. only
6 // needs galice.root and Kinematics.root).
13 enum {kHistINEL,kHistNSD,kHistND,kHistSiD,kHistHL,kNHist};
14 enum {kEta05,kEta10,kEta14,kNEtaHist};//
15 enum {kPionPos, kProtonPos, kKaonPos, kElectronPos, kMuonPos,
16 kPionNeg, kProtonNeg, kKaonNeg, kElectronNeg, kMuonNeg,
17 kLambda, kLambdaBar, kLambdaInclusive, kLambdaBarInclusive,
18 kNPart}; //Particles used for identified particles pt spectra
19 #include "AliAnalysisTaskSE.h"
21 class AliAnalysisTaskdNdetaMC : public AliAnalysisTaskSE {
23 AliAnalysisTaskdNdetaMC();
24 AliAnalysisTaskdNdetaMC(const char *name );
25 AliAnalysisTaskdNdetaMC(const char *name, const char *file );
26 virtual ~AliAnalysisTaskdNdetaMC();
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;}
36 void SkipNormalization(Bool_t flag = kTRUE) { fSkipNormalization = flag; }
38 TList * GetList() const { return fMyOut;}
40 TH1F *fHistEta[kNHist]; //Eta spectrum
41 TH1F *fHistPt[kNHist+1]; // Pt spectrum , |eta| < 0.8
42 TH1F *fHistPtID[kNHist][kNPart+1]; //Pt identified particles, |y| < 0.5
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
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
54 AliAnalysisTaskdNdetaMC(const AliAnalysisTaskdNdetaMC&); // not implemented
55 AliAnalysisTaskdNdetaMC& operator=(const AliAnalysisTaskdNdetaMC&); // not implemented
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
60 TH1F * fHistSpecies; // Histogram of particle species contributing to primaries
62 ClassDef(AliAnalysisTaskdNdetaMC, 2);