1 #ifndef ALIANALYSISTASKMINIJET_H
\r
2 #define ALIANALYSISTASKMINIJET_H
\r
4 // analysis task performing mini jet analysis (use ESD or AOD as input)
\r
5 // Author: eva.sicking@cern.ch
\r
12 class AliESDtrackCuts;
\r
15 #include "AliAnalysisTaskSE.h"
\r
17 class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {
\r
19 AliAnalysisTaskMinijet(const char *name="<default name>");
\r
20 virtual ~AliAnalysisTaskMinijet();
\r
22 virtual void UserCreateOutputObjects();
\r
23 virtual void UserExec(Option_t* option);
\r
24 virtual void Terminate(Option_t *);
\r
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
32 Bool_t SelectParticlePlusCharged(Int_t charge, Int_t pdg, Bool_t prim);
\r
33 Bool_t SelectParticle(Int_t charge, Int_t pdg, Bool_t prim);
\r
36 void UseMC(Bool_t useMC=kTRUE, Bool_t mcOnly=kFALSE) {fUseMC = useMC; fMcOnly=mcOnly;}
\r
38 virtual void SetCuts(AliESDtrackCuts* cuts) {fCuts = cuts;}
\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
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
49 void SelectParticles(Int_t selectParticles) {fSelectParticles = selectParticles;}
\r
54 AliESDtrackCuts* fCuts; // List of cuts for ESDs
\r
55 Float_t fRadiusCut; // radius cut
\r
56 Float_t fTriggerPtCut; // cut on particle pt used as event axis
\r
57 Float_t fAssociatePtCut; // cut on particle pt used for correlations
\r
58 Int_t fLeadingOrRandom; // event axis:leading track or random track
\r
59 Int_t fMode; // ESD(=0) of AOD(=1) reading
\r
60 Float_t fVertexZCut; // vertex cut
\r
61 Float_t fEtaCut; // eta acceptance cut
\r
62 Float_t fEtaCutSeed; // eta acceptance cut for seed
\r
63 Int_t fSelectParticles; // only in cas of MC: use also neutral particles or not
\r
65 AliESDEvent *fESDEvent; //! esd event
\r
66 AliAODEvent *fAODEvent; //! aod event
\r
68 TList *fHists; // output list
\r
69 TH1F *fHistPt; // Pt spectrum ESD
\r
70 TH1F *fHistPtMC; // Pt spectrum MC
\r
71 TH2F *fChargedPi0; // charged versus charged+Pi0
\r
72 TH1F * fVertexZ[4]; // z of vertex
\r
74 TH1F * fPt[4]; // pt
\r
75 TH1F * fEta[4]; // et
\r
76 TH1F * fPhi[4]; // phi
\r
78 TH1F * fPtSeed[4]; // pt of seed (event axis)
\r
79 TH1F * fEtaSeed[4]; // eta of seed
\r
80 TH1F * fPhiSeed[4]; // phi of seed
\r
82 TH2F * fPhiEta[4]; // eta - phi
\r
83 TH2F * fDPhiDEtaEventAxis[4]; // correlation dEta-dPhi towards event axis
\r
84 TH1F * fTriggerNch[4]; // number of triggers with accepted-track number
\r
85 TH1F * fTriggerTracklet[4]; // number of triggers with accepted-tracklet number
\r
86 TH2F * fNch07Nch[4]; // nCharged with pT>fTriggerPtCut vs nCharged
\r
87 TProfile * pNch07Nch[4]; // nCharged with pT>fTriggerPtCut vs nCharged
\r
88 TH2F * fNch07Tracklet[4]; // nCharged with pT>fTriggerPtCut vs nTracklet
\r
89 TH2F * fNchTracklet[4]; // nCharged vs nTracklet
\r
90 TProfile * pNch07Tracklet[4]; // nCharged with pT>fTriggerPtCut vs nTracklet
\r
92 TH1F * fDPhiEventAxisNchBin[4][150];// delta phi of associate tracks to event axis per Nch bin
\r
93 TH1F * fDPhiEventAxisNchBinTrig[4][150];// "" for all possoble trigger particles
\r
95 TH1F * fDPhiEventAxisTrackletBin[4][150]; // delta phi of associate tracks to event axis per Nch bin
\r
96 TH1F * fDPhiEventAxisTrackletBinTrig[4][150]; // "" for all possible trigger particles
\r
98 AliAnalysisTaskMinijet(const AliAnalysisTaskMinijet&); // not implemented
\r
99 AliAnalysisTaskMinijet& operator=(const AliAnalysisTaskMinijet&); // not implemented
\r
101 ClassDef(AliAnalysisTaskMinijet, 1); // example of analysis
\r