1 #ifndef ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
2 #define ALIANALYSISTASKCOMPAREAODTRACKCUTS_H
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 */
10 class AliAnalysisTaskCompareAODTrackCuts : public AliAnalysisTaskSE {
12 // Basic AnalysisTask Functions.
14 AliAnalysisTaskCompareAODTrackCuts();
15 AliAnalysisTaskCompareAODTrackCuts(const char* name);
16 virtual ~AliAnalysisTaskCompareAODTrackCuts();
19 AliAnalysisTaskCompareAODTrackCuts(const AliAnalysisTaskCompareAODTrackCuts&);
20 AliAnalysisTaskCompareAODTrackCuts& operator=(const AliAnalysisTaskCompareAODTrackCuts&);
23 virtual void UserCreateOutputObjects();
24 virtual void UserExec(Option_t*);
25 virtual void Terminate(Option_t*);
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.
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);
39 void SetEventCuts(AliAODEventCutsDiHadronPID* eventcuts);
40 void AddTrackCuts(AliAODTrackCutsDiHadronPID* trackcuts);
42 // Override from AliAnalysisTaskSE.
43 void SetDebugLevel(Int_t debuglvl);
46 void FillGlobalTracksArray();
47 AliAODTrack* GetGlobalTrack(AliAODTrack* track);
51 // PID Response Object.
52 AliPIDResponse* fPIDResponse; //! PID Response.
55 TList* fOutputList; //! Output List.
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.
64 // Event Cut Object (streamed!).
65 AliAODEventCutsDiHadronPID* fEventCuts; // Event Cuts.
67 // Array of Track Cut Objects (streamed!).
68 TObjArray* fTrackCuts; // TObjArray with all Track Cut Objects.
70 // Inclusive track times.
71 TH2F* fInclusiveTimes; //!
73 // TOF mismatch stuff.
76 TH2F* fGlobalPtvsTPCPt; //
77 TObjArray* fLvsEtaProjections; //
80 // Event and Track related objects.
81 AliAODEvent* fCurrentAODEvent; //!
82 AliAODTrack* fCurrentAODTrack; //!
83 AliTrackDiHadronPID* fCurrentDiHadronPIDTrack; //!
84 TObjArray* fGlobalTracksArray; //! Array of Global Tracks.
86 ClassDef(AliAnalysisTaskCompareAODTrackCuts,1);