]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/DiHadronPID/AliAnalysisTaskCompareAODTrackCuts.h
Various fix for new PWGCF classes
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / DiHadronPID / AliAnalysisTaskCompareAODTrackCuts.h
1 #ifndef ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
2 #define ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
3
4 #include "AliAODEventCutsDiHadronPID.h"
5 #include "AliAODTrackCutsDiHadronPID.h"
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * 
7 * See cxx source for full Copyright notice */ 
8 /* $Id$ */
9
10 class AliAnalysisTaskCompareAODTrackCuts : public AliAnalysisTaskSE {
11
12 // Basic AnalysisTask Functions.
13 public:
14         AliAnalysisTaskCompareAODTrackCuts();
15         AliAnalysisTaskCompareAODTrackCuts(const char* name);
16         virtual ~AliAnalysisTaskCompareAODTrackCuts();
17         
18 private:
19         AliAnalysisTaskCompareAODTrackCuts(const AliAnalysisTaskCompareAODTrackCuts&);
20         AliAnalysisTaskCompareAODTrackCuts& operator=(const AliAnalysisTaskCompareAODTrackCuts&);               
21
22 public:
23         virtual void UserCreateOutputObjects(); 
24         virtual void UserExec(Option_t*);
25         virtual void Terminate(Option_t*);      
26
27 // Mismatch related functions.
28         Bool_t LoadExternalMismatchHistos();                    // For each mismatch method, external histo's are needed.
29         Double_t GenerateRandomHit(Double_t eta);               // Generates a random time for a certain eta.
30
31 // Task Settings.
32         void SetMC(Bool_t isMC = kTRUE) {fIsMC = isMC;} 
33         void SetVerbose(Bool_t verbose = kTRUE) {fVerbose = verbose;}
34         void SetCalculateTOFMismatch(Bool_t calculatetofmismatch = kTRUE/* const Int_t method*/) {fCalculateTOFMismatch = calculatetofmismatch;}
35         void SetUseMismatchFileFromGridHomeDir(Bool_t usefromhomedir = kTRUE) {fUseMismatchFileFromHomeDir = usefromhomedir;}
36         void SetUseNSigmaOnPIDAxes(Bool_t UseNSigma = kTRUE);
37
38 // Managing Cuts.
39     void SetEventCuts(AliAODEventCutsDiHadronPID* eventcuts);
40     void AddTrackCuts(AliAODTrackCutsDiHadronPID* trackcuts);
41
42 // Override from AliAnalysisTaskSE.
43         void SetDebugLevel(Int_t debuglvl);
44
45 private:
46         void FillGlobalTracksArray();
47         AliAODTrack* GetGlobalTrack(AliAODTrack* track);
48
49 private:
50
51         // PID Response Object.
52         AliPIDResponse*                                 fPIDResponse;                           //! PID Response.
53
54         // Output List.
55         TList*                                                  fOutputList;                            //! Output List.
56
57         // Settings (streamed!).
58         Bool_t                                                  fIsMC;                                          // ran over MC or not.
59         Bool_t                                                  fVerbose;                                       // Verbose mode.
60         Bool_t                                                  fCalculateTOFMismatch;          // Compute mismatch or not. (Needs input histograms!)
61         Bool_t                                                  fUseMismatchFileFromHomeDir;// Take TOFmistmachHistos.root from the home dir, or take the one copied when submitting jobs
62         Bool_t                                                  fUseNSigmaOnPIDAxes;            // Uses NSigma on the PID axes of all histograms.
63
64         // Event Cut Object (streamed!).
65         AliAODEventCutsDiHadronPID*             fEventCuts;                                     // Event Cuts.
66         
67         // Array of Track Cut Objects (streamed!).
68         TObjArray*                                              fTrackCuts;                                     // TObjArray with all Track Cut Objects.
69
70         // Inclusive track times.
71         TH2F*                                                   fInclusiveTimes;                        //!
72
73         // TOF mismatch stuff.
74         TH1F*                                                   fT0Fill;                                        //
75         TH2F*                                                   fLvsEta;                                        //
76         TH2F*                                                   fGlobalPtvsTPCPt;                       //
77         TObjArray*                                              fLvsEtaProjections;                     //      
78
79
80         // Event and Track related objects.
81         AliAODEvent*                                    fCurrentAODEvent;                       //!
82         AliAODTrack*                                    fCurrentAODTrack;                       //!
83         AliTrackDiHadronPID*                    fCurrentDiHadronPIDTrack;       //!
84         TObjArray*                                              fGlobalTracksArray;                     //! Array of Global Tracks.
85
86         ClassDef(AliAnalysisTaskCompareAODTrackCuts,1);
87
88 };
89
90 #endif