]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/DiHadronPID/AliAnalysisTaskDiHadronPID.h
-coverity fix
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / DiHadronPID / AliAnalysisTaskDiHadronPID.h
CommitLineData
6788af99 1#ifndef ALIANALYSYSTASKDIHADRONPID_H
2#define ALIANALYSYSTASKDIHADRONPID_H
97724bd1 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4* See cxx source for full Copyright notice */
5/* $Id$ */
6788af99 6
7#include "AliAnalysisTaskSE.h"
8#include "AliEventPoolManager.h"
9#include "AliAODTrackCutsDiHadronPID.h"
10#include "AliAODEventCutsDiHadronPID.h"
11#include "TObjArray.h"
12#include "THn.h"
13
14class AliAnalysisTaskDiHadronPID : public AliAnalysisTaskSE {
15
16public:
17 // Constructors/Destructors.
18 AliAnalysisTaskDiHadronPID();
19 AliAnalysisTaskDiHadronPID(const char* name);
20 virtual ~AliAnalysisTaskDiHadronPID();
21
f054df96 22private:
23 AliAnalysisTaskDiHadronPID(const AliAnalysisTaskDiHadronPID&);
24 AliAnalysisTaskDiHadronPID& operator=(const AliAnalysisTaskDiHadronPID&);
25
26public:
6788af99 27 // Methods from AliAnalysisTaskSE.
28 void UserCreateOutputObjects();
29 void LocalInit();
30 void UserExec(Option_t*);
31 void Terminate(Option_t*);
32
33 // Are all cut objects provided to the task?
34 Bool_t ReadyToStart() const {return (fEventCuts && fTrackCutsTrigger && fTrackCutsAssociated);}
35
36 // Setters.
6788af99 37 void SetEventCuts(AliAODEventCutsDiHadronPID* eventcuts) {fEventCuts = eventcuts;}
38 void SetTrackCutsTrigger(AliAODTrackCutsDiHadronPID* trackcuts) {fTrackCutsTrigger = trackcuts;}
39 void SetTrackCutsAssociated(AliAODTrackCutsDiHadronPID* trackcuts) {fTrackCutsAssociated = trackcuts;}
40
41 void SetNDEtaBins(Int_t nbins) {fNDEtaBins = nbins;}
42 void SetNDPhiBins(Int_t nbins) {fNDPhiBins = nbins;}
43 void SetMinEventsForMixing(Int_t nevents) {fMinNEventsForMixing = nevents;}
44 void SetPoolTrackDepth(Int_t trackdepth) {fPoolTrackDepth = trackdepth;}
45 void SetPoolSize(Int_t poolsize) {fPoolSize = poolsize;}
50dfda71 46 void SetMixEvents(Bool_t mixevents = kTRUE) {fMixEvents = mixevents;}
47 void SetMixTriggers(Bool_t mixtriggers = kTRUE) {fMixTriggers = mixtriggers;}
48 void SetDebugLevel(Int_t debuglevel) {fDebug = debuglevel;}
6788af99 49
50 // Getters.
51 Int_t GetNDEtaBins() const {return fNDEtaBins;}
52 Int_t GetNDPhiBins() const {return fNDPhiBins;}
53 Int_t GetMinEventsForMixing() const {return fMinNEventsForMixing;}
54 Int_t GetPoolTrackDepth() const {return fPoolTrackDepth;}
55 Int_t GetPoolSize() const {return fPoolSize;}
50dfda71 56 Bool_t GetMixEvents() const {return fMixEvents;}
57 Bool_t GetMixTriggers() const {return fMixTriggers;}
6788af99 58 Int_t GetDebugLevel() const {return fDebug;}
59
60private:
61 //void FillGlobalTracksArray();
62 Bool_t LoadExtMismatchHistos();
63 Double_t GenerateRandomHit(Double_t eta);
50dfda71 64 void PrintPoolManagerContents();
6788af99 65
66private:
67
68 // PID Response Object.
69 AliPIDResponse* fPIDResponse; //! PID Response.
70
71 // Event Cuts Object.
72 AliAODEventCutsDiHadronPID* fEventCuts; //
73
74 // Track Cuts Object.
75 AliAODTrackCutsDiHadronPID* fTrackCutsTrigger; //
76 AliAODTrackCutsDiHadronPID* fTrackCutsAssociated; //
77
78 // Event Pool Manager.
79 AliEventPoolManager* fPoolMgr; //! Event pool manager.
80
81 // Track Arrays.
82 TObjArray* fTriggerTracks; //!
83 TObjArray* fAssociatedTracks; //!
84 // TObjArray* fGlobalTracksArray;
85
86 // Current Event.
87 AliAODEvent* fCurrentAODEvent; //! Current AOD Event.
88
89 // Output List.
90 TList* fOutputList; //! Output List.
91
92 // Histograms.
93 TH1F* fPtSpectrum; //! Pt Spectrum.
94 TH3F* fCorrelations; //! Correlations Histogram.
95 TH3F* fMixedEvents; //! Mixed Events Histogram.
96
97 TObjArray* fTOFhistos; //! Array holding all correlation functions.
98 THnF* fCorrelationsTOF[5][3]; //! Correlations with TOF info.
99 THnF* fCorrelationsTOFTPC[5][3]; //! Correlations with TPC and TOF info.
100
101 // Settings.
102 Int_t fNDEtaBins; //
103 Int_t fNDPhiBins; //
104 Int_t fMinNEventsForMixing; // Pool needs at least this many events for mixing.
105 Int_t fPoolTrackDepth; // For the pool.
106 Int_t fPoolSize; //
50dfda71 107 Bool_t fMixEvents; // NOT YET IMPLEMENTED.
108 Bool_t fMixTriggers; // If true, triggers are mixed, if not true, associateds are mixed.
6788af99 109 Bool_t fCalculateTOFmismatch; //
110
111 // TOF mismatch stuff.
112 TH1F* fT0Fill; //
113 TH2F* fLvsEta; //
114 TObjArray* fLvsEtaProjections; //
115
116 // Flags.
117 Int_t fDebug; // Debug flag.
118
119 ClassDef(AliAnalysisTaskDiHadronPID,2);
120
121};
122
123#endif