]>
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; | |
31a96e36 | 17 | class AliTriggerConfiguration; |
77e570bf | 18 | |
19 | #include "AliAnalysisTaskSE.h" | |
20 | ||
21 | class AliAnalysisTaskSEImpParRes : public AliAnalysisTaskSE { | |
22 | ||
23 | public: | |
24 | ||
25 | AliAnalysisTaskSEImpParRes(); | |
26 | AliAnalysisTaskSEImpParRes(const char *name); | |
27 | virtual ~AliAnalysisTaskSEImpParRes(); | |
28 | ||
29 | ||
30 | // Implementation of interface methods | |
31 | virtual void UserCreateOutputObjects(); | |
32 | virtual void UserExec(Option_t *option); | |
33 | virtual void Terminate(Option_t *option); | |
34 | void SetReadMC(Bool_t readMC) { fReadMC=readMC; return; } | |
35 | void SetSelectedPdg(Int_t pdg) { fSelectedPdg=pdg; return; } | |
cbddc2a0 | 36 | void SetUseDiamond(Bool_t use=kFALSE) { fUseDiamond=use; return; } |
47f68c78 | 37 | void SetSkipTrack(Bool_t skip=kFALSE) { fSkipTrack=skip; return; } |
66cefb1c | 38 | void SetMultiplicityRange(Int_t min,Int_t max) { fMinMult=min; fMaxMult=max; } |
31a96e36 | 39 | void SetCheckSDDIsIn(Int_t check=0) { fCheckSDDIsIn=check; } |
40 | void SetTriggerClass(TString tclass="") { fTriggerClass=tclass; } | |
41 | void SetOCDBPath(TString path="") { fOCDBPath=path; } | |
77e570bf | 42 | |
43 | private: | |
44 | ||
45 | AliAnalysisTaskSEImpParRes(const AliAnalysisTaskSEImpParRes &source); | |
46 | AliAnalysisTaskSEImpParRes& operator=(const AliAnalysisTaskSEImpParRes& source); | |
47 | ||
48 | Int_t PtBin(Double_t pt) const; | |
b2d79ac3 | 49 | Int_t SinThetaBin(Double_t sintheta) const; |
50 | Double_t Getd0HistRange(Int_t i) const; | |
cbddc2a0 | 51 | Int_t PhiBin(Double_t phi) const; |
52 | Int_t ClusterTypeOnITSLayer(AliESDtrack *t,Int_t layer) const; | |
77e570bf | 53 | Bool_t fReadMC; // flag used to switch on/off MC reading |
54 | Int_t fSelectedPdg; // only for a given particle species (-1 takes all tracks) | |
a979993d | 55 | Bool_t fUseDiamond; // use diamond constraint in primary vertex |
47f68c78 | 56 | Bool_t fSkipTrack; // redo primary vertex for each track |
66cefb1c | 57 | Int_t fMinMult; // minimum multiplicity |
58 | Int_t fMaxMult; // maximum multiplicity | |
31a96e36 | 59 | Int_t fCheckSDDIsIn; // check for ITSSDD in the trigger cluster: 0 no check; !=0 check from OCDB |
60 | TString fTriggerClass; // trigger class to be inspected | |
61 | AliTriggerConfiguration *fTrigConfig; // trigger configuration (read from OCDB) | |
62 | TString fOCDBPath; // to the OCDB | |
77e570bf | 63 | TList *fOutputitspureSARec; //! ITS StandAlone: with track in vtx |
64 | TList *fOutputitspureSASkip; //! ITS StandAlone: w/o track in vtx | |
65 | TList *fOutputallPointRec; //! ITS+TPC: 6 ITScls, with track in vtx | |
66 | TList *fOutputallPointSkip; //! ITS+TPC: 6 ITScls, w/o track in vtx | |
67 | TList *fOutputpartPointRec; //! ITS+TPC: >=1 SPD, with track in vtx | |
68 | TList *fOutputpartPointSkip; //! ITS+TPC: >=1 SPD, w/o track in vtx | |
69 | TList *fOutputonepointSPDRec; //! At least one point on SPD, with track in vtx | |
70 | TList *fOutputonepointSPDSkip;//! At least one point on SPD w/o track in vtx | |
71 | TList *fOutputpostvTracRec; //! ITS+TPC: >=1 SPD, positives, with track in vtx | |
72 | TList *fOutputpostvTracSkip; //! ITS+TPC: >=1 SPD, positives, w/o track in vtx | |
73 | TList *fOutputnegtvTracRec; //! ITS+TPC: >=1 SPD, negatives, with track in vtx | |
74 | TList *fOutputnegtvTracSkip; //! ITS+TPC: >=1 SPD, negatives, w/o track in vtx | |
75 | TList *fOutputpullAllpointRec; //! pull ITS+TPC: 6 ITScls, with track in vtx | |
76 | TList *fOutputpullAllpointSkip;//! pull ITS+TPC: 6 ITScls, w/o track in vtx | |
77 | TList *fOutputOnlyRefitRec; //! ITS+TPC: any ITScls, with track in vtx | |
78 | TList *fOutputOnlyRefitSkip; //! ITS+TPC: any ITScls, w/o track in vtx | |
b2d79ac3 | 79 | TList *fOutputSinThetaRec; //! ITS+TPC: TH2F(pt,sintheta), with track in vtx |
80 | TList *fOutputSinThetaSkip; //! ITS+TPC: TH2F(pt,sintheta), w/o track in vtx | |
cbddc2a0 | 81 | TList *fOutputallPointTrue; //! |
82 | TList *fOutputpostvTracTrue; //! | |
83 | TList *fOutputnegtvTracTrue; //! | |
84 | TList *fOutputpullAllpointTrue; //! | |
85 | TList *fOutputphiAllpointSkip; //! | |
86 | TList *fOutputphiPostvtracSkip; //! | |
87 | TList *fOutputphiNegtvtracSkip; //! | |
319532c0 | 88 | TList *fOutputparticlePID; //! |
77e570bf | 89 | TList *fOutputPt; //! |
90 | TH1F *fNentries; //! histogram of number of events | |
91 | TH1F *fEstimVtx; //! vertex resolution | |
92 | ||
66cefb1c | 93 | Bool_t IsSelectedCentrality(AliESDEvent *esd) const; |
94 | ||
31a96e36 | 95 | ClassDef(AliAnalysisTaskSEImpParRes,7); // AliAnalysisTaskSE for the study of the impact parameter resolution |
77e570bf | 96 | }; |
97 | ||
98 | #endif |