]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/ITS/AliAnalysisTaskSDDRP.h
ITS QA task with check for SDD in trigger cluster (Francesco, Andrea)
[u/mrichter/AliRoot.git] / PWGPP / ITS / AliAnalysisTaskSDDRP.h
1 #ifndef ALIANALYSISTASKSDDRP
2 #define ALIANALYSISTASKSDDRP
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 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
15 class TList;
16 class TH1F;
17 class TH2F;
18 class TTree;
19 class TString;
20 class AliESDEvent;
21 class AliESDfriend;
22 class AliITSresponseSDD;
23 class AliTriggerConfiguration;
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
37   void SetUseITSstandaloneTracks(Bool_t use){
38     fUseITSsaTracks=use;
39   }
40   void SetMinITSPoints(Int_t minp=3){
41     fMinITSpts=minp;
42   }
43   void SetMinTPCPoints(Int_t minp=70){
44     fMinTPCpts=minp;
45   }
46   void SetTriggerClass(TString trclass) {
47     fTriggerClass=trclass;
48   }
49   void SetUseOnlyEventsWithSDD(Bool_t use=kTRUE){
50     fOnlyEventsWithSDD=use;
51   }
52   void SetMinPfordEdx(Float_t minp=0.5){
53     fMinPfordEdx=minp;
54   }
55   void SetExcludeBadModules(Bool_t opt=kTRUE){
56     fExcludeBadMod=opt;
57   }
58   Bool_t CheckModule(Int_t lay, Int_t lad, Int_t det) const;
59  
60
61  private:
62   AliAnalysisTaskSDDRP(const AliAnalysisTaskSDDRP &source);
63   AliAnalysisTaskSDDRP& operator=(const AliAnalysisTaskSDDRP &source);
64   
65   TList*  fOutput;          //! QA histos
66   TH1F*   fHistNEvents;     //! histo with N of events  
67   TH1F*   fHistCluInLay;    //! histo with number of tracks per layer
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.
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
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
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)
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)
101   TH1F*   fSignalTime[8];   //! histos of dE/dx in time windows
102   TH2F*   fCluSizAnVsTime;  //! Histo with anode cluster size vs. time
103   TH2F*   fCluSizTbVsTime;  //! Histo with time-bin cluster size vs. time
104   AliITSresponseSDD* fResp; // ResponseSDD object
105   AliTriggerConfiguration* fTrigConfig; // trigger configuration object
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
109   Float_t fMinPfordEdx;     // Minimum momentum for dE/dx
110   TString fTriggerClass;    // Name of selected trigger class
111   Bool_t  fOnlyEventsWithSDD; // Flag to use only trigger cluster with SDD
112   Bool_t  fExcludeBadMod;   // Flag to reject bad modules
113  
114   ClassDef(AliAnalysisTaskSDDRP,5);
115 };
116
117
118 #endif