]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/ITS/AliAnalysisTaskSEImpParRes.h
Enabling creation and reading of the CDB snapshot also in simulation
[u/mrichter/AliRoot.git] / PWGPP / ITS / AliAnalysisTaskSEImpParRes.h
1 #ifndef ALIANALYSISTASKSEIMPPARRES_H
2 #define ALIANALYSISTASKSEIMPPARRES_H
3
4 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*************************************************************************
8 // Class AliAnalysisTaskSEImpParRes
9 // AliAnalysisTaskSE for the study of the track impact parameter resolution
10 //
11 // Authors: xianbao.yuan@pd.infn.it, andrea.dainese@pd.infn.it
12 // 
13 //*************************************************************************
14
15 class TList;
16 class TH1F;
17
18 #include "AliAnalysisTaskSE.h"
19
20 class AliAnalysisTaskSEImpParRes : public AliAnalysisTaskSE {
21
22  public:
23   
24   AliAnalysisTaskSEImpParRes();
25   AliAnalysisTaskSEImpParRes(const char *name);
26   virtual ~AliAnalysisTaskSEImpParRes();
27   
28   
29   // Implementation of interface methods
30   virtual void UserCreateOutputObjects();
31   virtual void UserExec(Option_t *option);
32   virtual void Terminate(Option_t *option);
33   void SetReadMC(Bool_t readMC) { fReadMC=readMC; return; }
34   void SetSelectedPdg(Int_t pdg) { fSelectedPdg=pdg; return; }
35   void SetUseDiamond(Bool_t use=kFALSE) { fUseDiamond=use; return; }
36   void SetSkipTrack(Bool_t skip=kFALSE) { fSkipTrack=skip; return; }
37   void SetMultiplicityRange(Int_t min,Int_t max) { fMinMult=min; fMaxMult=max; }
38
39  private:
40   
41   AliAnalysisTaskSEImpParRes(const AliAnalysisTaskSEImpParRes &source);
42   AliAnalysisTaskSEImpParRes& operator=(const AliAnalysisTaskSEImpParRes& source);  
43   
44   Int_t PtBin(Double_t pt) const;
45   Int_t SinThetaBin(Double_t sintheta) const;
46   Double_t Getd0HistRange(Int_t i) const;
47   Int_t PhiBin(Double_t phi) const;
48   Int_t ClusterTypeOnITSLayer(AliESDtrack *t,Int_t layer) const;
49   Bool_t fReadMC;       // flag used to switch on/off MC reading
50   Int_t  fSelectedPdg;  // only for a given particle species (-1 takes all tracks)
51   Bool_t fUseDiamond;   // use diamond constraint in primary vertex
52   Bool_t fSkipTrack;    // redo primary vertex for each track
53   Int_t  fMinMult; // minimum multiplicity
54   Int_t  fMaxMult; // maximum multiplicity
55   TList *fOutputitspureSARec;  //! ITS StandAlone: with track in vtx 
56   TList *fOutputitspureSASkip; //! ITS StandAlone: w/o track in vtx
57   TList *fOutputallPointRec;   //! ITS+TPC: 6 ITScls, with track in vtx      
58   TList *fOutputallPointSkip;  //! ITS+TPC: 6 ITScls, w/o track in vtx      
59   TList *fOutputpartPointRec;   //! ITS+TPC: >=1 SPD, with track in vtx
60   TList *fOutputpartPointSkip;  //! ITS+TPC: >=1 SPD, w/o track in vtx
61   TList *fOutputonepointSPDRec; //! At least one point on SPD, with track in vtx
62   TList *fOutputonepointSPDSkip;//! At least one point on SPD w/o track in vtx
63   TList *fOutputpostvTracRec;   //! ITS+TPC: >=1 SPD, positives, with track in vtx
64   TList *fOutputpostvTracSkip;  //! ITS+TPC: >=1 SPD, positives, w/o track in vtx
65   TList *fOutputnegtvTracRec;   //! ITS+TPC: >=1 SPD, negatives, with track in vtx
66   TList *fOutputnegtvTracSkip;  //! ITS+TPC: >=1 SPD, negatives, w/o track in vtx
67   TList *fOutputpullAllpointRec; //! pull ITS+TPC: 6 ITScls, with track in vtx
68   TList *fOutputpullAllpointSkip;//! pull ITS+TPC: 6 ITScls, w/o track in vtx
69   TList *fOutputOnlyRefitRec;   //! ITS+TPC: any ITScls, with track in vtx
70   TList *fOutputOnlyRefitSkip; //! ITS+TPC: any ITScls, w/o track in vtx
71   TList *fOutputSinThetaRec;              //! ITS+TPC: TH2F(pt,sintheta), with track in vtx
72   TList *fOutputSinThetaSkip;             //! ITS+TPC: TH2F(pt,sintheta), w/o track in vtx
73   TList *fOutputallPointTrue;    //!
74   TList *fOutputpostvTracTrue;   //!
75   TList *fOutputnegtvTracTrue;   //!
76   TList *fOutputpullAllpointTrue;  //!
77   TList *fOutputphiAllpointSkip;  //!
78   TList *fOutputphiPostvtracSkip;  //!
79   TList *fOutputphiNegtvtracSkip;  //!
80   TList *fOutputclusterTypeSPD01Skip;  //!
81   TList *fOutputclusterTypeSPD02Skip;  //!
82   TList *fOutputclusterTypeSPD03Skip;  //!
83   TList *fOutputclusterTypeSPD11Skip;  //!
84   TList *fOutputclusterTypeSPD12Skip;  //!
85   TList *fOutputclusterTypeSPD13Skip;  //!
86   TList *fOutputparticlePID;  //!
87   TList *fOutputPt;     //!           
88   TH1F  *fNentries;   //! histogram of number of events
89   TH1F  *fEstimVtx;   //! vertex resolution
90
91   Bool_t IsSelectedCentrality(AliESDEvent *esd) const;
92
93   ClassDef(AliAnalysisTaskSEImpParRes,5); // AliAnalysisTaskSE for the study of the impact parameter resolution
94 };
95
96 #endif