]>
Commit | Line | Data |
---|---|---|
667b678a | 1 | |
2 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * See cxx source for full Copyright notice */ | |
4 | ||
5 | /* | |
6 | AliAnalysisTaskLambdaOverK0sJets class | |
7 | ||
8 | This program obtains the production of K0s and Lambdas and calculates | |
9 | the correlation (in the variables phi and eta) with respect to a | |
10 | high-pt charged particle. | |
11 | It works with MC info and AOD tree. | |
12 | WARNING: The Mixed Event part is under construction. | |
13 | Origin: X. Sanchez Castro August2012, xsanchez@cern.ch | |
14 | */ | |
15 | ||
16 | ||
17 | #ifndef ALIANALYSISTASKLAMBDAOVERK0SJETS_H | |
18 | #define ALIANALYSISTASKLAMBDAOVERK0SJETS_H | |
19 | ||
20 | #include "AliAnalysisTaskSE.h" | |
21 | ||
22 | class AliAODEvent; | |
23 | class AliPIDResponse; | |
24 | class AliAODTrack; | |
25 | ||
26 | class TH1F; | |
27 | class TH2F; | |
28 | class TH3F; | |
29 | class TList; | |
30 | class TString; | |
31 | ||
32 | const int kN1 = 4; | |
33 | const double kPtBinV0[kN1+1] = {2.,2.5,3.,4.,5.}; | |
34 | ||
35 | class AliAnalysisTaskLambdaOverK0sJets : public AliAnalysisTaskSE { | |
36 | ||
37 | public: | |
38 | ||
39 | enum V0LoopStep_t { kTriggerCheck=1, kCorrelation=2, kMixedEvent=3 }; | |
40 | ||
41 | AliAnalysisTaskLambdaOverK0sJets(const char *name = "AliAnalysisTaskLambdaOverK0sJets"); | |
42 | virtual ~AliAnalysisTaskLambdaOverK0sJets() {} | |
43 | ||
44 | // Setter for global variables in the event | |
45 | void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;} | |
46 | void SetPID(Bool_t usePID=kTRUE) {fUsePID=usePID;} | |
47 | void SetCentrality(Double_t min=0., Double_t max=90.) {fCentMin=min;fCentMax=max;} | |
48 | void SetTriggerPt(Double_t ptMinTrig=8., Double_t ptMaxTrig=50.) {fTrigPtMin=ptMinTrig;fTrigPtMax=ptMaxTrig;} | |
49 | void SetTriggerEta(Double_t etaMaxTrig=0.8){fTrigEtaMax=etaMaxTrig;} | |
50 | void SetSeparateInjectedPart(Bool_t doSep=kTRUE) {fSeparateInjPart=doSep;} | |
51 | ||
52 | // Setters for V0 candidate selection | |
53 | // TO BE FIXED!!! | |
54 | void SetV0Cuts(Double_t *cutsV0){ | |
55 | // 1. Daughter cuts | |
56 | fMinPtDaughter=cutsV0[0]; | |
57 | fMaxEtaDaughter=cutsV0[1]; | |
58 | fMaxDCADaughter=cutsV0[2]; | |
59 | // 2. V0 candidate | |
60 | fYMax=cutsV0[3]; | |
61 | fDCAToPrimVtx=cutsV0[4]; | |
62 | fMinCPA=cutsV0[5]; | |
63 | fNSigma=cutsV0[6]; | |
64 | fMinCtau=cutsV0[7]; | |
65 | fMaxCtau=cutsV0[8]; | |
66 | } | |
67 | ||
68 | // 1. Daughter cuts | |
69 | void SetMinPtDaughter(Double_t minPtDaughter=0.160) {fMinPtDaughter=minPtDaughter;} | |
70 | void SetMaxEtaDaughter(Double_t maxEta=0.8) {fMaxEtaDaughter=maxEta;} | |
71 | void SetMaxDCADaughter(Double_t maxDCA=1.0) {fMaxDCADaughter=maxDCA;} | |
72 | // 2. V0 candidate | |
73 | void SetMaxY(Double_t yMax=0.5) {fYMax=yMax;} | |
74 | void SetDCAToPrimVtx(Double_t dcaToPrimVtx=0.1) {fDCAToPrimVtx=dcaToPrimVtx;} | |
75 | void SetMinCPA(Double_t minCPA=0.998) {fMinCPA=minCPA;} | |
76 | void SetNSigmaPID(Double_t nSigma=3) {fNSigma=nSigma;} | |
77 | void SetCtau(Double_t minCtau = 0., Double_t maxCtau = 3.) {fMinCtau=minCtau;fMaxCtau=maxCtau;} | |
78 | ||
79 | // Getters | |
80 | Double_t GetMinCentr() { return fCentMin; } | |
81 | Double_t GetMaxCentr() { return fCentMax; } | |
82 | ||
83 | // Main functions | |
84 | virtual void UserCreateOutputObjects(); | |
85 | virtual Bool_t AcceptV0(AliAODVertex *vtx, const AliAODv0 *v0); | |
86 | virtual void RecCascade(AliAODTrack *trk1,const AliAODTrack *trk2,const AliAODTrack *trkBch,TString histo); | |
87 | virtual TArrayD* V0Loop(AliAODTrack *trkLP, V0LoopStep_t step, Bool_t isTriggered); | |
88 | virtual TArrayD* TriggerParticle(); | |
89 | ||
90 | virtual void UserExec(Option_t *option); | |
91 | virtual void Terminate(Option_t *); | |
92 | ||
93 | private: | |
94 | ||
95 | AliAnalysisTaskLambdaOverK0sJets(const AliAnalysisTaskLambdaOverK0sJets&); //not implemented | |
96 | AliAnalysisTaskLambdaOverK0sJets& operator=(const AliAnalysisTaskLambdaOverK0sJets&);//not implemented | |
97 | ||
98 | AliAODEvent *fAOD; | |
99 | Bool_t fIsMC; // Use MC data | |
100 | Bool_t fUsePID; // Use PID for tracks | |
101 | Double_t fCentMin; // Minimum centrality | |
102 | Double_t fCentMax; // Maximum centrality | |
103 | Double_t fTrigPtMin; // Minimum pt for trigger particle | |
104 | Double_t fTrigPtMax; // Maximum pt for trigger particle | |
105 | Double_t fTrigEtaMax; // Maximum eta for trigger particle | |
106 | Bool_t fSeparateInjPart; // Separate MC injected particles in case of correlation | |
107 | Int_t fEndOfHijingEvent; // Limit natural-injected MC particles | |
108 | AliPIDResponse *fPIDResponse; // PID Response | |
109 | ||
110 | ||
111 | Double_t fMinPtDaughter; // Minimum transverse momentum for V0's daughters | |
112 | Double_t fMaxEtaDaughter; // Maximum pseudo-rapidity for V0's daughters | |
113 | Double_t fMaxDCADaughter; // Maximum Distance of Closest Approach between daughters (given in sigmas) | |
114 | Double_t fYMax; // Maximum rapidity for V0 | |
115 | Double_t fDCAToPrimVtx; // Mimimum distance of closest approach of daughters to the vertex | |
116 | Double_t fMinCPA; // Minimum Cosine of the Pointing Angle to the vertex for V0 | |
117 | Double_t fNSigma; // Number of sigmas for PID wi dE/dx | |
118 | Double_t fMinCtau; // Minimum ctau | |
119 | Double_t fMaxCtau; // Maximum ctau | |
120 | ||
121 | TList* fOutput; //! List of histograms | |
122 | ||
123 | TH1F* fEvents; //! Counter for the number of events in each step | |
124 | ||
125 | TH1F* fCentrality; //! Event centrality per centil | |
126 | TH1F* fPrimaryVertexX; //! Primary vertex position in X | |
127 | TH1F* fPrimaryVertexY; //! Primary vertex position in Y | |
128 | TH1F* fPrimaryVertexZ; //! Primary vertex position in Z | |
129 | TH2F* fNumberPileUp; //! Number of pile up: SPD vs Tracks | |
130 | TH2F* fCentMult; //! Event centrality vs Track multiplicity | |
131 | TH2F* fdEdx; //! dEdx | |
132 | TH2F* fdEdxPid; //! dEdx with PID | |
133 | ||
134 | TH3F* fTriggerMCPtCent; //! Trigger particle MC: pt vs centrality | |
135 | TH2F* fTriggerPtCent; //! Trigger particle: pt vs centrality | |
136 | TH2F* fTriggerEtaPhi; //! Trigger particle: eta vs phi | |
137 | TH1F* fCheckTriggerFromV0Daug; //! Trigger particle: it is a daughter from a V0-candidate | |
138 | TH1F* fTriggerComingFromDaug; //! Trigger particle: pt when LP is a daughter from a V0-candidate | |
139 | TH1F* fTriggerIsV0; //! Trigger particle: the V0 is the highest-pt particle | |
140 | ||
141 | TH1F* fInjectedParticles; //! Number of injected particles | |
142 | ||
143 | TH1F* fK0sMCPt; //! K0s MC: pt | |
144 | TH2F* fK0sMCPtRap; //! K0s MC: pt vs rapidity | |
145 | TH2F* fK0sMCPtEta; //! K0s MC: pt vs pseudo-rapidity | |
146 | TH3F* fK0sMCPtLt; //! K0s MC: pt vs decay lenght vs centrality | |
147 | TH1F* fK0sAssocPt; //! K0s Assoc: pt | |
148 | TH3F* fK0sAssocPtLt; //! K0s Assoc: pt vs decay lenght vs centrality | |
149 | TH3F* fK0sAssocPtLtArm; //! K0s Assoc: pt vs decay lenght vs centrality | |
150 | TH2F* fK0sAssocPtRap; //! K0s Assoc: pt vs rapidity | |
151 | TH2F* fK0sAssocPtEta; //! K0s Assoc: pt vs pseudo-rapidity | |
152 | ||
153 | TH1F* fLambdaMCPt; //! Lambda MC: pt | |
154 | TH2F* fLambdaMCPtRap; //! Lambda MC: pt vs rapidity | |
155 | TH2F* fLambdaMCPtEta; //! Lambda MC: pt vs pseudo-rapidity | |
156 | TH3F* fLambdaMCPtLt; //! Lambda MC: pt vs decay lenght vs centrality | |
157 | TH1F* fLambdaAssocPt; //! Lambda Assoc: pt | |
158 | TH3F* fLambdaAssocPtLt; //! Lambda Assoc: pt vs decay lenght vs centrality | |
159 | TH3F* fLambdaAssocPtLtArm; //! Lambda Assoc: pt vs decay lenght vs centrality | |
160 | TH2F* fLambdaAssocPtRap; //! Lambda Assoc: pt vs rapidity | |
161 | TH2F* fLambdaAssocPtEta; //! Lambda Assoc: pt vs pseudo-rapidity | |
162 | ||
163 | TH3F* fHistArmenterosPodolanski; //! Armenteros-Podolanski plot inside 3 sigma of the signal | |
164 | TH3F* fHistArmPodBckg; //! Armenteros-Podolanski plot outside 3 sigma of the signal | |
165 | ||
166 | TH3F* fK0sMass; //! Mass for K0s | |
167 | TH2F* fK0sPtLtSB; //! K0s: Side-band subtracted lt vs pt | |
168 | TH3F* fK0sPtvsEta; //! K0s: pt vs eta | |
169 | TH3F* fK0sPtvsRap; //! K0s: pt vs rap | |
170 | TH2F* fK0sEtaPhi; //! K0s: eta vs phi | |
171 | TH3F* fK0sMassPtPhi; //! K0s: mass vs phi | |
172 | ||
173 | TH3F* fK0sMassPtvsPtL; //! K0s: mass, pt vs pt of leading particle | |
174 | TH3F* fK0sSiPtL; //! K0s: mass, vs leading particle | |
175 | TH2F* fK0sDaughtersPt; //! K0s: pt of daughters | |
176 | TH3F* fK0sdPhiPtAssocPtL; //! K0s: Delta phi,pt vs pt of the leading particle | |
177 | TH3F* fK0sDCADaugToPrimVtx; //! K0s: DCA to primary vertex of daughters vs leading particle's pt inside a radio wrt the near-side peak | |
178 | ||
179 | TH3F* fK0sdPhidEtaMC[kN1]; //! K0s MC: Delta phi,Delta eta vs pt of the leading particle | |
180 | TH3F* fK0sdPhidEtaMCCent[kN1]; //! K0s MC in central events: Delta phi,Delta eta vs pt of the leading particle | |
181 | ||
182 | TH3F* fK0sdPhidEtaPtL[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle | |
183 | TH3F* fK0sdPhidEtaPtLCent[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle | |
184 | TH3F* fK0sdPhidEtaPtLBckg[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle | |
185 | TH3F* fK0sdPhidEtaPtLCentBckg[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle | |
186 | ||
187 | TH3F* fK0sdPhidEtaPtL2[kN1]; //! K0s: Delta phi,Delta eta vs pt of the leading particle | |
188 | TH3F* fK0sdPhidEtaPtLCent2[kN1]; //! K0s in central events: Delta phi,Delta eta vs pt of the leading particle | |
189 | TH3F* fK0sdPhidEtaPtLBckg2[kN1]; //! K0s background: Delta phi,Delta eta vs pt of the leading particle | |
190 | TH3F* fK0sdPhidEtaPtLCentBckg2[kN1]; //! K0s background in central events: Delta phi,Delta eta vs pt of the leading particle | |
191 | ||
192 | TH2F* fK0sBckgDecLength; //! K0s background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak | |
193 | TH3F* fK0sBckgDCADaugToPrimVtx; //! K0s background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak | |
194 | TH2F* fK0sdEdxPosDaug; //! K0s background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak | |
195 | TH2F* fK0sdEdxNegDaug; //! K0s background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak | |
196 | TH2F* fK0sBckgEtaPhi; //! K0s background: Phi vs Eta inside a radio wrt the near-side peak | |
197 | TH2F* fK0sBckgPhiRadio; //! K0s background: Phi vs radio inside a radio wrt the near-side peak | |
198 | TH2F* fK0sBckgDCANegDaugToPrimVtx; //! K0s background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak | |
199 | TH2F* fK0sBckgDCAPosDaugToPrimVtx; //! K0s background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak | |
200 | TH2F* fK0sMassCascade; //! K0s background: Poddible mismatching of tracks due to cascades decays | |
201 | ||
202 | TH3F* fLambdaMass; //! Mass for Lambda | |
203 | TH2F* fLambdaPtLtSB; //! Lambda: l vs p with side-band subtraction | |
204 | TH3F* fLambdaPtvsEta; //! Lambda: pt vs eta | |
205 | TH3F* fLambdaPtvsRap; //! Lambda: pt vs rap | |
206 | TH2F* fLambdaEtaPhi; //! Lambda: eta vs phi | |
207 | TH3F* fLambdaMassPtPhi; //! Lambda: mass vs phi | |
208 | ||
209 | TH2F* fLambdadEdx; //! Lambda: dE/dx for proton | |
210 | TH1F* fCPA; //! Lambda: Cosine of the pointing angle | |
211 | TH1F* fDCA; //! Lambda: DCA between daughters | |
212 | ||
213 | TH3F* fLambdaMassPtvsPtL; //! Lambda: mass, pt vs pt of leading particle | |
214 | TH3F* fLambdaSiPtL; //! Lambda: mass, vs leading particle | |
215 | TH2F* fLambdaDaughtersPt; //! Lambda: pt of daughters | |
216 | TH3F* fLambdadPhiPtAssocPtL; //! Lambda: Delta phi,pt vs pt of the leading particle | |
217 | TH3F* fLambdaDCADaugToPrimVtx; //! Lambda: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak | |
218 | ||
219 | TH3F* fLambdadPhidEtaMC[kN1]; //! Lambda MC: Delta phi,Delta eta vs pt of the leading particle | |
220 | TH3F* fLambdadPhidEtaMCCent[kN1]; //! Lambda MC in central events: Delta phi,Delta eta vs pt of the leading particle | |
221 | ||
222 | TH3F* fLambdadPhidEtaPtL[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle | |
223 | TH3F* fLambdadPhidEtaPtLCent[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle | |
224 | TH3F* fLambdadPhidEtaPtLBckg[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle | |
225 | TH3F* fLambdadPhidEtaPtLCentBckg[kN1]; //! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle | |
226 | ||
227 | TH3F* fLambdadPhidEtaPtL2[kN1]; //! Lambda: Delta phi,Delta eta vs pt of the leading particle | |
228 | TH3F* fLambdadPhidEtaPtLCent2[kN1]; //! Lambda in central events: Delta phi,Delta eta vs pt of the leading particle | |
229 | TH3F* fLambdadPhidEtaPtLBckg2[kN1]; //! Lambda background: Delta phi,Delta eta vs pt of the leading particle | |
230 | TH3F* fLambdadPhidEtaPtLCentBckg2[kN1];//! Lambda background in central events: Delta phi,Delta eta vs pt of the leading particle | |
231 | ||
232 | TH2F* fLambdaBckgDecLength; //! Lambda background: Decay lenght vs leading particle's pt inside a radio wrt the near-side peak | |
233 | TH3F* fLambdaBckgDCADaugToPrimVtx; //! Lambda background: DCA to primary vrtex of daughters vs leading particle's pt inside a radio wrt the near-side peak | |
234 | TH2F* fLambdadEdxPosDaug; //! Lambda background: dE/dx of the positive daughter particle inside a radio wrt the near-side peak | |
235 | TH2F* fLambdadEdxNegDaug; //! Lambda background: dE/dx of the negative daughter particle inside a radio wrt the near-side peak | |
236 | TH2F* fLambdaBckgEtaPhi; //! Lambda background: Phi vs Eta inside a radio wrt the near-side peak | |
237 | TH2F* fLambdaBckgPhiRadio ; //! Lambda background: Phi vs radio inside a radio wrt the near-side peak | |
238 | TH2F* fLambdaBckgDCANegDaugToPrimVtx; //! Lambda background: DCA of Negative daughter to the primary vertex inside the radio 0.4 wrt the near-side peak | |
239 | TH2F* fLambdaBckgDCAPosDaugToPrimVtx; //! Lambda background: DCA of Positive daughter to the primary vertex inside the radio 0.4 wrt the near-side peak | |
240 | TH2F* fLambdaMassCascade; //! Lambda background: Poddible mismatching of tracks due to cascades decays | |
241 | ||
242 | ClassDef(AliAnalysisTaskLambdaOverK0sJets,1); | |
243 | ||
244 | }; | |
245 | ||
246 | #endif |