2d35575d386cc1e0de91c80c4ba573fc7a047e44
[u/mrichter/AliRoot.git] / PWG1 / global / AliAnalysisTaskVertexESD.h
1 #ifndef AliAnalysisTaskVertexESD_cxx
2 #define AliAnalysisTaskVertexESD_cxx
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*************************************************************************
8 // Class AliAnalysisTaskVertexESD
9 // AliAnalysisTask to extract from ESD the information for the analysis
10 // of the primary vertex reconstruction efficiency and resolution
11 // (for MC events) and distributions (for real data). Three vertices:
12 // - SPD tracklets
13 // - ITS+TPC tracks
14 // - TPC-only tracks
15 //
16 // Author: A.Dainese, andrea.dainese@pd.infn.it
17 //*************************************************************************
18
19 class TNtuple;
20 class TH2F;
21 class AliESDEvent;
22 class AliESDfriend;
23 class AliESDVertex;
24
25 #include "AliAnalysisTask.h"
26
27 class AliAnalysisTaskVertexESD : public AliAnalysisTask 
28 {
29  public:
30
31   AliAnalysisTaskVertexESD(const char *name = "AliAnalysisTaskVertexESD");
32   virtual ~AliAnalysisTaskVertexESD(); 
33   
34   virtual void   ConnectInputData(Option_t *);
35   virtual void   CreateOutputObjects();
36   virtual void   Exec(Option_t *option);
37   virtual void   Terminate(Option_t *);
38   Bool_t         GetReadMC() const { return fReadMC; }
39   void           SetReadMC(Bool_t flag=kTRUE) { fReadMC=flag; }
40   
41  protected:
42   Bool_t       fReadMC;         // read Monte Carlo
43   AliESDEvent *fESD;            // ESD object
44   AliESDfriend *fESDfriend;     // ESD friend object
45   TList       *fOutput;         //! list send on output slot 0
46   TNtuple     *fNtupleVertexESD;//! output ntuple
47   TH2F        *fhTrackPoints;   //! output histo
48   TH2F        *fhTrackRefs;     //! output histo
49
50  private:    
51
52   AliAnalysisTaskVertexESD(const AliAnalysisTaskVertexESD&); // not implemented
53   AliAnalysisTaskVertexESD& operator=(const AliAnalysisTaskVertexESD&); // not implemented
54   AliESDVertex* ReconstructPrimaryVertexTPC();
55   
56   ClassDef(AliAnalysisTaskVertexESD,1); // primary vertex analysis
57 };
58
59 #endif