update for azimuthal correlations
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskPhiCorrelations.h
CommitLineData
e0331fd9 1#ifndef AliAnalysisTaskPhiCorrelations_H
2#define AliAnalysisTaskPhiCorrelations_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////////////////////////////
8//
9// Analysis class for Underlying Event studies w.r.t. leading track
10//
11// Look for correlations on the tranverse regions w.r.t
12// the leading track in the event
13//
14// This class needs input AODs.
15// The output is a list of analysis-specific containers.
16//
17// The AOD can be either connected to the InputEventHandler
18// for a chain of AOD files
19// or
20// to the OutputEventHandler
21// for a chain of ESD files,
22// in this case the class should be in the train after the jet-finder
23//
24// Authors:
25// Arian Abrahantes Quintana
26// Jan Fiete Grosse-Oetringhaus
27// Ernesto Lopez Torres
28// Sara Vallero
29//
30////////////////////////////////////////////////////////////////////////
31
32#include "AliAnalysisTask.h"
33#include "AliUEHist.h"
34
35class AliAODEvent;
36class AliAnalyseLeadingTrackUE;
37class AliInputEventHandler;
38class AliMCEvent;
39class AliMCEventHandler;
40class AliUEHistograms;
41class AliVParticle;
42class TH1D;
43class TObjArray;
44
45class AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
46 {
47 public:
48 AliAnalysisTaskPhiCorrelations(const char* name="AliAnalysisTaskPhiCorrelations");
49 virtual ~AliAnalysisTaskPhiCorrelations();
50
51
52 // Implementation of interace methods
53 virtual void ConnectInputData(Option_t *);
54 virtual void CreateOutputObjects();
55 virtual void Exec(Option_t *option);
56
57 // Setters/Getters
58 // general configuration
59 virtual void SetDebugLevel( Int_t level ) { fDebug = level; }
60 virtual void SetMode(Int_t mode) { fMode = mode; }
61 virtual void SetReduceMemoryFootprint(Bool_t flag) { fReduceMemoryFootprint = flag; }
62
63 // histogram settings
64 void SetTrackingEfficiency( const TH1D* hist) { fkTrackingEfficiency = hist; }
65
66 // for event QA
67 void SetTracksInVertex( Int_t val ){ fnTracksVertex = val; }
68 void SetZVertex( Double_t val ) { fZVertex = val; }
69
70 // track cuts
71 void SetTrackEtaCut( Double_t val ) { fTrackEtaCut = val; }
72 void SetPtMin(Double_t val) { fPtMin = val; }
73 void SetFilterBit( UInt_t val ) { fFilterBit = val; }
74 void SetEventSelectionBit( UInt_t val ) { fSelectBit = val; }
75 void SetUseChargeHadrons( Bool_t val ) { fUseChargeHadrons = val; }
76
77 private:
78 AliAnalysisTaskPhiCorrelations(const AliAnalysisTaskPhiCorrelations &det);
79 AliAnalysisTaskPhiCorrelations& operator=(const AliAnalysisTaskPhiCorrelations &det);
80 void AddSettingsTree(); // add list of settings to output list
81 // Analysis methods
82 void AnalyseCorrectionMode(); // main algorithm to get correction maps
83 void AnalyseDataMode(); // main algorithm to get raw distributions
84 void Initialize(); // initialize some common pointer
85
86
87
88 // General configuration
89 Int_t fDebug; // Debug flag
90 Int_t fMode; // fMode = 0: data-like analysis
91 // fMode = 1: corrections analysis
92 Bool_t fReduceMemoryFootprint; // reduce memory consumption by writing less debug histograms
93
94 // Pointers to external UE classes
95 AliAnalyseLeadingTrackUE* fAnalyseUE; //! points to class containing common analysis algorithms
96 AliUEHistograms* fHistos; //! points to class to handle histograms/containers
97 AliUEHistograms* fHistosMixed; //! points to class to handle mixed histograms/containers
98
99 const TH1D* fkTrackingEfficiency; // used for study of bias by tracking
100
101 // Handlers and events
102 AliAODEvent* fAOD; //! AOD Event
103 TClonesArray* fArrayMC; //! Array of MC particles
104 AliInputEventHandler* fInputHandler; //! Generic InputEventHandler
105 AliMCEvent* fMcEvent; //! MC event
106 AliMCEventHandler* fMcHandler; //! MCEventHandler
107
108 // Histogram settings
109 TList* fListOfHistos; // Output list of containers
110
111 // Event QA cuts
112 Int_t fnTracksVertex; // QA tracks pointing to principal vertex (= 3 default)
113 Double_t fZVertex; // Position of Vertex in Z direction
114
115 // Track cuts
116 Double_t fTrackEtaCut; // Eta cut on particles
117 Double_t fPtMin; // Min pT to start correlations
118 UInt_t fFilterBit; // Select tracks from an specific track cut (default 0xFF all track selected)
119 UInt_t fSelectBit; // Select events according to AliAnalysisTaskJetServices bit maps
120 Bool_t fUseChargeHadrons; // Only use charge hadrons
121
122 ClassDef( AliAnalysisTaskPhiCorrelations, 1); // Analysis task for Underlying Event analysis w.r.t. leading track
123 };
124
125#endif
126
127