]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/global/AliAnalysisTaskVertexESD.h
Forgotten .h
[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 TH1F;
21 class TH2F;
22 class AliESDEvent;
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   void           SetRerecoVertexTPC(Bool_t flag=kTRUE) { fRecoVtxTPC=flag; }
41   void           SetRerecoVertexITSTPC(Bool_t flag=kTRUE) { fRecoVtxITSTPC=flag; }
42   
43  protected:
44   Bool_t       fReadMC;         // read Monte Carlo
45   Bool_t       fRecoVtxTPC;     // reco TPC vertex on the flight
46   Bool_t       fRecoVtxITSTPC;  // reco ITS+TPC vertex on the flight
47   AliESDEvent *fESD;            // ESD object
48   TList       *fOutput;         //! list send on output slot 0
49   TNtuple     *fNtupleVertexESD;//! output ntuple
50   TH2F        *fhTrackRefs;     //! output histo
51   TH1F *fhVtxTPCx;  //! output histo
52   TH1F *fhVtxTPCy;  //! output histo
53   TH1F *fhVtxTPCz;  //! output histo
54   TH1F *fhVtxTRKx;  //! output histo
55   TH1F *fhVtxTRKy;  //! output histo
56   TH1F *fhVtxTRKz;  //! output histo
57   TH1F *fhVtxSPDx;  //! output histo
58   TH1F *fhVtxSPDy;  //! output histo
59   TH1F *fhVtxSPDz3D;  //! output histo
60   TH1F *fhVtxSPDzZ;  //! output histo
61   TH2F *fhVtxTPCvsSPDx;  //! output histo
62   TH2F *fhVtxTPCvsSPDy;  //! output histo
63   TH2F *fhVtxTPCvsSPDz;  //! output histo
64   TH2F *fhVtxTRKvsSPDx;  //! output histo
65   TH2F *fhVtxTRKvsSPDy;  //! output histo
66   TH2F *fhVtxTRKvsSPDz;  //! output histo
67   TH2F *fhVtxSPDContrvsMult;  //! output histo
68   TH2F *fhVtxTRKContrvsTrks56;  //! output histo
69   TH2F *fhVtxTPCContrvsTrks;  //! output histo
70
71  private:    
72
73   AliAnalysisTaskVertexESD(const AliAnalysisTaskVertexESD&); // not implemented
74   AliAnalysisTaskVertexESD& operator=(const AliAnalysisTaskVertexESD&); // not implemented
75   AliESDVertex* ReconstructPrimaryVertexTPC() const;
76   AliESDVertex* ReconstructPrimaryVertexITSTPC() const;
77   
78   ClassDef(AliAnalysisTaskVertexESD,3); // primary vertex analysis
79 };
80
81 #endif