Covarity fix
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskMinijet.h
CommitLineData
117f99e3 1#ifndef ALIANALYSISTASKMINIJET_H\r
2#define ALIANALYSISTASKMINIJET_H\r
3\r
f2565a6b 4// Two-particle correlations using all particles over pt threshold\r
5// Extract mini-jet yield and fragmentation properties via Delta-Phi histograms\r
6// Can use ESD or AOD, reconstructed and Monte Carlo data as input\r
117f99e3 7// Author: eva.sicking@cern.ch\r
8\r
9class TList;\r
10class TH1F;\r
11class TH2F;\r
12class TProfile;\r
13\r
14class AliESDtrackCuts;\r
15\r
16\r
17#include "AliAnalysisTaskSE.h"\r
18\r
19class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {\r
20 public:\r
21 AliAnalysisTaskMinijet(const char *name="<default name>");\r
22 virtual ~AliAnalysisTaskMinijet();\r
23 \r
24 virtual void UserCreateOutputObjects();\r
25 virtual void UserExec(Option_t* option);\r
26 virtual void Terminate(Option_t *);\r
27 \r
9ed461df 28 Int_t LoopESD (Float_t **pt, Float_t **eta, Float_t **phi, Short_t **charge, Int_t **nTracksTracklets);\r
29 Int_t LoopESDMC(Float_t **pt, Float_t **eta, Float_t **phi, Short_t **charge, Int_t **nTracksTracklets);\r
30 Int_t LoopAOD (Float_t **pt, Float_t **eta, Float_t **phi, Short_t **charge, Int_t **nTracksTracklets);\r
31 Int_t LoopAODMC(Float_t **pt, Float_t **eta, Float_t **phi, Short_t **charge, Int_t **nTracksTracklets);\r
e1c44e08 32 void Analyse (const Float_t* pt, const Float_t* eta, const Float_t* phi, const Short_t *charge, Int_t ntacks, Int_t ntacklets=0, const Int_t nAll=0, Int_t mode=0);\r
f2565a6b 33 const void CleanArrays(const Float_t *pt, const Float_t *eta, const Float_t *phi, const Short_t *charge, const Int_t *nTracksTracklets=0);\r
34 const Bool_t SelectParticlePlusCharged(Short_t charge, Int_t pdg, Bool_t prim);\r
35 const Bool_t SelectParticle(Short_t charge, Int_t pdg, Bool_t prim);\r
117f99e3 36\r
b9ad6f04 37\r
38 void UseMC(Bool_t useMC=kTRUE, Bool_t mcOnly=kFALSE) {fUseMC = useMC; fMcOnly=mcOnly;}\r
39\r
40 virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;}\r
117f99e3 41\r
9ed461df 42 void SetRadiusCut(Float_t radiusCut) {fRadiusCut = radiusCut;} \r
43 void SetTriggerPtCut(Float_t triggerPtCut) {fTriggerPtCut = triggerPtCut;} \r
44 void SetAssociatePtCut(Float_t associatePtCut) {fAssociatePtCut = associatePtCut;} \r
45 void SetEventAxis(Int_t leadingOrRandom) {fLeadingOrRandom = leadingOrRandom;} \r
46 void SetMode(Int_t mode) {fMode = mode;}\r
47 void SetMaxVertexZ(Float_t vertexZCut) {fVertexZCut = vertexZCut;}\r
48 void SetMaxEta(Float_t etaCut) {fEtaCut = etaCut;}\r
49 void SetMaxEtaSeed(Float_t etaCutSeed) {fEtaCutSeed = etaCutSeed;}\r
117f99e3 50\r
9ed461df 51 void SelectParticles(Int_t selectParticles) {fSelectParticles = selectParticles;}\r
52 void SelectParticlesAssoc(Int_t selectParticlesAssoc) {fSelectParticlesAssoc = selectParticlesAssoc;}\r
117f99e3 53\r
b18f7dfb 54\r
117f99e3 55 private:\r
b18f7dfb 56\r
f2565a6b 57 Bool_t fUseMC; // flag for Monte Carlo usages\r
58 Bool_t fMcOnly; // flag defines, if only MC data is used in analysis or also reconstructed data\r
117f99e3 59 AliESDtrackCuts* fCuts; // List of cuts for ESDs\r
60 Float_t fRadiusCut; // radius cut \r
61 Float_t fTriggerPtCut; // cut on particle pt used as event axis\r
62 Float_t fAssociatePtCut; // cut on particle pt used for correlations\r
63 Int_t fLeadingOrRandom; // event axis:leading track or random track\r
64 Int_t fMode; // ESD(=0) of AOD(=1) reading \r
65 Float_t fVertexZCut; // vertex cut\r
b9ad6f04 66 Float_t fEtaCut; // eta acceptance cut\r
67 Float_t fEtaCutSeed; // eta acceptance cut for seed\r
68 Int_t fSelectParticles; // only in cas of MC: use also neutral particles or not \r
9ed461df 69 Int_t fSelectParticlesAssoc; // only in cas of MC: use also neutral particles or not \r
117f99e3 70\r
71 AliESDEvent *fESDEvent; //! esd event\r
72 AliAODEvent *fAODEvent; //! aod event\r
9ed461df 73 Int_t fNMcPrimAccept; // global variable for mc multiplucity\r
74 Float_t fVzEvent; // global variable for rec vertex position\r
117f99e3 75 \r
9ed461df 76 TList *fHists; // output list\r
77 TH1F *fHistPt; // Pt spectrum ESD\r
78 TH1F *fHistPtMC; // Pt spectrum MC\r
79 TH2F *fNmcNch; // N mc - N ch rec\r
f2565a6b 80 TProfile *fPNmcNch; // N mc - N ch rec\r
9ed461df 81 TH2F *fChargedPi0; // charged versus charged+Pi0\r
117f99e3 82 TH1F * fVertexZ[4]; // z of vertex\r
b9ad6f04 83\r
117f99e3 84 TH1F * fPt[4]; // pt\r
b9ad6f04 85 TH1F * fEta[4]; // et\r
117f99e3 86 TH1F * fPhi[4]; // phi\r
9ed461df 87 TH1F * fDcaXY[4]; // dca xy direction\r
88 TH1F * fDcaZ[4]; // dca z direction\r
b9ad6f04 89\r
90 TH1F * fPtSeed[4]; // pt of seed (event axis)\r
91 TH1F * fEtaSeed[4]; // eta of seed \r
92 TH1F * fPhiSeed[4]; // phi of seed\r
93\r
b18f7dfb 94 TH1F * fPtOthers[4]; // pt of all other particels used in dEtadPhi\r
95 TH1F * fEtaOthers[4]; // eta of all other particels used in dEtadPhi\r
96 TH1F * fPhiOthers[4]; // phi of all other particels used in dEtadPhi\r
97 TH2F * fPtEtaOthers[4]; // pt-eta of all other particels used in dEtadPhi\r
98\r
99\r
b9ad6f04 100 TH2F * fPhiEta[4]; // eta - phi\r
117f99e3 101 TH2F * fDPhiDEtaEventAxis[4]; // correlation dEta-dPhi towards event axis\r
9ed461df 102 TH2F * fDPhiDEtaEventAxisSeeds[4]; // correlation dEta-dPhi towards event axis of trigger particles\r
117f99e3 103 TH1F * fTriggerNch[4]; // number of triggers with accepted-track number\r
9ed461df 104 TH2F * fTriggerNchSeeds[4]; // number of triggers with accepted-track number\r
117f99e3 105 TH1F * fTriggerTracklet[4]; // number of triggers with accepted-tracklet number\r
106 TH2F * fNch07Nch[4]; // nCharged with pT>fTriggerPtCut vs nCharged\r
f2565a6b 107 TProfile * fPNch07Nch[4]; // nCharged with pT>fTriggerPtCut vs nCharged\r
117f99e3 108 TH2F * fNch07Tracklet[4]; // nCharged with pT>fTriggerPtCut vs nTracklet\r
109 TH2F * fNchTracklet[4]; // nCharged vs nTracklet\r
f2565a6b 110 TProfile * fPNch07Tracklet[4]; // nCharged with pT>fTriggerPtCut vs nTracklet\r
117f99e3 111\r
9ed461df 112 TH1F * fDPhiEventAxis[4]; // delta phi of associate tracks to event axis\r
117f99e3 113 TH1F * fDPhiEventAxisNchBin[4][150];// delta phi of associate tracks to event axis per Nch bin\r
114 TH1F * fDPhiEventAxisNchBinTrig[4][150];// "" for all possoble trigger particles\r
115\r
116 TH1F * fDPhiEventAxisTrackletBin[4][150]; // delta phi of associate tracks to event axis per Nch bin\r
117 TH1F * fDPhiEventAxisTrackletBinTrig[4][150]; // "" for all possible trigger particles\r
118\r
119 AliAnalysisTaskMinijet(const AliAnalysisTaskMinijet&); // not implemented\r
120 AliAnalysisTaskMinijet& operator=(const AliAnalysisTaskMinijet&); // not implemented\r
121 \r
122 ClassDef(AliAnalysisTaskMinijet, 1); // example of analysis\r
123};\r
124\r
125#endif\r