1 #ifndef ALIANALYSISTASKSPDDNDETA_H
2 #define ALIANALYSISTASKSPDDNDETA_H
4 ///////////////////////////////////////////////////////////////////////////
5 // Class AliAnalysisTaskSPDdNdEta //
6 // Analysis task for dN/dEta reconstruction with the SPD //
8 // Author: M. Nicassio (INFN Bari) //
9 // Contact: Maria.Nicassio@ba.infn.it, Domenico.Elia@ba.infn.it //
10 ///////////////////////////////////////////////////////////////////////////
17 #include "AliAnalysisTask.h"
19 class AliAnalysisTaskSPDdNdEta : public AliAnalysisTask {
21 AliAnalysisTaskSPDdNdEta(const char *name = "AliAnalysisTaskSPDdNdEta");
22 virtual ~AliAnalysisTaskSPDdNdEta();
24 virtual void ConnectInputData(Option_t *);
25 virtual void CreateOutputObjects();
26 virtual void Exec(Option_t *option);
27 virtual void Terminate(Option_t *);
29 void SetEvtGen(Bool_t pythia = kTRUE) { fpythia = pythia; }
30 void SetReadMC(Bool_t readmc = kFALSE) { fCorr = readmc; }
31 void SetTrigger(Int_t MBtrigger) { fTrigger = MBtrigger; }
34 AliESDEvent *fESD; //ESD object
35 TList* fOutput; //! list send on output slot 0
37 Bool_t fpythia; // to identify accordingly process types
38 Bool_t fCorr; // flag to enable the correction histo calculation
39 Int_t fTrigger; // to set the MBtrigger selection
41 TH2F *fHistSPDRAWMultvsZ; // data to be corrected
42 TH2F *fHistSPDRAWMultvsZTriggEvts; // data to be corrected
43 TH2F *fHistSPDRAWEtavsZ; // data to be corrected
45 TH1F *fHistSPDmultEtacut; // cluster inner layer and tracklet check histos
46 TH1F *fHistSPDmult; // cluster inner layer and tracklet check histos
47 TH1F *fHistSPDeta; // cluster inner layer and tracklet check histos
48 TH1F *fHistSPDcl1multEtacutLay1; // cluster inner layer and tracklet check histos
49 TH1F *fHistSPDcl1mult; // cluster inner layer and tracklet check histos
50 TH1F *fHistSPDcl1eta; // cluster inner layer and tracklet check histos
51 TH1F *fHistSPDphi; // cluster inner layer and tracklet check histos
52 TH1F *fHistSPDcl1phi; // cluster inner layer and tracklet check histos
53 TH1F *fHistSPDtheta; // cluster inner layer and tracklet check histos
54 TH1F *fHistSPDcl1theta; // cluster inner layer and tracklet check histos
55 TH1F *fHistSPDdePhi; // cluster inner layer and tracklet check histos
56 TH1F *fHistSPDdePhiZ; // cluster inner layer and tracklet check histos
57 TH1F *fHistSPDdePhi3D; // cluster inner layer and tracklet check histos
58 TH2F *fHistSPDphivsSPDeta; // cluster inner layer and tracklet check histos
59 TH2F *fHistSPDcl1phivsSPDcl1eta; // cluster inner layer and tracklet check histos
60 TH1F *fHistSPDdeTheta; // cluster inner layer and tracklet check histos
62 TH1F *fHistSPDvtxAnalysis; // SPD vertex distributions
63 TH3F *fHistSPDvtx3D; // SPD vertex distributions
64 TH1F *fHistSPDvtxZ; // SPD vertex distributions
65 TH2F *fHistNcontribSPDvtxvsSPDvtx; // SPD vertex distributions
66 TH1F *fHistNcontribSPDvtx3D; // SPD vertex distributions
67 TH1F *fHistNcontribSPDvtxZ; // SPD vertex distributions
68 TH1F *fHistNcontribSPDvtxall; // SPD vertex distributions
70 TH2F *fHistSPDcl1multvsnFiredChipsLay1; // SPD fired chips distributions
71 TH2F *fHistSPDmultvsnFiredChipsLay1; // SPD fired chips distributions
72 TH2F *fHistSPDmultvsnFiredChipsLay2; // SPD fired chips distributions
73 TH2F *fHistnFiredChipsLay2vsnFiredChipsLay1; // SPD fired chips distributions
74 TH2F *fHistnFiredChipsLay2vsnFiredChipsLay1novtxrec; // SPD fired chips distributions
75 TH1F *fHistSPDvtxRec; // SPD vertex distribution
77 TH2F* fHistBkgCorrNum; // track level correction histograms
78 TH2F* fHistBkgCorrDen; // track level correction histograms
79 TH2F* fHistAlgEffNum; // track level correction histograms
80 TH2F* fHistNonDetectableCorrNum; // track level correction histograms
81 TH2F* fHistNonDetectableCorrDen; // track level correction histograms
82 TH2F* fHistTrackTrigVtxCorrNum; // track level correction histograms
83 TH2F* fHistTrackTrigCorrDen; // track level correction histograms
84 TH2F* fHistTrackTrigVtxCorrNumNSD; // track level correction histograms
85 TH2F* fHistTrackTrigNSD; // track level correction histograms
87 TH2F* fHistTrigVtxCorrNum; // event level correction histograms
88 TH2F* fHistTrigVtxCorrDen; // event level correction histograms
90 TH2F* fHistTrigCorrDen; // event level correction histograms
91 TH2F* fHistTrigVtxCorrNumNSD; // event level correction histograms
92 TH2F* fHistEvTrigNSD; // event level correction histograms
94 TH2F* fHistMCEtavsZTriggMCvtxEvts; // MC distributions
95 TH2F* fHistMCEtavsZTriggESDvtxEvts; // MC distributions
96 TH2F* fHistMCEtavsZ; // MC distributions
98 TH1F* fHistMCEtaInel; // MC distributions
99 TH1F* fHistMCEtaNonDiffractive; // MC distributions
100 TH1F* fHistMCEtaNonSingleDiffractive; // MC distributions
101 TH1F* fHistoProcessType; // additional check histo
102 TH1F* fHistoProcessTypeTriggered; // additional check histo
104 TH2F* fHistContributorsvsMCVtx; // additional check histos
105 TH3F* fHistoDetectableNotr; // additional check histos
106 TH2F* fHistoDetectabletr; // additional check histos
107 TH2F* fHistoNonStoppingTracks; // additional check histos
108 TH2F* fHistoDetectedLay1; // additional check histos
109 TH2F* fHistoDetectedLay2; // additional check histos
110 TH1F* fHistoPt; // additional check histos
111 TH1F* fHistoRTRm1; // additional check histos
112 TH3F* fHistMCvtx; // additional check histos
114 TH1F* fHistMultAllNonDiff; // trigger-vertex efficiencies for non diffractive events
115 TH1F* fHistMultAllSingleDiff; // trigger-vertex efficiencies for single diffractive events
116 TH1F* fHistMultAllDoubleDiff; // trigger-vertex efficiencies for double diffractive events
117 TH1F* fHistMultTrVtxNonDiff; // trigger-vertex efficiencies for non diffractive events
118 TH1F* fHistMultTrVtxSingleDiff; // trigger-vertex efficiencies for single diffractive events
119 TH1F* fHistMultTrVtxDoubleDiff; // trigger-vertex efficiencies for double diffractive events
121 TH1F* fHistMCEtaNonSingleDiffractiveLargeBin; // MC pseudorapidity distribution
124 AliAnalysisTaskSPDdNdEta(const AliAnalysisTaskSPDdNdEta&);
125 AliAnalysisTaskSPDdNdEta& operator=(const AliAnalysisTaskSPDdNdEta&);
127 ClassDef(AliAnalysisTaskSPDdNdEta, 2);