]>
Commit | Line | Data |
---|---|---|
77e570bf | 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; } | |
cbddc2a0 | 35 | void SetUseDiamond(Bool_t use=kFALSE) { fUseDiamond=use; return; } |
47f68c78 | 36 | void SetSkipTrack(Bool_t skip=kFALSE) { fSkipTrack=skip; return; } |
66cefb1c | 37 | void SetMultiplicityRange(Int_t min,Int_t max) { fMinMult=min; fMaxMult=max; } |
77e570bf | 38 | |
39 | private: | |
40 | ||
41 | AliAnalysisTaskSEImpParRes(const AliAnalysisTaskSEImpParRes &source); | |
42 | AliAnalysisTaskSEImpParRes& operator=(const AliAnalysisTaskSEImpParRes& source); | |
43 | ||
44 | Int_t PtBin(Double_t pt) const; | |
b2d79ac3 | 45 | Int_t SinThetaBin(Double_t sintheta) const; |
46 | Double_t Getd0HistRange(Int_t i) const; | |
cbddc2a0 | 47 | Int_t PhiBin(Double_t phi) const; |
48 | Int_t ClusterTypeOnITSLayer(AliESDtrack *t,Int_t layer) const; | |
77e570bf | 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) | |
a979993d | 51 | Bool_t fUseDiamond; // use diamond constraint in primary vertex |
47f68c78 | 52 | Bool_t fSkipTrack; // redo primary vertex for each track |
66cefb1c | 53 | Int_t fMinMult; // minimum multiplicity |
54 | Int_t fMaxMult; // maximum multiplicity | |
77e570bf | 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 | |
b2d79ac3 | 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 | |
cbddc2a0 | 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; //! | |
319532c0 | 86 | TList *fOutputparticlePID; //! |
77e570bf | 87 | TList *fOutputPt; //! |
88 | TH1F *fNentries; //! histogram of number of events | |
89 | TH1F *fEstimVtx; //! vertex resolution | |
90 | ||
66cefb1c | 91 | Bool_t IsSelectedCentrality(AliESDEvent *esd) const; |
92 | ||
93 | ClassDef(AliAnalysisTaskSEImpParRes,5); // AliAnalysisTaskSE for the study of the impact parameter resolution | |
77e570bf | 94 | }; |
95 | ||
96 | #endif |