]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/EVCHAR/AliAnalysisTaskSPDdNdEta.h
Corrected storing of number of participants in header.
[u/mrichter/AliRoot.git] / PWG2 / EVCHAR / AliAnalysisTaskSPDdNdEta.h
CommitLineData
e1366e5e 1#ifndef ALIANALYSISTASKSPDDNDETA_H
2#define ALIANALYSISTASKSPDDNDETA_H
ea23c361 3
e1366e5e 4///////////////////////////////////////////////////////////////////////////
5// Class AliAnalysisTaskSPDdNdEta //
6// Analysis task for dN/dEta reconstruction with the SPD //
7// //
8// Author: M. Nicassio (INFN Bari) //
9// Contact: Maria.Nicassio@ba.infn.it, Domenico.Elia@ba.infn.it //
10///////////////////////////////////////////////////////////////////////////
f6f526b8 11
39f606ae 12class TH1F;
ea23c361 13class TH2F;
14class TH3F;
15class AliESDEvent;
39f606ae 16class TList;
ea23c361 17
39f606ae 18#include "AliAnalysisTaskSE.h"
ea23c361 19
39f606ae 20class AliAnalysisTaskSPDdNdEta : public AliAnalysisTaskSE {
ea23c361 21 public:
22 AliAnalysisTaskSPDdNdEta(const char *name = "AliAnalysisTaskSPDdNdEta");
23 virtual ~AliAnalysisTaskSPDdNdEta();
24
39f606ae 25 virtual void UserCreateOutputObjects();
26 virtual void UserExec(Option_t *option);
ea23c361 27 virtual void Terminate(Option_t *);
015a8dea 28
39f606ae 29 enum MCCentralityBin{kcentral=1,kbin3to6=2,kbin6to9=3,kbin9to12=4,kbin12to15=5,kperipheral=6,kall=7};
30
31 void SetReadMC(Bool_t readmc = kFALSE) { fUseMC = readmc; }
32 void SetTrigger(AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
39f606ae 33 void SetReadTrackRefs(Bool_t readtr = kFALSE) { fTR = readtr; }
34 void SetRecoTracklets(Bool_t recotracklets = kFALSE) { fRecoTracklets = recotracklets; }
35 void SetMCCentralityBin(MCCentralityBin mccentrbin) {fMCCentralityBin=mccentrbin;}
36 void SetCentralityLowLim(Float_t centrlowlim) {fCentrLowLim=centrlowlim;}
37 void SetCentralityUpLim(Float_t centruplim) {fCentrUpLim=centruplim;}
38 void SetCentralityEst(TString centrest) {fCentrEst=centrest;}
86841765 39 void SetMinClusterMultLay2(Int_t minClMultLay2=0) {fMinClMultLay2=minClMultLay2;}
40
41 void SetPhiWindow(Float_t w=0.08) {fPhiWindow=w;}
42 void SetThetaWindow(Float_t w=0.025) {fThetaWindow=w;}
43 void SetPhiShift(Float_t w=0.0045) {fPhiShift=w;}
44 void SetRemoveClustersFromOverlaps(Bool_t b = kFALSE) {fRemoveClustersFromOverlaps = b;}
45 void SetPhiOverlapCut(Float_t w=0.005) {fPhiOverlapCut=w;}
46 void SetZetaOverlapCut(Float_t w=0.05) {fZetaOverlapCut=w;}
47 void SetPhiRotationAngle(Float_t w=0.0) {fPhiRotationAngle=w;}
48 void SetPhiWindowAna(Float_t w=0.08) {fPhiWindowAna=w;}
ea23c361 49
39f606ae 50 Bool_t IsDetectablePrimary(Int_t nref, AliMCParticle* mcpart);
51 Bool_t IsDetectedPrimary(Int_t nref, AliMCParticle* mcpart, Int_t Layer);
52
ea23c361 53 protected:
39f606ae 54 AliESDEvent *fmyESD; // ! ESD object
55 TList *fOutput; // ! output list send on output slot 1
86841765 56
57 Bool_t fUseMC; // flag to enable the calculation of correction histograms
58 Bool_t fPbPb; // flag to analyze PbPb data
59 AliTriggerAnalysis::Trigger fTrigger;
60 Bool_t fTR; // to read track references and calculate factors of track to particle correction
61 Bool_t fRecoTracklets; // flag to recostruct tracklets
ea23c361 62
39f606ae 63 MCCentralityBin fMCCentralityBin; // to select MC centrality bin in which corrections are calculated
64 Float_t fCentrLowLim; // to select centrality bin on data
65 Float_t fCentrUpLim; // to select centrality bin on data
66 TString fCentrEst; // to select centrality estimator
86841765 67 Int_t fMinClMultLay2; // to select multiplicity class
39f606ae 68
86841765 69 Float_t fPhiWindow; // Search window in phi
70 Float_t fThetaWindow; // Search window in theta
71 Float_t fPhiShift; // Phi shift reference value (at 0.5 T)
72 Bool_t fRemoveClustersFromOverlaps; // Option to skip clusters in the overlaps
73 Float_t fPhiOverlapCut; // Fiducial window in phi for overlap cut
74 Float_t fZetaOverlapCut; // Fiducial window in eta for overlap cut
75 Float_t fPhiRotationAngle; // Angle to rotate the inner layer cluster for combinatorial reco only
76 Float_t fPhiWindowAna; // Final analysis tracklet definition window in phi
39f606ae 77
86841765 78 AliTrackletAlg *fMultReco; // tracklet reconstruction class
39f606ae 79
80 TH2F *fHistSPDRAWMultvsZ; // ! data to be corrected
81 TH2F *fHistSPDRAWMultvsZTriggCentrEvts; // ! data to be corrected
82 TH2F *fHistSPDRAWMultvsZCentrEvts; // ! data to be corrected
83
84 TH2F *fHistSPDRAWEtavsZ; // ! data to be corrected
85
86 TH1F *fHistSPDmultEtacut; // ! cluster inner layer and tracklet check histos
87 TH1F *fHistSPDmult; // ! cluster inner layer and tracklet check histos
86841765 88 TH1F *fHistSPDmultcl1; // ! cluster inner layer and tracklet check histos
89 TH1F *fHistSPDmultcl2; // ! cluster inner layer and tracklet check histos
90 TH2F *fHistSPDmultcl1vscl2; // ! cluster inner layer and tracklet check histos
91 TH2F *fHistSPDmultvscl1; // ! cluster inner layer and tracklet check histos
92 TH2F *fHistSPDmultvscl2; // ! cluster inner layer and tracklet check histos
93
39f606ae 94 TH1F *fHistSPDeta; // ! cluster inner layer and tracklet check histos
95 TH1F *fHistSPDphi; // ! cluster inner layer and tracklet check histos
96 TH1F *fHistSPDtheta; // ! cluster inner layer and tracklet check histos
97 TH1F *fHistSPDdePhi; // ! cluster inner layer and tracklet check histos
98 TH2F *fHistSPDphivsSPDeta; // ! cluster inner layer and tracklet check histos
99 TH1F *fHistSPDdeTheta; // ! cluster inner layer and tracklet check histos
86841765 100
101 TH1F *fHistSPDvtx; // ! SPD vertex distributions
39f606ae 102 TH1F *fHistSPDvtxAnalysis; // ! SPD vertex distributions
103 TH2F *fHistSPDdePhideTheta; // ! histogram for combinatorial background studies
104
86841765 105 TH1F *fHistSPDphicl1; // ! cluster inner layer and tracklet check histos
106 TH1F *fHistSPDphicl2; // ! cluster inner layer and tracklet check histos
107
39f606ae 108 TH2F* fHistBkgCorrDen; // ! track level correction histograms
109 TH2F* fHistBkgCorrDenPrimGen; // ! track level correction histograms
110 TH2F* fHistBkgCorrNum; // ! track level correction histograms
111 TH2F* fHistAlgEffNum; // ! track level correction histograms
112 TH2F* fHistNonDetectableCorrDen; // ! track level correction histograms
113
114 TH2F* fHistNonDetectableCorrNum; // ! track level correction histograms
115 TH2F* fHistAllPrimaries; // ! track level correction histograms
116 TH2F* fHistTrackCentrEvts; // ! track level correction histograms
117 TH2F* fHistTrackTrigCentrEvts; // ! track level correction histograms
015a8dea 118
39f606ae 119 TH2F* fHistAllEvts; // ! event level correction histograms
120 TH2F* fHistCentrEvts; // ! event level correction histograms
121 TH2F* fHistTrigCentrEvts; // ! event level correction histograms
122 TH2F* fHistSelEvts; // ! event level correction histograms
123
124 TH1F* fHistMCmultEtacut; // ! MC distributions
125 TH2F* fHistMCmultEtacutvsSPDmultEtacut; // ! MC distributions
86841765 126 TH2F* fHistMCmultEtacutvsSPDmultcl1; // ! MC distributions
127 TH2F* fHistMCmultEtacutvsSPDmultcl2; // ! MC distributions
39f606ae 128
129 TH1F* fHistMCvtxx; // ! MC vertex
130 TH1F* fHistMCvtxy; // ! MC vertex
131 TH1F* fHistMCvtxz; // ! MC vertex
132
133 TH2F* fHistRecvsGenImpactPar; // ! impact parameter correlation (ZDC est vs gen)
134 TH1F* fHistMCNpart; // ! distribution of number of participants from MC
135
136 TH1F* fHistdPhiPP; // ! tracklet check histo
137 TH1F* fHistdPhiSS; // ! tracklet check histo
138 TH1F* fHistdPhiComb; // ! tracklet check histo
139
140 TH2F* fHistDeVtx; // ! check histo
f6f526b8 141
ea23c361 142 private:
39f606ae 143 AliAnalysisTaskSPDdNdEta(const AliAnalysisTaskSPDdNdEta&); // not implemented
144 AliAnalysisTaskSPDdNdEta& operator=(const AliAnalysisTaskSPDdNdEta&); // not implemented
ea23c361 145
39f606ae 146 ClassDef(AliAnalysisTaskSPDdNdEta, 3);
ea23c361 147};
148
149#endif