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