]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/DiHadronPID/AliAnalysisTaskCompareAODTrackCuts.h
merging trunk to TPCdev
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / DiHadronPID / AliAnalysisTaskCompareAODTrackCuts.h
CommitLineData
6214ec0c 1#ifndef ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
2#define ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4* See cxx source for full Copyright notice */
5/* $Id$ */
6
7class AliAnalysisTaskCompareAODTrackCuts : public AliAnalysisTaskSE {
8
9// Basic AnalysisTask Functions.
10public:
11 AliAnalysisTaskCompareAODTrackCuts();
12 AliAnalysisTaskCompareAODTrackCuts(const char* name);
13 virtual ~AliAnalysisTaskCompareAODTrackCuts();
14
15private:
16 AliAnalysisTaskCompareAODTrackCuts(const AliAnalysisTaskCompareAODTrackCuts&);
17 AliAnalysisTaskCompareAODTrackCuts& operator=(const AliAnalysisTaskCompareAODTrackCuts&);
18
19public:
20 virtual void UserCreateOutputObjects();
21 virtual void UserExec(Option_t*);
22 virtual void Terminate(Option_t*);
23
24// Mismatch related functions.
69868b6b 25 Bool_t LoadExternalMismatchHistos(Int_t /*mismatchmethod*/); // For each mismatch method, external histo's are needed.
26 Double_t GenerateRandomHit(Int_t /*mismatchmethod*/, Double_t eta); // Generates a random time for a certain eta.
6214ec0c 27
28// Run over MC or not.
29 void SetMC(Bool_t isMC = kTRUE) {fIsMC = isMC;}
30 void SetVerbose(Bool_t verbose = kTRUE) {fVerbose = verbose;}
31 void SetCalculateTOFMismatch(Bool_t calculatetofmismatch = kTRUE, Int_t method = 0) {
32 fCalculateTOFMismatch = calculatetofmismatch;
33 fMismatchMethod = method; // 0 = Roberto's method, 1 - From the inclusive times.
34 }
35
36// Managing Event Cuts.
37 void SetEventCuts(AliAODEventCutsDiHadronPID* eventcuts) {
38 if (!eventcuts) {
39 cout<<"ERROR: No Event Cuts Object"<<endl;
40 return;
41 }
42 fEventCuts = eventcuts;
43 }
44
45// Managing Track Cuts.
46 void AddTrackCuts(AliAODTrackCutsDiHadronPID* trackcuts) {
47
48 if (!trackcuts) return;
49 if (!fTrackCuts) {
50 cout<<"ERROR: No Track Cuts array available! Check your constructor."<<endl;
51 return;
52 }
53
54 fTrackCuts->AddLast(trackcuts);
55 }
56
57private:
58 void FillGlobalTracksArray();
59 AliAODTrack* GetGlobalTrack(AliAODTrack* track);
60
61private:
62
63 // PID Response Object.
64 AliPIDResponse* fPIDResponse; //! PID Response.
65
66 // Output List.
67 TList* fOutputList; //! Output List.
68
69 // Settings (streamed!).
70 Bool_t fIsMC; // ran over MC or not.
71 Bool_t fVerbose; // Verbose mode.
72 Bool_t fCalculateTOFMismatch; // Compute mismatch or not. (Needs input histograms!)
73 Int_t fMismatchMethod; // 0 - Roberto's method, 1 - From inclusive times.
74
75 // Event Cut Object (streamed!).
76 AliAODEventCutsDiHadronPID* fEventCuts; // Event Cuts.
77
78 // Array of Track Cut Objects (streamed!).
79 TObjArray* fTrackCuts; // TObjArray with all Track Cut Objects.
80
81 // Inclusive track times.
82 TH2F* fInclusiveTimes; //!
83
69868b6b 84 // TOF mismatch stuff.
85 TH1F* fT0Fill; //
86 TH2F* fLvsEta; //
87 TObjArray* fLvsEtaProjections; //
6214ec0c 88
89
90 // Event and Track related objects.
91 AliAODEvent* fCurrentAODEvent; //!
92 AliAODTrack* fCurrentAODTrack; //!
93 AliTrackDiHadronPID* fCurrentDiHadronPIDTrack; //!
94 TObjArray* fGlobalTracksArray; //! Array of Global Tracks.
95
96 ClassDef(AliAnalysisTaskCompareAODTrackCuts,1);
97
98};
99
a6ddcd76 100#endif