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