]>
Commit | Line | Data |
---|---|---|
18b9b487 | 1 | #ifndef AliAnalysisTaskDedx_cxx |
2 | #define AliAnalysisTaskDedx_cxx | |
3 | ||
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //----------------------------------------------------------------- | |
7 | // AliAnalysisTaskDedx class | |
8 | // This task is for QAing the dE/dx from the ESD | |
9 | // Origin: B.H. Nov2007, hippolyt@in2p3.fr | |
10 | //----------------------------------------------------------------- | |
11 | ||
12 | class TList; | |
13 | class TH1F; | |
14 | class TH2F; | |
15 | ||
16 | #include "AliAnalysisTaskSE.h" | |
17 | ||
18 | class AliAnalysisTaskDedx : public AliAnalysisTaskSE { | |
19 | public: | |
20 | AliAnalysisTaskDedx(); | |
21 | AliAnalysisTaskDedx(const char *rName, | |
22 | const Bool_t rAllConstrainedFlag, | |
23 | const Bool_t rMidPseudoRapidityFlag, | |
24 | const Bool_t rSelTrackRemoveKink, | |
25 | const Bool_t rSelTrackWithOnTheFlyV0, | |
26 | const Int_t rSelTrackMinClustersTPC, | |
27 | const Int_t rSelTrackMinClustersITS, | |
28 | const Float_t rSelTrackMaxChi2PerClusterTPC, | |
29 | const Float_t rSelTrackMaxChi2PerClusterITS, | |
30 | const Double_t rSelTrackMaxCov11, | |
31 | const Double_t rSelTrackMaxCov22, | |
32 | const Double_t rSelTrackMaxCov33, | |
33 | const Double_t rSelTrackMaxCov44, | |
34 | const Double_t rSelTrackMaxCov55, | |
35 | const Double_t rSelV0MaxDcaDaughters, | |
36 | const Double_t rSelV0MinDecayLength); | |
37 | ||
38 | virtual ~AliAnalysisTaskDedx() {} | |
39 | ||
40 | virtual void UserCreateOutputObjects(); | |
41 | virtual void UserExec(Option_t *option); | |
42 | virtual void Terminate(Option_t *); | |
43 | ||
44 | void SetCollidingSystems(Int_t collidingSystems = 0) {fCollidingSystems = collidingSystems;} | |
45 | void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;} | |
46 | ||
47 | void SetAllConstrainedFlag(Bool_t allConstrainedFlag = 0) {fAllConstrainedFlag = allConstrainedFlag;} | |
48 | void SetMidPseudoRapidityFlag(Bool_t midPseudoRapidityFlag = 0) {fMidPseudoRapidityFlag = midPseudoRapidityFlag;} | |
49 | ||
50 | void SetSelTrackRemoveKink(Bool_t selTrackRemoveKink = 0) {fSelTrackRemoveKink = selTrackRemoveKink;} | |
51 | void SetSelTrackWithOnTheFlyV0(Bool_t selTrackWithOnTheFlyV0 = 0) {fSelTrackWithOnTheFlyV0 = selTrackWithOnTheFlyV0;} | |
52 | void SetSelTrackMinClustersTPC(Int_t selTrackMinClustersTPC = 0) {fSelTrackMinClustersTPC = selTrackMinClustersTPC;} | |
53 | void SetSelTrackMinClustersITS(Int_t selTrackMinClustersITS = 0) {fSelTrackMinClustersITS = selTrackMinClustersITS;} | |
54 | void SetSelTrackMaxChi2PerClusterTPC(Float_t selTrackMaxChi2PerClusterTPC = 0) {fSelTrackMaxChi2PerClusterTPC = selTrackMaxChi2PerClusterTPC;} | |
55 | void SetSelTrackMaxChi2PerClusterITS(Float_t selTrackMaxChi2PerClusterITS = 0) {fSelTrackMaxChi2PerClusterITS = selTrackMaxChi2PerClusterITS;} | |
56 | void SetSelTrackMaxCov11(Double_t selTrackMaxCov11 = 0) {fSelTrackMaxCov11 = selTrackMaxCov11;} | |
57 | void SetSelTrackMaxCov22(Double_t selTrackMaxCov22 = 0) {fSelTrackMaxCov22 = selTrackMaxCov22;} | |
58 | void SetSelTrackMaxCov33(Double_t selTrackMaxCov33 = 0) {fSelTrackMaxCov33 = selTrackMaxCov33;} | |
59 | void SetSelTrackMaxCov44(Double_t selTrackMaxCov44 = 0) {fSelTrackMaxCov44 = selTrackMaxCov44;} | |
60 | void SetSelTrackMaxCov55(Double_t selTrackMaxCov55 = 0) {fSelTrackMaxCov55 = selTrackMaxCov55;} | |
61 | void SetSelV0MaxDcaDaughters(Double_t selV0MaxDcaDaughters = 0) {fSelV0MaxDcaDaughters = selV0MaxDcaDaughters;} | |
62 | void SetSelV0MinDecayLength(Double_t selV0MinDecayLength = 0) {fSelV0MinDecayLength = selV0MinDecayLength;} | |
63 | ||
64 | private: | |
65 | ||
66 | Bool_t IsAccepted(AliESDtrack *track); | |
67 | // Float_t GetSigmaToVertex(AliESDtrack* esdTrack); | |
68 | TString fAnalysisType; // ESD or AOD | |
69 | Int_t fCollidingSystems; // Colliding systems 0/1 for pp/PbPb | |
70 | TList *fListHist; //! List of histograms | |
71 | TH1F *fHistPtot; //! Ptot spectrum | |
72 | TH1F *fHistMultiplicity; //! Multiplicity distribution | |
73 | TH2F *fHistTPCDedxVsMomentum; //! TPC dE/dx vs momemtum | |
74 | TH2F *fHistITSDedxVsMomentum; //! ITS dE/dx vs momemtum | |
75 | TH1F *fHistMassK0; //! Invariant Mass of K0s | |
76 | TH1F *fHistMassLambda; //! Invariant Mass of Lambda | |
77 | TH1F *fHistMassAntiLambda; //! Invariant Mass of Anti-Lambda | |
78 | TH2F *fHistTPCDedxVsMomPosK0; //! TPC dE/dx vs momemtum for K0 positive daughter | |
79 | TH2F *fHistTPCDedxVsMomNegK0; //! TPC dE/dx vs momemtum for K0 negative daughter | |
80 | TH2F *fHistTPCDedxVsMomPosLambda; //! TPC dE/dx vs momemtum for Lambda positive daughter | |
81 | TH2F *fHistTPCDedxVsMomNegLambda; //! TPC dE/dx vs momemtum for Lambda negative daughter | |
82 | TH2F *fHistTPCDedxVsMomPosAntiLambda; //! TPC dE/dx vs momemtum for Anti-Lambda positive daughter | |
83 | TH2F *fHistTPCDedxVsMomNegAntiLambda; //! TPC dE/dx vs momemtum for Anti-Lambda negative daughter | |
84 | TH1F *fHistDiffInOutMomentum; //! Difference between inner and outer TPC momenta | |
85 | TH1F *fHistDiffPrimOutMomentum; //! Difference between primary and outer TPC momenta | |
86 | TH1F *fHistDiffPrimMeanMomentum; //! Difference between primary and (inner+outer)/2 TPC momenta | |
87 | TH1F *fHistPercPrimMeanMomentum; //! Percentage between primary and (inner+outer)/2 TPC momenta | |
88 | TH1F *fHistPrimEta; //! Pseudorapidity distribution | |
89 | TH2F *fHistPercPrimMeanMomentumVsEta; //! Same as fHistDiffPrimMeanMomentum but vs pseudorapidity | |
90 | TH2F *fHistPercPrimMeanMomentumVsPrim; //! Same as fHistDiffPrimMeanMomentum but vs primary momentum | |
91 | ||
92 | TH1F *fHistMultiplicityCuts; //! Same as above but once primary track cuts applied | |
93 | TH2F *fHistTPCDedxVsMomentumCuts; //! | |
94 | TH2F *fHistITSDedxVsMomentumCuts; //! | |
95 | TH1F *fHistMassK0Cuts; //! | |
96 | TH1F *fHistMassLambdaCuts; //! | |
97 | TH1F *fHistMassAntiLambdaCuts; //! | |
98 | TH2F *fHistTPCDedxVsMomPosK0Cuts; //! | |
99 | TH2F *fHistTPCDedxVsMomNegK0Cuts; //! | |
100 | TH2F *fHistTPCDedxVsMomPosLambdaCuts; //! | |
101 | TH2F *fHistTPCDedxVsMomNegLambdaCuts; //! | |
102 | TH2F *fHistTPCDedxVsMomPosAntiLambdaCuts; //! | |
103 | TH2F *fHistTPCDedxVsMomNegAntiLambdaCuts; //! | |
104 | TH1F *fHistDiffInOutMomentumCuts; //! | |
105 | TH1F *fHistDiffPrimOutMomentumCuts; //! | |
106 | TH1F *fHistDiffPrimMeanMomentumCuts; //! | |
107 | TH1F *fHistPercPrimMeanMomentumCuts; //! | |
108 | TH1F *fHistPrimEtaCuts; //! | |
109 | TH2F *fHistPercPrimMeanMomentumVsEtaCuts; //! | |
110 | TH2F *fHistPercPrimMeanMomentumVsPrimCuts; //! | |
111 | ||
112 | Bool_t fAllConstrainedFlag; // Primary vertex constrain requirement | |
113 | Bool_t fMidPseudoRapidityFlag; // Mid-eta requirement | |
114 | ||
115 | // Track selections: streaming allowed and needed ! | |
116 | Bool_t fSelTrackRemoveKink; // Remove kink candidates | |
117 | Bool_t fSelTrackWithOnTheFlyV0; // Select daughter tracks from on-the-fly V0s | |
118 | Int_t fSelTrackMinClustersTPC; // Minimum number of cluster in the TPC | |
119 | Int_t fSelTrackMinClustersITS; // Minimum number of cluster in the ITS | |
120 | Float_t fSelTrackMaxChi2PerClusterTPC; // Maximum chisq per cluster in the TPC | |
121 | Float_t fSelTrackMaxChi2PerClusterITS; // Maximum chisq per cluster in the ITS | |
122 | Double_t fSelTrackMaxCov11; // Maximum value for cov.mat. diag. element | |
123 | Double_t fSelTrackMaxCov22; // Maximum value for cov.mat. diag. element | |
124 | Double_t fSelTrackMaxCov33; // Maximum value for cov.mat. diag. element | |
125 | Double_t fSelTrackMaxCov44; // Maximum value for cov.mat. diag. element | |
126 | Double_t fSelTrackMaxCov55; // Maximum value for cov.mat. diag. element | |
127 | Double_t fSelV0MaxDcaDaughters; // Maximum value for DCA between V0 daughter tracks | |
128 | Double_t fSelV0MinDecayLength; // Minimum value for V0 decay length | |
129 | ||
130 | AliAnalysisTaskDedx(const AliAnalysisTaskDedx&); // not implemented | |
131 | AliAnalysisTaskDedx& operator=(const AliAnalysisTaskDedx&); // not implemented | |
132 | ||
133 | ClassDef(AliAnalysisTaskDedx, 1); | |
134 | }; | |
135 | ||
136 | #endif |