]>
Commit | Line | Data |
---|---|---|
9bf660ff | 1 | #ifndef ALIANALYSISTASKSDDRP |
2 | #define ALIANALYSISTASKSDDRP | |
3 | ||
c87da6ba | 4 | /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //************************************************************************* | |
8 | // Class AliAnalysiTaskSDDRP | |
9 | // AliAnalysisTaskSE to extract from ESD + ESDfreinds + ITS rec points | |
10 | // performance plots for SDD detector | |
11 | // | |
12 | // Author: F. Prino, prino@to.infn.it | |
13 | //************************************************************************* | |
14 | ||
9bf660ff | 15 | class TList; |
16 | class TH1F; | |
c87da6ba | 17 | class TH2F; |
9bf660ff | 18 | class TTree; |
19 | class TString; | |
20 | class AliESDEvent; | |
21 | class AliESDfriend; | |
22 | class AliITSresponseSDD; | |
31a96e36 | 23 | class AliTriggerConfiguration; |
9bf660ff | 24 | |
25 | #include "AliAnalysisTaskSE.h" | |
26 | ||
27 | class AliAnalysisTaskSDDRP : public AliAnalysisTaskSE { | |
28 | ||
29 | public: | |
30 | ||
31 | AliAnalysisTaskSDDRP(); | |
32 | virtual ~AliAnalysisTaskSDDRP(); | |
33 | virtual void UserExec(Option_t *option); | |
34 | virtual void UserCreateOutputObjects(); | |
35 | virtual void Terminate(Option_t *option); | |
36 | ||
c87da6ba | 37 | void SetUseITSstandaloneTracks(Bool_t use){ |
38 | fUseITSsaTracks=use; | |
9bf660ff | 39 | } |
40 | void SetMinITSPoints(Int_t minp=3){ | |
41 | fMinITSpts=minp; | |
42 | } | |
c87da6ba | 43 | void SetMinTPCPoints(Int_t minp=70){ |
44 | fMinTPCpts=minp; | |
45 | } | |
31a96e36 | 46 | void SetTriggerClass(TString trclass) { |
47 | fTriggerClass=trclass; | |
48 | } | |
49 | void SetUseOnlyEventsWithSDD(Bool_t use=kTRUE){ | |
50 | fOnlyEventsWithSDD=use; | |
9bf660ff | 51 | } |
c87da6ba | 52 | void SetMinPfordEdx(Float_t minp=0.5){ |
9bf660ff | 53 | fMinPfordEdx=minp; |
54 | } | |
70b1033a | 55 | void SetExcludeBadModules(Bool_t opt=kTRUE){ |
56 | fExcludeBadMod=opt; | |
57 | } | |
9bf660ff | 58 | Bool_t CheckModule(Int_t lay, Int_t lad, Int_t det) const; |
31a96e36 | 59 | |
9bf660ff | 60 | |
61 | private: | |
62 | AliAnalysisTaskSDDRP(const AliAnalysisTaskSDDRP &source); | |
63 | AliAnalysisTaskSDDRP& operator=(const AliAnalysisTaskSDDRP &source); | |
64 | ||
70b1033a | 65 | TList* fOutput; //! QA histos |
9bf660ff | 66 | TH1F* fHistNEvents; //! histo with N of events |
307b389f | 67 | TH1F* fHistCluInLay; //! histo with number of tracks per layer |
c87da6ba | 68 | TH1F* fHistAllPMod; //! histo of tracks crossing SDD modules |
69 | TH1F* fHistGoodPMod; //! histo of tracks with good point in SDD module | |
70 | TH1F* fHistBadRegMod; //! histo of tracks crossing bad region of SDD mod. | |
71 | TH1F* fHistMissPMod; //! histo of tracks with missing point in SDD mod. | |
72 | TH1F* fHistSkippedMod; //! histo of tracks skipping an SDD module | |
73 | TH1F* fHistOutAccMod; //! histo of tracks out of accept. in SDD module | |
74 | TH1F* fHistNoRefitMod; //! histo of points rejected in refit vs. SDD mod. | |
307b389f | 75 | |
76 | TH1F* fHistAllPXloc; //! histo of xlocal for track hit points | |
77 | TH1F* fHistGoodPXloc; //! histo of xlocal for track hit points + good clu | |
78 | TH1F* fHistBadRegXloc; //! histo of xlocal for track hit points + bad reg. | |
79 | TH1F* fHistMissPXloc; //! histo of xlocal for track hit points + miss clu | |
80 | TH1F* fHistAllPZloc; //! histo of zlocal for track hit points | |
81 | TH1F* fHistGoodPZloc; //! histo of zlocal for track hit points + good clu | |
82 | TH1F* fHistBadRegZloc; //! histo of zlocal for track hit points + bad reg. | |
83 | TH1F* fHistMissPZloc; //! histo of zlocal for track hit points + miss clu | |
84 | ||
c87da6ba | 85 | TH2F* fHistdEdxL3VsP; //! 2D histo of dE/dx vs. momentum -- layer 3 |
86 | TH2F* fHistdEdxL4VsP; //! 2D histo of dE/dx vs. momentum -- layer 4 | |
87 | TH2F* fHistdEdxVsMod; //! 2D histo of dE/dx vs. module number | |
9bf660ff | 88 | TH1F* fRecPMod; //! histo with module occupancy (RecP) |
89 | TH1F* fTrackPMod; //! histo with module occupancy (TrP) | |
90 | TH1F* fGoodAnMod; //! histo good anodes per module | |
91 | TH1F* fRecPLadLay3; //! histo with ladder occupancy on layer3 (RecP) | |
92 | TH1F* fRecPLadLay4; //! histo with ladder occupancy on layer4 (RecP) | |
93 | TH1F* fTrackPLadLay3; //! histo with ladder occupancy on layer3 (TrP) | |
94 | TH1F* fTrackPLadLay4; //! histo with ladder occupancy on layer4 (TrP) | |
95 | TH1F* fGoodAnLadLay3; //! histo good anodes per ladder on layer3 | |
96 | TH1F* fGoodAnLadLay4; //! histo good anodes per ladder on layer4 | |
97 | TH1F* fDriftTimeRP; //! histo with drift time distribution (RecP) | |
c87da6ba | 98 | TH1F* fDriftTimeTPAll; //! histo with drift time distribution (TrP) |
99 | TH1F* fDriftTimeTPNoExtra; //! histo with drift time distribution (TrP) | |
100 | TH1F* fDriftTimeTPExtra;//! histo with drift time distribution (TrP) | |
9bf660ff | 101 | TH1F* fSignalTime[8]; //! histos of dE/dx in time windows |
307b389f | 102 | TH2F* fCluSizAnVsTime; //! Histo with anode cluster size vs. time |
103 | TH2F* fCluSizTbVsTime; //! Histo with time-bin cluster size vs. time | |
9bf660ff | 104 | AliITSresponseSDD* fResp; // ResponseSDD object |
31a96e36 | 105 | AliTriggerConfiguration* fTrigConfig; // trigger configuration object |
c87da6ba | 106 | Bool_t fUseITSsaTracks; // Flag for using standalone ITS tracs |
107 | Int_t fMinITSpts; // Minimum number of ITS points per track | |
108 | Int_t fMinTPCpts; // Minimum number of TPC points per track | |
9bf660ff | 109 | Float_t fMinPfordEdx; // Minimum momentum for dE/dx |
31a96e36 | 110 | TString fTriggerClass; // Name of selected trigger class |
111 | Bool_t fOnlyEventsWithSDD; // Flag to use only trigger cluster with SDD | |
70b1033a | 112 | Bool_t fExcludeBadMod; // Flag to reject bad modules |
113 | ||
31a96e36 | 114 | ClassDef(AliAnalysisTaskSDDRP,5); |
9bf660ff | 115 | }; |
116 | ||
117 | ||
118 | #endif |